Files
kandid/gen_code_from_schema
2025-10-27 18:02:49 +01:00

118 lines
4.0 KiB
Bash
Executable File

#!/bin/bash
clear
export TMP=/tmp
expand_xslt () {
echo -- $1 --
java -classpath $CLASSPATH org.apache.xalan.xslt.Process -XSL src/kandid/soup/schema/$1.xsl -IN src/kandid/soup/schema/soup.xsd -OUT $TMP/$2.txt
java -classpath classes:$CLASSPATH kandid.soup.helper.Uppercase $TMP/$2.txt src/kandid/$3/$2.java
if [ -f src/kandid/$3/$2.tmp ]; then
rm src/kandid/$3/$2.tmp
fi
java -jar ./buildlib/google-java-format-1.30.0-all-deps.jar src/kandid/$3/$2.java > src/kandid/$3/$2.tmp
if [ -f java ]; then
rm java
fi
mv src/kandid/$3/$2.tmp src/kandid/$3/$2.java
}
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
expand_xslt setEditor SetEditorMapping soup/map
expand_xslt random RandomizeChromosome soup/map
expand_xslt mutate MutateChromosome soup/map
expand_xslt clone CloneChromosome soup/map
expand_xslt merge MergeChromosome soup/map
expand_xslt scalarvm ScalarVM calculation/vm/scalar
expand_xslt vectorvm VectorVM calculation/vm/vector
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