#!/bin/sh
clear
export TMP=/dev/shm/tmp
echo ------------------------------------------------------------------------------------
echo -- clean --
mkdir $TMP
mkdir classes
rm src/kandid/soup/*.java
rm classes/kandid/soup/*.class
rm src/kandid/pond/*.java
rm classes/kandid/pond/*.class
rm src/kandid/catalog/*.java
rm classes/kandid/catalog/*.class
rm src/kandid/genomedb/*.java
rm classes/kandid/genomedb/*.class
rm src/kandid/preference/*.java
rm classes/kandid/preference/*.class
rm $TMP/SetEditorMapping.txt
rm $TMP/RandomizeChromosome.txt
rm $TMP/MutateChromosome.txt
rm $TMP/CloneChromosome.txt
rm $TMP/MergeChromosome.txt
rm $TMP/scalarvm.txt
rm $TMP/vectorvm.txt
rm $TMP/scalarvm.txt

mkdir -p src/kandid/soup/map
mkdir -p src/kandid/calculation/vm/scalar
mkdir -p src/kandid/calculation/vm/vector
mkdir -p src/kandid/calculation/bridge/povray

export CLASSPATH=.:buildlib/xalan.jar:buildlib/xml-apis.jar:buildlib/xercesImpl.jar
javac -d classes src/kandid/soup/helper/*.java
echo -- setEditor.xsl --
java -classpath $CLASSPATH org.apache.xalan.xslt.Process -XSL src/kandid/soup/schema/setEditor.xsl -IN src/kandid/soup/schema/soup.xsd -OUT $TMP/SetEditorMapping.txt
java -classpath classes:$CLASSPATH kandid.soup.helper.Uppercase $TMP/SetEditorMapping.txt src/kandid/soup/map/SetEditorMapping.java
echo -- random.xsl --
java -classpath $CLASSPATH org.apache.xalan.xslt.Process -XSL src/kandid/soup/schema/random.xsl -IN src/kandid/soup/schema/soup.xsd -OUT $TMP/RandomizeChromosome.txt
java -classpath classes:$CLASSPATH kandid.soup.helper.Uppercase $TMP/RandomizeChromosome.txt src/kandid/soup/map/RandomizeChromosome.java
echo -- mutate.xsl --
java -classpath $CLASSPATH org.apache.xalan.xslt.Process -XSL src/kandid/soup/schema/mutate.xsl -IN src/kandid/soup/schema/soup.xsd -OUT $TMP/MutateChromosome.txt
java -classpath classes:$CLASSPATH kandid.soup.helper.Uppercase $TMP/MutateChromosome.txt src/kandid/soup/map/MutateChromosome.java
echo -- clone.xsl --
java -classpath $CLASSPATH org.apache.xalan.xslt.Process -XSL src/kandid/soup/schema/clone.xsl -IN src/kandid/soup/schema/soup.xsd -OUT $TMP/CloneChromosome.txt
java -classpath classes:$CLASSPATH kandid.soup.helper.Uppercase $TMP/CloneChromosome.txt src/kandid/soup/map/CloneChromosome.java
echo -- merge.xsl --
java -classpath $CLASSPATH org.apache.xalan.xslt.Process -XSL src/kandid/soup/schema/merge.xsl -IN src/kandid/soup/schema/soup.xsd -OUT $TMP/MergeChromosome.txt
java -classpath classes:$CLASSPATH kandid.soup.helper.Uppercase $TMP/MergeChromosome.txt src/kandid/soup/map/MergeChromosome.java

export XJC=/usr/share/jaxb/bin/xjc.zip.sh
echo -- schema soup --
cd src
$XJC kandid/soup/schema/soup.xsd -p kandid.soup
cd ..
cp src/kandid/soup/PopulationType.java $TMP/PopulationType.java
java -classpath classes:$CLASSPATH kandid.soup.helper.InsertRootElement $TMP/PopulationType.java src/kandid/soup/PopulationType.java
cp src/kandid/soup/EntityType.java $TMP/EntityType.java
java -classpath classes:$CLASSPATH kandid.soup.helper.InsertRootElement $TMP/EntityType.java src/kandid/soup/EntityType.java

echo -- schema catalog --
cd src
$XJC kandid/catalog/schema/catalog.xsd -p kandid.catalog
cd ..

echo -- schema genomedb --
cd src
$XJC kandid/genomedb/schema/genomedb.xsd -p kandid.genomedb
cd ..

echo -- schema pond --
cd src
$XJC kandid/pond/schema/pond.xsd -p kandid.pond
cd ..

echo -- schema preference --
cd src
$XJC kandid/preference/schema/preference.xsd -p kandid.preference
cd ..
kandid/preference/PreferenceType
cp src/kandid/preference/PreferenceType.java $TMP/PreferenceType.java
java -classpath classes:$CLASSPATH kandid.soup.helper.InsertRootElement $TMP/PreferenceType.java src/kandid/preference/PreferenceType.java

export JAXB_LIBS=$JAXB_HOME/lib

export CLASSPATH=buildlib/junit.jar:/usr/share/maven-repo/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar

echo -- compile soup --
javac -d classes -sourcepath src src/kandid/soup/*.java  src/kandid/soup/map/*.java  src/kandid/soup/test/*.java
echo -- compile catalog --
javac -d classes -sourcepath src src/kandid/catalog/*.java
echo -- compile genomedb --
javac -d classes -sourcepath src src/kandid/genomedb/*.java
echo -- compile pond --
javac -d classes -sourcepath src src/kandid/pond/*.java  src/kandid/pond/test/*.java
echo -- compile preference --
javac -d classes -sourcepath src src/kandid/preference/*.java

#echo -- test soup --
#java  -ea -esa -classpath classes:$CLASSPATH kandid.soup.test.AllTests
#echo -- test pond --
#java  -ea -esa -classpath classes:$CLASSPATH kandid.pond.test.AllTests
#echo -- test catalog --
#java  -ea -esa -classpath classes:$CLASSPATH kandid.catalog.test.AllTests
#echo -- test genomedb --
#java  -ea -esa -classpath classes:$CLASSPATH kandid.genomedb.test.AllTests

