#!/bin/sh # # JEL release script. # Originally developed under CygWIN32. Tested on Linux. # NOTE: Will not run unchanged on CygWIN32. # # (c) 1998 Konstantin L. Metlov (address@hidden) # echo "Building the JEL distribution" VERSION=0.9.11 DATE=`date` NS_JAVA=true CLASSPATH=$CLASSPATH:. DROOT="/tmp/jel-$VERSION" # points to the location of the JavaDoc images and API_Users_Guide.html JAVA_DOC=/home/metlov/external/docs/jdk117docs/api # points to the place, where JEL files were checked out from CVS repository CO_POINT=/home/metlov/chkouts/JEL echo " 1. clearing old distribution in "$DROOT rm -rf $DROOT echo " 2. setting up directories" mkdir $DROOT mkdir $DROOT/src mkdir $DROOT/lib mkdir $DROOT/samples mkdir $DROOT/samples/testsuite mkdir $DROOT/samples/YourTestBed mkdir $DROOT/docs mkdir $DROOT/docs/javadoc mkdir $DROOT/docs/javadoc/images mkdir $DROOT/src/gnu mkdir $DROOT/src/gnu/jel mkdir $DROOT/src/gnu/jel/reflect mkdir $DROOT/src/gnu/jel/debug mkdir $DROOT/src/gnu/jel/tests echo " 3. copying files with debug parts excluded" find $CO_POINT -name '*.java' | sed "s:$CO_POINT/::g" | xargs -i bash -c "awk -f $CO_POINT/testing_off.awk <$CO_POINT/{} >$DROOT/src/{}" cp $CO_POINT/gnu/jel/JEL.properties $DROOT/src/gnu/jel cp $CO_POINT/gnu/jel/debug/*.java.in $DROOT/src/gnu/jel/debug mkdir $DROOT/optimized mkdir $DROOT/unoptimized echo " 4. making classes documentation" cd $DROOT/src javadoc -public -author -d $DROOT/docs/javadoc gnu.jel gnu.jel.reflect gnu.jel.debug cp $JAVA_DOC/images/*.gif $DROOT/docs/javadoc/images cp $JAVA_DOC/API_users_guide.html $DROOT/docs/javadoc echo " 5. making Changelog" cd $CO_POINT cvs2cl.pl -f $DROOT/ChangeLog cd $DROOT/src echo " 6. compiling speed optimized version of classes" cat $DROOT/src/gnu/jel/debug/Debug.java.in | sed -e s/@debug_enabled@/false/g >$DROOT/src/gnu/jel/debug/Debug.java cd $DROOT/src javac -O -g:none -d $DROOT/optimized Calculator.java gnu/jel/reflect/*.java # removed -O echo " 6.1 conditionally removing gnu.jel.debug.Debug" NUMDEBUGREFS=`find $DROOT/optimized -name '*.class' | xargs -i grep Debug {} | grep -v debug/Debug.class | wc -l` if [ $NUMDEBUGREFS == 0 ] ; then rm $DROOT/optimized/gnu/jel/debug/Debug.class rmdir $DROOT/optimized/gnu/jel/debug else echo "PLEASE REMOVE REFERENCES TO gnu.jel.debug.Debug from "; find $DROOT/optimized -name '*.class' | xargs -i grep Debug {} | grep -v debug/Debug.class; echo echo echo '^^^^^ WARNING !!! WARNING !!! WARNING !!!^^^^^' echo echo fi echo " 7. copying files with debug parts included" find $CO_POINT -name '*.java' | sed "s:$CO_POINT/::g" | xargs -i bash -c "awk -f $CO_POINT/testing_on.awk <$CO_POINT/{} >$DROOT/src/{}" echo " 8. compiling debug version of classes" cat $DROOT/src/gnu/jel/debug/Debug.java.in | sed -e s/@debug_enabled@/true/g >$DROOT/src/gnu/jel/debug/Debug.java cd $DROOT/src javac -g -d $DROOT/unoptimized Calculator.java gnu/jel/reflect/*.java java -cp $DROOT/unoptimized gnu.jel.TableKeeper cp gnu/jel/JEL.properties $DROOT/unoptimized/gnu/jel cp gnu/jel/tables.dat $DROOT/unoptimized/gnu/jel cp gnu/jel/JEL.properties $DROOT/optimized/gnu/jel cp gnu/jel/tables.dat $DROOT/optimized/gnu/jel #javac -O -depend -d $DROOT/optimized Calculator.java gnu/jel/reflect/*.java echo " 9. creating speed optimized version of the library" cd $DROOT/optimized jar cf $DROOT/lib/jel.jar gnu/jel echo " 10. creating debug version of the library" cd $DROOT/unoptimized jar cf $DROOT/lib/jel_g.jar gnu/jel echo " 11. copying samples" echo " ..... Calculator " cp $CO_POINT/Calculator.java $DROOT/samples echo " ..... YourTestBed " cp $CO_POINT/YourTestBed.java $DROOT/samples/YourTestBed/YourTestBed.java cp $CO_POINT/Data.java $DROOT/samples/YourTestBed/Data.java cp $CO_POINT/GlobalContext.java $DROOT/samples/YourTestBed/GlobalContext.java cp $CO_POINT/DVResolverProvider.java $DROOT/samples/YourTestBed/DVResolverProvider.java cp $CO_POINT/samples/README.Calculator $DROOT/samples cp $CO_POINT/samples/README.YourTestBed $DROOT/samples/YourTestBed/README cp $DROOT/unoptimized/Calculator.class $DROOT/samples echo " 12. copying HTML documentation " cp $CO_POINT/documents/html/*.html $DROOT/docs rm -f $DROOT/docs/index.html cp $CO_POINT/documents/html/*.css $DROOT/docs cp $CO_POINT/documents/html/*.gif $DROOT/docs cp $CO_POINT/documents/html/*.png $DROOT/docs rm -f $DROOT/docs/gnu-head-sm.jpg cp $CO_POINT/documents/html/*.txt $DROOT/docs cat $CO_POINT/documents/README | sed -e "s/@version@/$VERSION/g" | sed -e "s/@date@/$DATE/g" > $DROOT/README cat $CO_POINT/documents/RELNOTES | sed -e "s/@version@/$VERSION/g" | sed -e "s/@date@/$DATE/g" > $DROOT/RELNOTES cat $CO_POINT/documents/CODEGEN_HOW_TO | sed -e "s/@version@/$VERSION/g" | sed -e "s/@date@/$DATE/g" > $DROOT/CODEGEN_HOW_TO echo " 13. licensing" cp $CO_POINT/documents/COPYING $DROOT cp $CO_POINT/documents/COPYING $DROOT/src cp $CO_POINT/documents/COPYING $DROOT/src/gnu/jel cp $CO_POINT/documents/COPYING $DROOT/src/gnu/jel/debug cp $CO_POINT/documents/COPYING $DROOT/src/gnu/jel/tests echo " 14. removing temporary compiled classes" rm -rf $DROOT/optimized/ sleep 1s rm -rf $DROOT/unoptimized/ echo " 15. making testsuite " cp $CO_POINT/samples/README.TestSuite $DROOT/samples/testsuite for f in $DROOT/src/gnu/jel/tests/*.java ; do R1=$DROOT/src/gnu/jel/tests/ R2=$DROOT/samples/testsuite/ cat ${f} | sed "s/package gnu.jel.tests;//g" | sed "s/abort_at_error=true/abort_at_error=false/g" | sed "s/gnu.jel.tests.//g"> ${f/$R1/$R2} ; done #cat $DROOT/src/gnu/jel/tests/TestSuite.java | sed "s/package gnu.jel.tests;//g" | sed "s/gnu.jel.tests.//g" >$DROOT/samples/testsuite/TestSuite.java #cat $DROOT/src/gnu/jel/tests/VariableProvider.java | sed "s/package gnu.jel.tests;//g" >$DROOT/samples/testsuite/VariableProvider.java cd $DROOT/samples/testsuite CLASSPATH=$CLASSPATH:$DROOT/lib/jel.jar:. javac TestSuite.java echo " 16. archiving " cd /tmp zip -rq jel-${VERSION//./_}.zip jel-${VERSION}/ tar cfz jel-${VERSION}.tar.gz jel-${VERSION}/ cd $DROOT echo "FINISHED. DON'T forget to run TESTSUITE !!!"