53 lines
877 B
Bash
53 lines
877 B
Bash
|
SERVANT_DIR=/tmp/servant-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.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/* .
|
||
|
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
|