gogol/script/hackage-documentation

30 lines
884 B
Bash
Executable File

#!/usr/bin/env bash
set -e
: ${PACKAGE?}
: ${PASSWORD?}
STACKVER=$(cat $PACKAGE.cabal|grep '^version:'|head -1|awk '{print $2}')
STACKDOCDIR=$PACKAGE-$STACKVER-docs
OUTPUT=dist/doc
stack haddock --fast $PACKAGE
rm -rf $OUTPUT/$STACKDOCDIR
mkdir -p $OUTPUT
cp -r $(stack path --local-doc-root)/$PACKAGE-$STACKVER $OUTPUT/$STACKDOCDIR
sed -i 's/href="\.\.\/\([^/]*\)\//href="..\/..\/\1\/docs\//g' $OUTPUT/$STACKDOCDIR/*.html
(cd $OUTPUT && tar cvz --format=ustar -f $STACKDOCDIR.tar.gz $STACKDOCDIR)
curl -X PUT \
-H 'Content-Type: application/x-tar' \
-H 'Content-Encoding: gzip' \
-u BrendanHay:$PASSWORD \
--digest \
--data-binary @"$OUTPUT/$STACKDOCDIR.tar.gz" \
https://hackage.haskell.org/package/$PACKAGE-$STACKVER/docs