JAL-3442 (Aug 28 commit) option to use/not use cache
[jalview.git] / build.xml
index e92885a..6154cca 100755 (executable)
--- a/build.xml
+++ b/build.xml
 
     <!-- default TestNG groups to run -->
     <property name="testng-groups" value="Functional" />
+    <!-- default verbosity for TestNG -->
+    <property name="testng-verbosity" value="2"/>
     <!-- Java 9 JVM args -->
     <condition property="java9">
       <equals arg1="${ant.java.version}" arg2="9"/>
     <property name="schemaDir" value="schemas" />
     <property name="outputDir" value="classes" unless:set="clover.jar"/>
     <property name="outputDir" value="cloverclasses" if:set="clover.jar"/>
-    <property name="outputDir" value="classes" />
     <property name="packageDir" value="dist" />
     <property name="outputJar" value="jalview.jar" />
     <!-- Jalview Applet JMol Jar Dependency -->
     <property name="reportDir" value="test-reports" />
     <property name="testDir" value="test" />
     <property name="testOutputDir" value="tests" />
+       <property name="cloverOutputDir" value="clover" if:set="clover.jar" />
     <!-- switch to indicate if we should obfuscate jalviewLite -->
     <!-- <property name="donotobfuscate" value="true"/> -->
     <!-- switch to exclude associations from generated jnlp files -->
         <include name="**/*.*" />
       </fileset>
     </copy>
+       <mkdir dir="${cloverOutputDir}" if:set="clover.jar"/>
   </target>
 
   <target name="build" depends="prepare">
 
   <target name="testng" depends="buildTests">
     <testng outputDir="${reportDir}" haltOnFailure="false" groups="${testng-groups}" mode="testng"
-      verbose="2">
+      verbose="${testng-verbosity}">
       <classpath>
         <pathelement location="${testOutputDir}" />
         <pathelement location="${clover.jar}" if:set="clover.jar"/>
     </jar>
 
     <antcall target="writejnlpf">
-      <param name="jnlpFile" value="${packageDir}/jalview.jnlp" />
+      <param name="jnlpFile" value="${packageDir}/jalview_256M.jnlp" />
       <param name="inih" value="10M" />
       <param name="maxh" value="256M" />
     </antcall>
+    <antcall target="writejnlpf">
+      <param name="jnlpFile" value="${packageDir}/jalview.jnlp" />
+      <param name="inih" value="800M" />
+      <param name="maxh" value="1024M" />
+    </antcall>
 
     <antcall target="writejnlpf">
       <param name="jnlpFile" value="${packageDir}/jalview_1G.jnlp" />
 
     <antcall target="writejnlpf">
       <param name="jnlpFile" value="${packageDir}/jalview_2G.jnlp" />
-      <param name="inih" value="256M" />
+      <param name="inih" value="800M" />
       <param name="maxh" value="1024M" />
     </antcall>
 
         <association mime-type="application-x/ext-file" extensions="jar"/>-->
   </target>
 
-  <target name="-jarsignwithtsa" depends="makedist,preparejnlp" if="timestamp">
+  <target name="-jarsignwithtsa" depends="makedist,preparejnlp" if="timestamp" unless="nosign">
     <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false" sigalg="${jalview.keyalg}" digestalg="${jalview.keydig}"
       tsaproxyhost="${proxyHost}" tsaproxyport="${proxyPort}" tsaurl="${jalview.tsaurl}">
       <fileset dir="${packageDir}">
       </fileset>
     </signjar>
   </target>
-  <target name="-jarsignnotsa" depends="makedist,preparejnlp" unless="timestamp">
+  <target name="-jarsignnotsa" depends="makedist,preparejnlp" if:blank="timestamp" unless="nosign">
     <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false" sigalg="${jalview.keyalg}" digestalg="${jalview.keydig}">
       <fileset dir="${packageDir}">
         <include name="*.jar" />
   <delete file="in.jar" />
 </target>
 
-<target name="castorbinding" depends="init" description="Generate Java bindings to supported Jalview XML models.">
-  <taskdef name="castor-srcgen" classname="org.castor.anttask.CastorCodeGenTask" classpathref="build.classpath" />
+<target name="jaxb-bindings" depends="init" description="Generates JAXB bindings for supported Jalview XML models (needs xjc on the path)">
+  <delete>
+    <fileset dir="${sourceDir}/jalview/xml/binding/jalview">
+      <include name="*.java" />
+    </fileset>
+  </delete>
+  <exec executable="xjc">
+    <arg value="${schemaDir}/jalview.xsd"/>
+    <arg value="-d"/>
+    <arg value="${sourceDir}"/>
+    <arg value="-p"/>
+    <arg value="jalview.xml.binding.jalview"/>
+  </exec>
   <delete>
-    <fileset dir="${sourceDir}/jalview/schemabinding/version2">
+    <fileset dir="${sourceDir}/jalview/xml/binding/embl">
       <include name="*.java" />
-      <include name="descriptors/*.java" />
     </fileset>
   </delete>
-  <castor-srcgen file="${schemaDir}/vamsas.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
-  <castor-srcgen file="${schemaDir}/JalviewUserColours.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
-  <castor-srcgen file="${schemaDir}/JalviewWsParamSet.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
-  <castor-srcgen file="${schemaDir}/jalview.xsd" todir="${sourceDir}" package="jalview.schemabinding.version2" warnings="false" nodesc="false" verbose="true" properties="${schemaDir}/jalview.properties" />
-  <!-- 
-               now build the jalview.binding package with the old schema set
-               -->
+
+  <exec executable="xjc">
+    <arg value="${schemaDir}/embl.xsd"/>
+    <arg value="-d"/>
+    <arg value="${sourceDir}"/>
+    <arg value="-b"/>
+    <arg value="${schemaDir}/embl_bindings.xml"/>
+    <arg value="-p"/>
+    <arg value="jalview.xml.binding.embl"/>
+  </exec>
+
   <delete>
-    <fileset dir="${sourceDir}/jalview/binding/">
-      <include name="**" />
+    <fileset dir="${sourceDir}/jalview/xml/binding/uniprot">
+      <include name="*.java" />
     </fileset>
   </delete>
-  <castor-srcgen file="${schemaDir}/vamsasJvV1.xsd" todir="${sourceDir}" package="jalview.binding" warnings="false" nodesc="true" verbose="true" properties="${schemaDir}/jalview.nodesc.properties" />
-  <castor-srcgen file="${schemaDir}/JalviewUserColours.xsd" todir="${sourceDir}" package="jalview.binding" warnings="false" nodesc="true" verbose="true" properties="${schemaDir}/jalview.nodesc.properties" />
-  <castor-srcgen file="${schemaDir}/jalviewJvV1.xsd" todir="${sourceDir}" package="jalview.binding" warnings="false" nodesc="true" verbose="true" properties="${schemaDir}/jalview.nodesc.properties" />
+
+  <exec executable="xjc">
+    <arg value="${schemaDir}/uniprot.xsd"/>
+    <arg value="-d"/>
+    <arg value="${sourceDir}"/>
+    <arg value="-p"/>
+    <arg value="jalview.xml.binding.uniprot"/>
+  </exec>
 </target>
+
 <target name="sourcedist" description="create jalview source distribution" depends="init">
   <delete file="${source.dist.name}" />
   <!-- temporary copy of source to update timestamps -->
     <include name="ap_${jsonSimple}" />
   </fileset>
 </target>
-<target name="-signappletnotsa" unless="timestamp" depends="-signapplet">
+<target name="-signappletnotsa" if:blank="timestamp" depends="-signapplet" unless="nosign">
   <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false">
     <fileset refid="signappletjarset" />
   </signjar>
 </target>
 
-<target name="-signapplettsa" if="timestamp" depends="-signapplet">
+<target name="-signapplettsa" if="timestamp" depends="-signapplet" unless="nosign">
   <signjar storepass="${jalview.keystore.pass}" keypass="${jalview.key.pass}" keystore="${jalview.keystore}" alias="${jalview.key}" lazy="false" verbose="false" tsaproxyhost="${proxyHost}" tsaproxyport="${proxyPort}" tsaurl="${jalview.tsaurl}">
     <fileset refid="signappletjarset" />
   </signjar>
 </target>
 
 <target name="signApplet" description="internal target to sign applet" depends="-signappletnotsa,-signapplettsa" />
+<target name="pubapplet" description="Dummy target to keep legacy Jalview build system happy. We don't actually publish the applet anymore."/>
 
-<target name="pubapplet" description="installs the jalviewLite applet and dependent jars into an applet examples directory built under ${outputDir}" depends="makeApplet, signApplet">
+<target name="_pubapplet" description="installs the jalviewLite applet and dependent jars into an applet examples directory built under ${outputDir}" depends="makeApplet, signApplet">
 
   <!-- bizarre bug causes JmolApplet to always get signed, even if excluded from above. so copy explicitly -->
   <copy file="appletlib/${jmolJar}" tofile="${packageDir}/examples/u_${jmolJar}" overwrite="true" />
 
 </target>
 
-<target name="build-site" depends="init,prepare,compile-site,unzip-to-site">
-  <!-- closure compile -->
+<target name="build-site" depends="init,prepare,compile-site,unzip-to-site,make-j2s-cores">
   <!-- tarball -->
   <tar compression="gzip" destfile="site.tar.gz">
     <tarfileset dir="site" />
   </copy>
 </target>
 <target name="unzip-to-site" depends="prepare-site">
-  <property name="swingjs.zip" value="${swingjsdir}/SwingJS-site.zip" />
-  <unzip dest="${site}/" overwrite="true">
-    <fileset dir="libjs">
-      <include name="*.zip" />
-    </fileset>
-  </unzip>
-  <copy overwrite="true" todir="${site}/swingjs/j2s/">
-    <fileset dir="${resourceDir}">
-      <include name="**"/>
-    </fileset>
-  </copy>
-
-  <!-- copy test files into place in site -->
-  <copy todir="${site}/examples">
-    <fileset dir="examples">
-      <include name="*.*"/>
-    </fileset>
-  </copy>
-  <!-- lastly, update SwingJS -->
-  <unzip dest="${site}/" overwrite="true">
-    <fileset dir="${swingjsdir}">
-      <include name="SwingJS-site.zip"/>
-    </fileset>
-  </unzip>
+  <ant antfile="build-site.xml"/>
 </target>
+
+  <target name="make-j2s-cores" depends="">
+    <ant antfile="buildcore.xml" target="build-all-cores"/>
+  </target>
 </project>