12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- # Extract the OpenAPI specification.
- # 1) Check that there is only one parameter
- # of Wekan version number:
- if [ $# -ne 1 ]
- then
- echo "Syntax with Wekan version number:"
- echo " ./rebuild-docs.sh 5.10"
- exit 1
- fi
- # 2) If esprima-python directory does not exist,
- # install dependencies.
- if [ ! -d ~/python/esprima-python ]; then
- sudo apt-get -y install python3-pip python3-swagger-spec-validator python3-wheel python3-setuptools
- # Install older version of api2html that works with Node.js 14
- sudo npm install -g api2html@0.3.0 || sudo npm install -g swagger-ui-watcher
- (mkdir -p ~/python && cd ~/python && git clone --depth 1 -b master https://github.com/Kronuz/esprima-python)
- (cd ~/python/esprima-python && git fetch origin pull/20/head:delete_fix && git checkout delete_fix && sudo python3 setup.py install --record files.txt)
- #(cd ~/python/esprima-python && git fetch origin pull/20/head:delete_fix && git checkout delete_fix && sudo pip3 install .)
- # temporary fix until https://github.com/Kronuz/esprima-python/pull/20 gets merged
- # a) Generating docs works on Kubuntu 21.10 with this,
- # but generating Sandstorm WeKan package does not work
- # https://github.com/wekan/wekan/issues/4280
- # https://github.com/sandstorm-io/sandstorm/issues/3600
- # sudo pip3 install .
- # b) Generating docs Works on Linux Mint with this,
- # and also generating Sandstorm WeKan package works:
- # sudo python3 setup.py install --record files.txt
- fi
- # 2) Go to Wekan repo directory
- cd ~/repos/wekan
- # 3) Create api docs directory, if it does not exist
- if [ ! -d public/api ]; then
- mkdir -p public/api
- fi
- # 4) Generate docs with api2html or fallback to swagger-ui-watcher
- python3 ./openapi/generate_openapi.py --release v$1 > ./public/api/wekan.yml
- if ! api2html -c ./public/logo-header.png -o ./public/api/wekan.html ./public/api/wekan.yml; then
- swagger-ui-watcher ./public/api/wekan.yml -p 8080
- fi
- # Copy docs to bundle
- #cp -pR ./public/api ~/repos/wekan/.build/bundle/programs/web.browser/app/
|