@@ -0,0 +1,29 @@
1+#!/usr/bin/env bash
2+
3+set -e
4+
5+: ${PACKAGE?}
6+: ${PASSWORD?}
7+
8+STACKVER=$(cat $PACKAGE.cabal|grep '^version:'|head -1|awk '{print $2}')
9+STACKDOCDIR=$PACKAGE-$STACKVER-docs
10+OUTPUT=dist/doc
11+
12+stack haddock --fast $PACKAGE
13+
14+rm -rf $OUTPUT/$STACKDOCDIR
15+mkdir -p $OUTPUT
16+
17+cp -r $(stack path --local-doc-root)/$PACKAGE-$STACKVER $OUTPUT/$STACKDOCDIR
18+
19+sed -i 's/href="\.\.\/\([^/]*\)\//href="..\/..\/\1\/docs\//g' $OUTPUT/$STACKDOCDIR/*.html
20+
21+(cd $OUTPUT && tar cvz --format=ustar -f $STACKDOCDIR.tar.gz $STACKDOCDIR)
22+
23+curl -X PUT \
24+ -H 'Content-Type: application/x-tar' \
25+ -H 'Content-Encoding: gzip' \
26+ -u BrendanHay:$PASSWORD \
27+ --digest \
28+ --data-binary @"$OUTPUT/$STACKDOCDIR.tar.gz" \
29+ https://hackage.haskell.org/package/$PACKAGE-$STACKVER/docs