#!/bin/bash
#
# This generates the documentation for Buck and publishes it to GitHub.
# Usage:
#
#   ./docs/publish.sh
#
# Caller must be sure that soyweb-prod.sh is already running and that caller
# has the appropriate credentials configured to push to the GitHub repo.

set -e

# Always run this script from the root of the Buck project directory.
cd $(git rev-parse --show-toplevel)

STATIC_FILES_DIR=/tmp/buck-public-documentation/

# Create a clean checkout of the gh-pages branch with no data:
rm -rf $STATIC_FILES_DIR
git clone git@github.com:facebook/buck.git $STATIC_FILES_DIR
cd $STATIC_FILES_DIR

# May need to do this if you are creating gh-pages for the first time.
git checkout master

git checkout --orphan gh-pages
git rm -rf .
cd -

# Generate the docs in the repo:
./docs/soy2html.sh $STATIC_FILES_DIR

# Commit the new version of the docs:
cd $STATIC_FILES_DIR
git add .
git commit -m "Updated HTML documentation."

# Push the new version of the docs to GitHub:
set +e
git push origin gh-pages --force
EXIT_CODE=$?
set -e

# Unfortunately, this script is not bulletproof,
# so inform the user of the failure.
if [ $EXIT_CODE -ne 0 ]; then
  echo "WARNING: 'git push origin gh-pages failed'. "
  echo "Try going to https://github.com/facebook/buck/branches"
  echo "and re-running this script."
fi
