diff options
Diffstat (limited to 'infrastructure/bin/comp.sh')
-rwxr-xr-x | infrastructure/bin/comp.sh | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/infrastructure/bin/comp.sh b/infrastructure/bin/comp.sh new file mode 100755 index 0000000..5f65c2f --- /dev/null +++ b/infrastructure/bin/comp.sh @@ -0,0 +1,199 @@ +#!/bin/bash -e + +# Copyright 2009 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS-IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +source bin/compilecache.sh + +rm -rf build +mkdir build + +if [ "$1" == "clearcache" ]; then + echo "CLEARING BUILD CACHE" + rm -rf buildcache + mkdir -p buildcache + shift; +fi + +if [ -z "$CC" ]; then + CC=fsc +fi +echo compiling with \'$CC\'... + +CP=`bin/classpath.sh` +CP="build/:${CP}" + +if [ -z "$OBFUSC" ]; then + OBFUSC=0 +else + echo obfuscation on... +fi + +#THRIFTFILES=`echo net.appjet.fancypants/{storage/KeyValueStore,DebugLog,LtpLog}.thrift` +#THRIFTFILES=`find gen-java/net/appjet/fancypants -name '*.java'` +#function genthrift { +# echo "generating thrift..." +# rm -rf gen-java +# for a in $THRIFTFILES; do +# thrift -java $a +# done + +# echo "compiling thrift..." +# CP="${CP}:gen-java/" +# javac \ +# -classpath $CP \ +# -target 1.5 \ +# -d $1 \ +# $THRIFTFILES +#} +#cacheonfiles thrift "$THRIFTFILES" genthrift + +ARGS=$@ + +COMMONFILES=`find net.appjet.common -name '*.java'` +COMMONSCALAFILES=`find net.appjet.common -name '*.scala'` +function gencommon { + echo "compiling common..." + javac \ + -cp $CP \ + -d $1 \ + -target 1.5 \ + $COMMONFILES + $CC \ + -classpath $CP \ + -d $1 \ + -target:jvm-1.5 \ + $ARGS \ + $COMMONSCALAFILES +} +cacheonfiles common "$COMMONFILES $COMMONSCALAFILES" gencommon + +SARSFILES=`find net.appjet.common.sars -name '*.scala'` +function gensars { + echo "compiling sars..." + $CC \ + -classpath $CP \ + -d $1 \ + -target:jvm-1.5 \ + $ARGS \ + $SARSFILES +} +cacheonfiles sars "$SARSFILES" gensars + +CLIFILES=`find net.appjet.common.cli -name '*.scala'` +function gencli { + echo "compiling cli..." + $CC \ + -classpath $CP \ + -d $1 \ + -target:jvm-1.5 \ + $ARGS \ + $CLIFILES + echo "done with cli" +} +cacheonfiles cli "$CLIFILES" gencli + +BODYLOCKFILES=`find net.appjet.bodylock -name '*.scala'` +function genbodylock { + echo "compiling rhino abstraction..." + $CC \ + -classpath build:$CP \ + -d $1 \ + -target:jvm-1.5 \ + $ARGS \ + $BODYLOCKFILES +} +cacheonfiles bodylock "$BODYLOCKFILES" genbodylock + +APPSERVERFILES=`find net.appjet.oui -name '*.scala'` +APPSERVERJAVAFILES=`find net.appjet.oui -name '*.java'` +function genappserver { + echo "compiling appserver source..." + javac \ + -cp $CP \ + -d $1 \ + -target 1.5 \ + $APPSERVERJAVAFILES + $CC \ + -classpath $CP \ + -d $1 \ + -target:jvm-1.5 \ + $ARGS \ + $APPSERVERFILES +} +cacheonfiles appserver "$APPSERVERFILES $APPSERVERJAVAFILES" genappserver + +AJSTDLIBFILES=`find net.appjet.ajstdlib -name '*.scala'` +AJSTDLIBJAVAFILES=`find net.appjet.ajstdlib -name '*.java'` +function genajstdlib { + echo "compiling ajstdlib..." + mkdir -p $1 + if [ ! -z "$AJSTDLIBJAVAFILES" ]; then + javac \ + -cp $CP \ + -d $1 \ + -target 1.5 \ + $AJSTDLIBJAVAFILES + fi + $CC \ + -classpath $CP \ + -d $1 \ + -target:jvm-1.5 \ + $ARGS \ + $AJSTDLIBFILES +} +cacheonfiles ajstdlib "$AJSTDLIBFILES $AJSTDLIBJAVAFILES" genajstdlib + +EPFILES=`find com.etherpad -name '*.scala'` +function genetherpad { + echo "compilng etherpad..." + $CC \ + -classpath $CP \ + -d $1 \ + -target:jvm-1.5 \ + $ARGS \ + $EPFILES +} +cacheonfiles etherpad "$EPFILES" genetherpad + +OOSERVICEFILES=`find com.etherpad.openofficeservice -name '*.scala'` +function genooservice { + echo "compiling ooservice..." + $CC \ + -classpath $CP \ + -d $1 \ + -target:jvm-1.5 \ + $ARGS \ + $OOSERVICEFILES +} +cacheonfiles ooservice "$OOSERVICEFILES" genooservice + +echo "copying files..." +cp net.appjet.ajstdlib/streaming-client.js build/net/appjet/ajstdlib/ +if [ $OBFUSC ] ; then + echo obfuscating... + scala -classpath $CP:. net.appjet.bodylock.compressor \ + build/net/appjet/ajstdlib/streaming-client.js +fi + +cp net.appjet.ajstdlib/streaming-iframe.html build/net/appjet/ajstdlib/ +mkdir -p build/net/appjet/ajstdlib/modules + +echo "building javascript classfiles..." +scala -classpath $CP net.appjet.bodylock.Compiler \ + -destination=build/net/appjet/ajstdlib/ \ + -cutPrefix=framework-src \ + `find framework-src -name '*.js'` + +echo "done." |