blob: 78637ee027017fbdc2e27c28b02bebf13a4e86b5 [file]
#!/bin/bash
set -e
TAG_NAME="test"
# Build and Generate Javadoc
# POM is configured to output to target/site/apidocs
echo "ECHO: mvn clean javadoc:javadoc"
mvn clean javadoc:javadoc
echo "ECHO: git fetch origin gh-pages"
git fetch origin gh-pages
echo "ECHO: Create worktree"
git worktree add -B gh-pages ./gh-pages-dir origin/gh-pages
EXIT_CODE=0
(
set -e
TARGET_PATH="gh-pages-dir/docs/$TAG_NAME"
mkdir -p "$TARGET_PATH"
cp -a target/site/apidocs/. "$TARGET_PATH/"
cd gh-pages-dir
echo "ECHO: git pull origin gh-pages --rebase"
git pull origin gh-pages --rebase
echo "ECHO: git add docs/$TAG_NAME"
git add "docs/$TAG_NAME"
if git diff --staged --quiet; then
echo "ECHO: No changes detected for Javadoc $TAG_NAME."
else
echo "ECHO: Changes detected for Javadoc $TAG_NAME."
echo "ECHO: git status:"
git status
echo "ECHO: git commit ..."
git commit -m "Manual Javadoc deployment for tag $TAG_NAME"
echo "ECHO: git push origin gh-pages"
git push origin gh-pages
fi
) || EXIT_CODE=$?
# Cleanup
echo "ECHO: Cleaning up worktree..."
git worktree remove --force ./gh-pages-dir || true
# Check the exit code and report success or failure
if [ $EXIT_CODE -eq 0 ]; then
echo "ECHO: Javadoc for $TAG_NAME is now live on gh-pages."
else
echo "ECHO: Javadoc deployment failed for $TAG_NAME."
fi
# Final exit
exit $EXIT_CODE