3 # We don't supply a Makefile. Instead, we just supply this shell script.
9 *.-*) echo >&2 'no options allowed'; exit 1;;
10 *) echo >&2 'no arguments allowed'; exit 1;;
13 : ${JAVA_HOME:=/usr/lib/jvm/java-8-openjdk-amd64}
16 revision=`git describe --always || echo '(unknown revision)'`
17 if [ x"`git diff 2>/dev/null || echo x`" != x ]; then
18 revision="$revision-local"
20 revision=${revision#jarrg-}
22 cat >src/net/chiark/yarrg/Version.java <<END
23 package net.chiark.yarrg;
24 public class Version {
25 public final static String version = "$revision";
28 rm -f src/build/net/chiark/yarrg/Version.class
29 rm -f src/build/net/chiark/yarrg/ControlPanel.class
30 rm -f src/build/net/chiark/yarrg/MarketUploader.class
43 >"$output"; # avoids rsync seeing that . changed
44 GZIP='-9v --rsyncable' tar --exclude=\*{~,.tar.gz,.exe} --exclude='#*#' \
45 --transform='s/^./jarrg/' --exclude={src/build,tmp} "$@" \
49 tarball jarrg-source.tar.gz
51 tarball jarrg-linux.tar.gz \
52 --exclude={.git*,src,accessibility.properties,build-sh} \
54 files='jarrg-source.tar.gz jarrg-linux.tar.gz jarrg-setup.exe'
61 pubbase="${JARRG_PUBLISH_BASE-ijackson@login.chiark.greenend.org.uk}"
62 pubdir="${JARRG_PUBLISH_DIR-/home/yarrgweb/public-html/download/jarrg}"
68 RSYNC_RSH=ssh rsync -vP $files $pubbase:$pubdir/test/
70 To actually publish a release, on $pubbase: