56 lines
1.4 KiB
Bash
Executable File
56 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env sh
|
|
set -eu
|
|
|
|
if [ "$#" -gt 1 ]; then
|
|
echo "usage: $0 [WIKI_REPOSITORY_URL]" >&2
|
|
exit 2
|
|
fi
|
|
|
|
script_directory=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
|
|
repository_root=$(CDPATH= cd -- "$script_directory/../.." && pwd)
|
|
wiki_repository_url=${1:-}
|
|
temporary_directory=$(mktemp -d "${TMPDIR:-/tmp}/openuf-wiki.XXXXXX")
|
|
|
|
if [ -z "$wiki_repository_url" ]; then
|
|
origin_url=$(git -C "$repository_root" config --get remote.origin.url || true)
|
|
if [ -z "$origin_url" ]; then
|
|
echo "no origin remote found; pass the Gitea Wiki repository URL" >&2
|
|
exit 2
|
|
fi
|
|
case $origin_url in
|
|
*.git) wiki_repository_url=${origin_url%.git}.wiki.git ;;
|
|
*) wiki_repository_url=${origin_url}.wiki.git ;;
|
|
esac
|
|
fi
|
|
|
|
cleanup() {
|
|
rm -rf -- "$temporary_directory"
|
|
}
|
|
trap cleanup EXIT HUP INT TERM
|
|
|
|
"$script_directory/generate-wiki.py"
|
|
"$script_directory/generate-wiki.py" --check
|
|
|
|
git clone -- "$wiki_repository_url" "$temporary_directory/wiki"
|
|
|
|
for page in \
|
|
Home.md \
|
|
Developer-Guide.md \
|
|
Call-Graph.md \
|
|
Runtime-Flow.md \
|
|
_Sidebar.md
|
|
do
|
|
cp -- "$repository_root/wiki/$page" "$temporary_directory/wiki/$page"
|
|
done
|
|
|
|
cd "$temporary_directory/wiki"
|
|
git add -- Home.md Developer-Guide.md Call-Graph.md Runtime-Flow.md _Sidebar.md
|
|
|
|
if git diff --cached --quiet; then
|
|
echo "Gitea Wiki is already current"
|
|
exit 0
|
|
fi
|
|
|
|
git commit -m "docs: update generated developer wiki"
|
|
git push origin HEAD
|