@@ -0,0 +1,35 @@
5+dist=`stack path --dist-dir --stack-yaml ./stack.yaml 2> /dev/null`
7+echo -e "\033[1;36mTesting library...\033[0m"
8+stack test 2> /dev/null
10+echo -e "\033[1;36mRunning sdist...\033[0m"
13+echo -e "\033[1;36mGenerating documentation...\033[0m"
14+stack haddock 2> /dev/null
16+if [ "$?" -eq "0" ]; then
17+ echo -e "\033[1;32mUploading package to Hackage...\033[0m"
18+ read -p "Hackage username: " username
19+ read -p "Hackage password: " -s password
21+ cabal upload -u $username -p $password dist/$1-$2.tar.gz
23+ docdir=$dist/doc/html
27+ echo -e "Compressing documentation from \033[1;34m$docdir\033[0m for \033[1;35m$1\033[0m-\033[1;33m$2\033[1;30m"
29+ tar -c -v -z --format=ustar -f $doc.tar.gz $doc
30+ echo -e "\033[1;32mUploading documentation to Hackage...\033[0m"
31+ curl -X PUT -H 'Content-Type: application/x-tar' -H 'Content-Encoding: gzip' --data-binary "@$doc.tar.gz" "https://$username:$password@hackage.haskell.org/package/$1-$2/docs"
34+ echo -e "\033[1;31mNot in a stack-powered project\033[0m"