SERVANT_DIR=/tmp/servant-js-gh-pages

# Make a temporary clone

rm -rf $SERVANT_DIR

git clone . $SERVANT_DIR

cd $SERVANT_DIR

# Make sure to pull the latest

git remote add haskell-servant git@github.com:haskell-servant/servant-js.git

git fetch haskell-servant

git reset --hard haskell-servant/gh-pages

# Clear everything away

git rm -rf $SERVANT_DIR/*

# Switch back and build the haddocks

cd -

cabal configure --builddir=$SERVANT_DIR

cabal haddock --hoogle --hyperlink-source --html-location='https://hackage.haskell.org/package/$pkg-$version/docs' --builddir=$SERVANT_DIR

commit_hash=$(git rev-parse HEAD)

# Move the HTML docs to the root

cd $SERVANT_DIR

rm *
rm -rf build
mv doc/html/servant-js/* .
rm -r doc/

# Add everything

git add .

git commit -m "Built from $commit_hash"

# Push to update the pages

git push haskell-servant HEAD:gh-pages

rm -rf $SERVANT_DIR