From: Ian Jackson Date: Sun, 22 Aug 2010 19:41:50 +0000 (+0100) Subject: new build script X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=jarrg-owen.git;a=commitdiff_plain;h=21094459ba3d050f011c0c7d7dff52ab488526c4;ds=sidebyside new build script --- diff --git a/.gitignore b/.gitignore index 6941f01..e3094d7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,4 +6,5 @@ tmp PCTB-ControlPanel.jar PCTB-Uploader.jar jpctb-setup.exe +jpctb.tar.gz src/build/ diff --git a/README b/README index dc7902b..9658f4c 100644 --- a/README +++ b/README @@ -9,6 +9,7 @@ distribution: ./jpctb /path/to/yohoho/yohoho + Windows ------- @@ -23,19 +24,27 @@ one of two things: installing Puzzle Pirates. (Don't worry about reinstalling; you won't lose any of your pirates or pieces of eight!) + Source ------ To build from source you will need a Java SDK, version 6, and Apache ant, as well as NSIS to build the Windows installer package. - cd src - ant -f PCTB.xml +You can run the script "build-sh" do to the build. It will create in +the current directory (the top level of the build) the .jar files for +JPCTB and also the two distribution files: + jpctb-setup.exe the installer for windows users + jpctb.tar.gz a filtered tarball of this whole directory, for linux users -Currently this only seems to work with the Sun JDK. If your default -JDK is OpenJDK then the following rune may work better: +Currently the build only seems to work with the Sun JDK, so the script +sets JAVA_HOME to /usr/lib/jvm/java-6-sun. If that's not what you +want, set JAVA_HOME yourself. - JAVA_HOME=/usr/lib/jvm/java-6-sun ant -f PCTB.xml +To make shipping the files a bit easier it prints a rune for rsyncing +the files to the distribution site with a pathname based on the output +from "git-describe". You can set JPCTB_PUBLISH_BASE and ..._DIR to +control the exact output. Bugs diff --git a/build-sh b/build-sh new file mode 100755 index 0000000..eb3d1e2 --- /dev/null +++ b/build-sh @@ -0,0 +1,40 @@ +#!/bin/bash +# +# We don't supply a Makefile. Instead, we just supply this shell script. + +set -e + +case "$#.$1" in +0) ;; +*.-*) echo >&2 'no options allowed'; exit 1;; +*) echo >&2 'no arguments allowed'; exit 1;; +esac + +: ${JAVA_HOME:=/usr/lib/jvm/java-6-sun} +export JAVA_HOME + +(set -e; cd src; ant -f PCTB.xml) + +echo " +Building tarball +" + +GZIP=-9v tar --exclude=\*{~,.tar.gz,.exe} --exclude='#*#' \ + --transform='s/^./jpctb/' --exclude=jpctb/{src/build,tmp} \ + -zcf jpctb.tar.gz . + +files='jpctb.tar.gz jpctb-setup.exe' + +echo " +Generated OK: +" +ls -al $files + +pubbase="${JPCTB_PUBLISH_BASE-login.chiark.greenend.org.uk}" +pubdir="${JPCTB_PUBLISH_DIR-/home/yarrgweb/public-html/jpctb}" +revision=`git describe --always` + +echo " +Install with: + RSYNC_RSH=ssh rsync -vP $files $pubbase:$pubdir/$revision/ +"