From d81b3c32bda71bdf6d42631ccf2a87520ab3ef0b Mon Sep 17 00:00:00 2001
From: Peter Alexander <p.m.w.alexander@gmail.com>
Date: Tue, 8 Oct 2019 17:57:55 +0100
Subject: [PATCH] Better tracking of cluster code version used

---
 scripts/compilePlum.sh | 17 +++++++++++++----
 scripts/runPlum.sh     | 14 +++++++++++---
 2 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/scripts/compilePlum.sh b/scripts/compilePlum.sh
index c7998375..3ce183eb 100755
--- a/scripts/compilePlum.sh
+++ b/scripts/compilePlum.sh
@@ -6,12 +6,21 @@
 
 cd /exports/csce/eddie/geos/groups/LURG/models/PLUM/plumv2
 
+buildbase=/exports/csce/eddie/geos/groups/LURG/models/PLUM/build
 buildver="$(hg identify --num)"
+builddir=$buildbase/$buildver
 
-echo "Building version: $buildver"
+echo "Building version: $buildver into $builddir"
 
-echo "$buildver" > ../classes/buildver
 
-javac -J-Xmx1g -cp .:/exports/csce/eddie/geos/groups/LURG/models/gams/gams24.7_linux_x64_64_sfx/apifiles/Java/api/GAMSJavaAPI.jar ./src/ac/ed/lurg/*.java ./src/ac/ed/lurg/country/*.java ./src/ac/ed/lurg/country/crafty/*.java ./src/ac/ed/lurg/country/gams/*.java ./src/ac/ed/lurg/demand/*.java ./src/ac/ed/lurg/landuse/*.java ./src/ac/ed/lurg/output/*.java ./src/ac/ed/lurg/types/*.java ./src/ac/ed/lurg/utils/*.java ./src/ac/ed/lurg/yield/*.java ./src/ac/ed/lurg/shock/*.java ./src/ac/sac/raster/*.java ./src/ac/ed/lurg/utils/cluster/*.java -d ../classes
+if [ ! -d "$builddir" ]; then
+	mkdir $builddir
 
-echo "javac completed"
+	javac -J-Xmx1g -cp .:/exports/csce/eddie/geos/groups/LURG/models/gams/gams24.7_linux_x64_64_sfx/apifiles/Java/api/GAMSJavaAPI.jar ./src/ac/ed/lurg/*.java ./src/ac/ed/lurg/country/*.java ./src/ac/ed/lurg/country/crafty/*.java ./src/ac/ed/lurg/country/gams/*.java ./src/ac/ed/lurg/demand/*.java ./src/ac/ed/lurg/landuse/*.java ./src/ac/ed/lurg/output/*.java ./src/ac/ed/lurg/types/*.java ./src/ac/ed/lurg/utils/*.java ./src/ac/ed/lurg/yield/*.java ./src/ac/ed/lurg/shock/*.java ./src/ac/sac/raster/*.java ./src/ac/ed/lurg/utils/cluster/*.java -d $builddir
+
+	echo "$buildver __$(date)" > $builddir/buildver
+	echo "javac completed"
+else
+	echo "$builddir already exists." 1>&2
+	echo "Delete it manually if you want to rebuild." 1>&2
+fi
diff --git a/scripts/runPlum.sh b/scripts/runPlum.sh
index 2fcb597e..53d1422c 100755
--- a/scripts/runPlum.sh
+++ b/scripts/runPlum.sh
@@ -28,8 +28,15 @@ then
    exit -1
 fi
 
-build="${build:-.}"
+
+#build="${build:-.}"
 echo BUILD $build
+if [ -z ${build+x} ];
+then
+   echo "build version is unset"
+   exit -1
+fi
+
 
 if [[ -e /exports/csce/eddie/geos/groups/LURG/models ]]; then
   echo Edinburgh
@@ -58,7 +65,7 @@ fi
 PATH=$PATH:$GAMSPATH
 export PATH
 
-classesdir=$PLUMPATH/$build/classes
+classesdir=$PLUMPATH/build/$build
 if [ ! -d "$classesdir" ]; then
     echo $classesdir does not exist. Stopping!
     exit -1
@@ -66,6 +73,7 @@ fi
 
 buildver="$(cat $classesdir/buildver)"
 echo buildversion: $buildver
+buildverNoWhite="$(echo $buildver | tr -d ' ')"
 
 scenariodir=$PLUMPATH/output/$scenario
 if [ ! -d "$scenariodir" ]; then
@@ -76,7 +84,7 @@ fi
 cd $scenariodir
 
 echo "starting"
-runcmd="java -Xmx2G -XX:+PrintGC -classpath $GAMSPATH/apifiles/Java/api/GAMSJavaAPI.jar:$classesdir -DBUILDVER=$buildver -DCONFIG_FILE=$scenariodir/config.properties ac.ed.lurg.ModelMain"
+runcmd="java -Xmx2G -XX:+PrintGC -classpath $GAMSPATH/apifiles/Java/api/GAMSJavaAPI.jar:$classesdir -DBUILDVER=$buildverNoWhite -DCONFIG_FILE=$scenariodir/config.properties ac.ed.lurg.ModelMain"
 echo $runcmd
 $runcmd
 echo "finished"
-- 
GitLab