diff options
Diffstat (limited to 'infrastructure')
-rw-r--r-- | infrastructure/bin/compilecache.sh | 84 | ||||
-rw-r--r-- | infrastructure/net.appjet.oui/config.scala | 2 |
2 files changed, 44 insertions, 42 deletions
diff --git a/infrastructure/bin/compilecache.sh b/infrastructure/bin/compilecache.sh index a2b6220..6e42a50 100644 --- a/infrastructure/bin/compilecache.sh +++ b/infrastructure/bin/compilecache.sh @@ -16,49 +16,51 @@ CP_CMD="cp -R -u" if [ `uname` == "Darwin" ]; then - CP_CMD="/bin/cp -R -n" + CP_CMD="/bin/cp -R -n" +elif [ `uname` == "SunOS" ]; then + CP_CMD="cp -R" #Solaris cp does not have '-u' fi function cacheonfiles { - NAME=$1; FILES=$2; FUNC=$3; NOCOPY=1; - if [ -z "$4" ]; then - NOCOPY=0 - fi - REBUILD=0 - BPATH=buildcache/$NAME - FILETEST=$BPATH/t - if [ ! -f $FILETEST ]; then - REBUILD=1 - else - for a in $FILES; do - if [ $FILETEST -ot $a ]; then - echo $a has changed, rebuilding $NAME + NAME=$1; FILES=$2; FUNC=$3; NOCOPY=1; + if [ -z "$4" ]; then + NOCOPY=0 + fi + REBUILD=0 + BPATH=buildcache/$NAME + FILETEST=$BPATH/t + if [ ! -f $FILETEST ]; then REBUILD=1 - fi - done - fi - if [ $REBUILD -eq 1 ]; then - if [ -d $BPATH ]; then - rm -rf $BPATH + else + for a in $FILES; do + if [ $FILETEST -ot $a ]; then + echo $a has changed, rebuilding $NAME + REBUILD=1 + fi + done + fi + if [ $REBUILD -eq 1 ]; then + if [ -d $BPATH ]; then + rm -rf $BPATH + fi + mkdir -p $BPATH + $FUNC $BPATH + pushd $BPATH >> /dev/null + touch t + popd >> /dev/null + else + echo using cached $NAME... + fi + if [ $NOCOPY -ne 1 ]; then + for a in $BPATH/*; do + if [ -d $a ]; then + $CP_CMD $a build/ + elif [ -f $a ]; then + cp $a build/ + else + echo unknown file type $a + exit 1 + fi + done fi - mkdir -p $BPATH - $FUNC $BPATH - pushd $BPATH >> /dev/null - touch t - popd >> /dev/null - else - echo using cached $NAME... - fi - if [ $NOCOPY -ne 1 ]; then - for a in $BPATH/*; do - if [ -d $a ]; then - $CP_CMD $a build/ - elif [ -f $a ]; then - cp $a build/ - else - echo unknown file type $a - exit 1 - fi - done - fi -} +} diff --git a/infrastructure/net.appjet.oui/config.scala b/infrastructure/net.appjet.oui/config.scala index 46e73cf..6201816 100644 --- a/infrastructure/net.appjet.oui/config.scala +++ b/infrastructure/net.appjet.oui/config.scala @@ -41,7 +41,7 @@ object config { null; } } - def boolOrElse(name: String, default: Boolean) = values.get(name).map(_.equals("true")).getOrElse(default); + def boolOrElse(name: String, default: Boolean) = values.get(name).map(_.matches("(?i)\\s*true\\s*")).getOrElse(default); def intOrElse(name: String, default: Int) = values.get(name).map(Integer.parseInt(_)).getOrElse(default); def longOrElse(name: String, default: Long) = values.get(name).map(java.lang.Long.parseLong(_)).getOrElse(default); |