prokat/api/soft/ace/ace-master/tool/release-api-docs.sh
2025-06-16 18:28:08 +05:00

68 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -e
cd `dirname $0`/..
SOURCE=`pwd`
mkdir -p .apigenerator
# check if api dir is clean
if ! [ -f .apigenerator/.git/HEAD ]; then
git clone git@github.com:ajaxorg/ace-api-docs.git .apigenerator
fi
pushd .apigenerator
git pull origin master # fetch
rm -rf ./doc
npm i
export ACE_VERSION="v$(node -p 'require("../package.json").version')"
node generateAnnotations.js ../src
node generateNewDts.js ace.d.ts
node generateDoc.js ./doc
rm -rf ./doc-repo
git worktree prune
git worktree add --force --no-checkout doc-repo origin/gh-pages
cd doc-repo
mv ../doc/* .
git reset origin/gh-pages
git add .
if [ "$(git status --porcelain)" ]; then
git commit -m "build api reference $ACE_VERSION"
git push origin HEAD:gh-pages --force
fi
popd
git worktree prune
rm -rf .apigenerator/ace-gh-pages
git worktree add --force --no-checkout .apigenerator/ace-gh-pages HEAD
pushd .apigenerator/ace-gh-pages
git reset > /dev/null
git rm -rf api || :
mv ../doc-repo ./api
echo '[submodule "doc/wiki"]
path = doc/wiki
url = https://github.com/ajaxorg/ace.wiki.git
[submodule "build"]
path = build
url = https://github.com/ajaxorg/ace-builds.git
[submodule "api"]
path = api
url = https://github.com/ajaxorg/ace-api-docs.git' > .gitmodules
git add .gitmodules api
git commit -m "build api reference $ACE_VERSION"
git push --progress "origin" HEAD:refs/heads/gh-pages --force
popd