#!/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