Add a script to make docs in Travis
This also stores the current library sizes (in -Os / -Oz build modes)
for each branch,
Signed-off-by: Thiago Macieira <thiago.macieira@intel.com>
diff --git a/scripts/update-docs.sh b/scripts/update-docs.sh
new file mode 100755
index 0000000..4b822c7
--- /dev/null
+++ b/scripts/update-docs.sh
@@ -0,0 +1,50 @@
+#!/bin/sh -ex
+case "$TRAVIS_BRANCH,$TRAVIS_PULL_REQUEST" in
+ dev,false|master,false)
+ ;;
+ *)
+ exit 0
+ ;;
+esac
+V=`cut -f1-2 -d. <VERSION`
+git fetch origin gh-pages
+
+# Fail if the library sizes file isn't present
+test -r sizes
+
+# Run doxygen (maybe)
+if [ -n "${TRAVIS_TAG-$FORCE_DOCS}" ] && make -s docs 2>/dev/null; then
+ git checkout -b gh-pages FETCH_HEAD
+ if [ -d "$V" ]; then
+ mv "$V" "old-$V"
+ fi
+ mv doc/html "$V"
+ git add -A "$V"
+else
+ git checkout -b gh-pages FETCH_HEAD
+ mkdir -p "$V"
+fi
+
+# Update the symlink for the branch name
+rm -f "./$TRAVIS_BRANCH"
+ln -s "$V" "$TRAVIS_BRANCH"
+git add "./$TRAVIS_BRANCH"
+
+# Update the library sizes file
+# (will fail if the release build failed)
+mkdir -p "library_sizes/$TRAVIS_BRANCH"
+mv sizes "library_sizes/$TRAVIS_BRANCH/$QMAKESPEC"
+(cd "library_sizes/$TRAVIS_BRANCH/";
+ for f in *; do echo "$f:"; cat "$f" ; done) > "$V/library_sizes.txt"
+git add "library_sizes/$TRAVIS_BRANCH" "$V/library_sizes.txt"
+
+# Commit everything
+if git commit -m "Update docs for $V (Travis build $TRAVIS_BUILD_NUMBER)
+
+Matching commit $TRAVIS_COMMIT:
+$TRAVIS_COMMIT_MESSAGE"; then
+ # We've made a commit, push it
+ set +x
+ url=`git config --get remote.origin.url | sed -e s,://github,://$GITHUB_AUTH@github,`
+ git push "$url" @:gh-pages
+fi