alms-0.6.6: util
#!/bin/sh
name=alms
host=login.ccs.neu.edu
remote=.www/pubs/$name
version="`awk '$0 ~ /^VERSION *= / { print $3 }' Makefile`"
if [ -z "$1" ]; then
set showVersion
fi
while [ -n "$1" ]; do
cmd="$1"
shift
case "$cmd" in
release)
ver="$1"; shift
set version "$ver" ci "version bump: $ver" tagversion "$ver" \
clean dist send link $@
;;
hackage-check)
cabal upload -c $name-$version.tar.gz
;;
hackage-upload)
cabal upload $name-$version.tar.gz
;;
hackage)
set dist hackage-upload $@
;;
clean)
rm $name*.tar.gz
;;
dist)
make dist
;;
send)
scp -p $name-$version.tar.gz $host:$remote/
;;
link)
ssh $host "cd $remote;
DISPLAY='' ex -c '/$name-[0-9.]*[.]tar[.]gz/s/-[0-9.]*[.]tar/-$version.tar/|:wq' index.html;
rm $name.tar.gz;
ln -s '$name-$version.tar.gz' $name.tar.gz"
;;
edit)
ssh $host -t vim $remote/index.html
;;
mv)
src="$1"; shift
dst="$1"; shift
git mv "$src" "$dst" &&
mv "$dst" "$src" &&
svn mv "$src" "$dst"
;;
ci)
msg="$1"; shift
git ca -m "$msg"
svn ci -m "$msg"
;;
add)
git add $@
svn add $@
set --
;;
tagversion)
gitversion="$1"
shift
git tag "$gitversion"
;;
version)
version="$1"
shift
if [ -n "$version" ]; then
ex -c "/^VERSION *=/s/=.*/= $version/|:wq" Makefile
make $name.cabal
$0 showVersion
else
echo "Need to specify a version" >&2
exit 1
fi
;;
showVersion)
echo $version
;;
*)
echo "What does '$cmd' mean?" >&2
exit 1
;;
esac
done