Something went wrong on our end
Select Git revision
test_unit_database.py
-
Martin Weise authoredMartin Weise authored
build-docs.sh 2.95 KiB
#!/bin/bash
VERSIONS_JSON=""
function clean_cache {
echo "Removing cache from directory ./site ./lib/python/docs/build"
rm -rf ./site ./lib/python/docs/build
}
function generate_sphinx {
BRANCH="release-$1"
echo "==================================================="
echo "Building LIB for version $1 on branch $BRANCH"
echo "==================================================="
git reset --hard && git checkout "$BRANCH"
pip install -r ./requirements.txt > /dev/null
mkdir -p ./final
sed -i -e "s/__APPVERSION__/${APP_VERSION}/g" ./lib/python/setup.py ./lib/python/pyproject.toml ./lib/python/docs/conf.py ./lib/python/docs/index.rst ./lib/python/docs/index.rst
sphinx-apidoc -o ./lib/python/docs/source ./lib/python/dbrepo
sphinx-build -M html ./lib/python/docs/ ./lib/python/docs/build/
cp -r ./lib/python/docs/build/html "./final/$1/sphinx"
clean_cache
}
function generate_docs {
BRANCH="release-$1"
echo "==================================================="
echo "Building DOCS for version $1 on branch $BRANCH"
echo "==================================================="
git reset --hard && git checkout "$BRANCH"
pip install -r ./requirements.txt > /dev/null
mkdir -p ./final
if [ "$1" = "latest" ]; then
VERSIONS_JSON=$(cat ./versions.json)
fi
find .docs/ -type f -exec sed -i -e "s/__APPVERSION__/$1/g" {} \;
find .docs/ -type f -exec sed -i -e "s/__CHARTVERSION__/$1/g" {} \;
mkdocs build > /dev/null && cp -r ./site "./final/$1"
cp -r "./swagger/$1" "./final/$1/swagger"
echo $VERSIONS_JSON > "./final/$1/versions.json"
clean_cache
}
function generate_api {
BRANCH="release-$1"
echo "==================================================="
echo "Building API for version $1 on branch $BRANCH"
echo "==================================================="
git reset --hard && git checkout "$BRANCH"
bash .docs/.swagger/swagger-site.sh
find ./site -type f -exec sed -i -e "s/__APPVERSION__/$1/g" {} \;
mkdir -p "./swagger/$1"
cp -r ./site/* "./swagger/$1/"
clean_cache
}
# usage
if [ -z "$DOC_VERSIONS" ]; then
echo "Variable DOC_VERSIONS not set"
exit 1
fi
versions=(${DOC_VERSIONS//,/ })
# usage
if [ -z "$APP_VERSION" ]; then
echo "Variable APP_VERSION not set"
exit 2
fi
echo "==================================================="
echo "APP_VERSION=$APP_VERSION"
echo "==================================================="
# ensure branches exist on machine
git fetch
generate_api "latest"
generate_docs "latest"
generate_sphinx "latest"
# versions
for i in "${!versions[@]}"; do
version="${versions[i]}"
generate_api "$version"
generate_docs "$version"
generate_sphinx "$version" || true
done
# finalization
echo "==================================================="
echo "Moving HTML redirect and JSON versions to /"
cp ./final/${APP_VERSION}/index.html.tpl ./final/index.html
cp ./final/${APP_VERSION}/versions.json ./final/versions.json
echo "==================================================="