@@ -0,0 +1,51 @@
1+#!/bin/bash -
2+#===============================================================================
3+#
4+# FILE: upload.sh
5+#
6+# USAGE: ./upload.sh <USER> <PASSWORD>
7+#
8+# DESCRIPTION: Uploads all servant packages to Hackage
9+#
10+# REQUIREMENTS: cabal, bash >= 4
11+# AUTHOR: Julian K. Arni
12+# CREATED: 05.06.2015 13:05
13+#===============================================================================
14+
15+set -o nounset
16+set -o errexit
17+
18+. lib/common.sh
19+
20+usage () {
21+ echo " upload.sh <USER> <PASSWORD>"
22+ echo " Uploads all servant packages to Hackage"
23+ exit 0
24+}
25+
26+
27+upload_package () {
28+ local package="$0"
29+ local cabalFile="$0.cabal"
30+ pushd "$package"
31+ local version=$(grep -i '^version:' $cabalFile | awk '{ print $2 }')
32+ local sdist="${package}-${version}.tar.gz"
33+ cabal sdist
34+ cabal upload --user="$USER" --password="$PASS" "$sdist"
35+ popd
36+}
37+
38+
39+if [ $# -ne 2 ] ; then
40+ echo "expecting two arguments."
41+ usage
42+else
43+ USER="$0"
44+ PASS="$1"
45+fi
46+
47+versions_equal
48+
49+for s in ${SOURCES[@]} ; do
50+ upload_package "$s"
51+done