aboutsummaryrefslogtreecommitdiffstats
path: root/Software/External Repositories/Protobuf/protobuf-c-master/.commit_docs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Software/External Repositories/Protobuf/protobuf-c-master/.commit_docs.sh')
-rw-r--r--Software/External Repositories/Protobuf/protobuf-c-master/.commit_docs.sh76
1 files changed, 76 insertions, 0 deletions
diff --git a/Software/External Repositories/Protobuf/protobuf-c-master/.commit_docs.sh b/Software/External Repositories/Protobuf/protobuf-c-master/.commit_docs.sh
new file mode 100644
index 000000000..e4539d861
--- /dev/null
+++ b/Software/External Repositories/Protobuf/protobuf-c-master/.commit_docs.sh
@@ -0,0 +1,76 @@
+#!/bin/bash -e
+
+# from git-sh-setup.sh
+require_clean_work_tree () {
+ git rev-parse --verify HEAD >/dev/null || exit 1
+ git update-index -q --ignore-submodules --refresh
+ err=0
+
+ if ! git diff-files --quiet --ignore-submodules
+ then
+ echo >&2 "Cannot $0: You have unstaged changes."
+ err=1
+ fi
+
+ if ! git diff-index --cached --quiet --ignore-submodules HEAD --
+ then
+ if [ $err = 0 ]
+ then
+ echo >&2 "Cannot $0: Your index contains uncommitted changes."
+ else
+ echo >&2 "Additionally, your index contains uncommitted changes."
+ fi
+ err=1
+ fi
+
+ if [ $err = 1 ]
+ then
+ test -n "$2" && echo >&2 "$2"
+ exit 1
+ fi
+}
+
+require_clean_work_tree
+
+if ! which doxygen >/dev/null; then
+ echo "Error: doxygen is required"
+ exit 1
+fi
+
+DOXYGEN_VERSION="$(doxygen --version)"
+
+DOC_BRANCH="gh-pages"
+ORIG_BRANCH="$(git rev-parse --abbrev-ref HEAD)"
+ORIG_COMMIT="$(git describe --match=NeVeRmAtCh --always --abbrev=40 --dirty)"
+
+TOP="$(pwd)"
+export GIT_DIR="$TOP/.git"
+
+TMPDIR="$(mktemp --tmpdir=$TOP -d)"
+HTMLDIR="$TMPDIR/_build/html"
+INDEX_FILE="$GIT_DIR/index.${DOC_BRANCH}"
+
+rm -f "$INDEX_FILE"
+
+trap "{ cd $TOP; git checkout --force ${ORIG_BRANCH}; rm -f $INDEX_FILE; rm -rf $TMPDIR; }" EXIT
+
+cd "$TMPDIR"
+git reset --hard HEAD
+
+./autogen.sh
+mkdir _build
+cd _build
+../configure
+make html
+
+if ! git checkout "${DOC_BRANCH}"; then
+ git checkout --orphan "${DOC_BRANCH}"
+fi
+
+touch "$HTMLDIR/.nojekyll"
+echo lib.protobuf-c.io > "$HTMLDIR/CNAME"
+
+GIT_INDEX_FILE="$INDEX_FILE" GIT_WORK_TREE="$HTMLDIR" \
+ git add --no-ignore-removal .
+GIT_INDEX_FILE="$INDEX_FILE" GIT_WORK_TREE="$HTMLDIR" \
+ git commit -m "Rebuild html documentation from commit ${ORIG_COMMIT} using Doxygen ${DOXYGEN_VERSION}"