#!/bin/bash - #=============================================================================== # # FILE: upload.sh # # USAGE: ./upload.sh # # DESCRIPTION: Uploads all servant packages to Hackage # # REQUIREMENTS: cabal, bash >= 4 # AUTHOR: Julian K. Arni # CREATED: 05.06.2015 13:05 #=============================================================================== set -o nounset set -o errexit DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) . "$DIR"/lib/common.sh usage () { echo " upload.sh " echo " Uploads all servant packages to Hackage" exit 0 } upload_package () { local package="$1" local user="$2" local pass="$3" local cabalFile="$package.cabal" pushd "$package" local version=$(grep -i '^version:' $cabalFile | awk '{ print $2 }') local sdist="dist/${package}-${version}.tar.gz" cabal sdist echo "User is: $user" cabal upload --user="$user" --password="$pass" "$sdist" popd } if [ $# -ne 2 ] ; then echo "expecting two arguments." usage fi versions_equal for s in ${SOURCES[@]} ; do upload_package "$s" "$1" "$2" done