5dist=`stack path --dist-dir --stack-yaml ./stack.yaml 2> /dev/null`
10packagename="${cabalfile%%.*}"
11version=`grep '^version:' schematic.cabal | rev | cut -d" " -f1 | rev`
13echo -e "\033[1;36mTesting library...\033[0m"
14stack test 2> /dev/null
16echo -e "\033[1;36mRunning sdist...\033[0m"
19echo -e "\033[1;36mGenerating documentation...\033[0m"
20stack haddock 2> /dev/null
22if [ "$?" -eq "0" ]; then
23 echo -e "\033[1;32mUploading package to Hackage...\033[0m"
24 read -p "Hackage username: " username
25 read -p "Hackage password: " -s password
27 cabal upload -u $username -p $password dist/$packagename-$version.tar.gz
29 docdir=`find .stack-work -name "$packagename-$version-docs"`
31 echo -e "Compressing documentation from \033[1;34m$docdir\033[0m for \033[1;35m$packagename\033[0m-\033[1;33m$version\033[1;30m"
32 tar -c -v -z --format=ustar -f $docdir.tar.gz $docdir
33 echo -e "\033[1;32mUploading documentation to Hackage...\033[0m"
36 curl -X PUT -H 'Content-Type: application/x-tar' -H 'Content-Encoding: gzip' --data-binary "$packagename-$version-docs.tar.gz" "https://$username:$password@hackage.haskell.org/package/$packagename-$version/candidate/docs"
37 open "https://hackage.haskell.org/package/$packagename-$version/candidate/"
39 echo "To publish the candidate, use 'cabal upload --publish'."
42 echo -e "\033[1;31mNot in a stack-powered project\033[0m"
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list