JAL-1683 replace year/version strings with tokens in source
[jalview.git] / build.xml
index d440331..49fd37e 100755 (executable)
--- a/build.xml
+++ b/build.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <!--
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
- * Copyright (C) 2014 The Jalview Authors
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
  * 
  * This file is part of Jalview.
  * 
  * The Jalview Authors are detailed in the 'AUTHORS' file.
 -->
 <project name="jalviewX" default="usage" basedir=".">
-  <!-- we use jalopy to format our sources -->
-  <taskdef name="jalopy" classname="de.hunsicker.jalopy.plugin.ant.AntPlugin">
-    <classpath>
-      <fileset dir="utils/jalopy/lib">
-        <include name="*.jar" />
-      </fileset>
-    </classpath>
-  </taskdef>
-
   <target name="help" depends="usage" />
   <target name="usage">
     <echo message="~~~Jalview Ant build.xml Usage~~~~" />
         <include name="*.jar"/>
       </fileset> -->
       </path>
+       
     <!-- Jalview Version String displayed by application on startup and used to check for updates -->
     <property name="JALVIEW_VERSION" value="DEVELOPMENT" />
+       
+    <property name="INSTALLATION" value="Source" />
+       
     <!-- 2.4 (VAMSAS)" -->
     <!-- Include debugging information in javac true or false -->
     <property name="javac.debug" value="true" />
     <!-- Key Password -->
     <property name="jalview.key.pass" value="alignmentisfun" />
 
-
-
     <!-- Don't change anything below here unless you know what you are doing! -->
     <!-- Url path for WebStart in JNLP file -->
     <property name="WebStartLocation" value="http://www.jalview.org/webstart" />
     <!-- Webstart Image - looked for in resources/images -->
     <property name="WebStartImage" value="JalviewLogo_big.png"/>
     <!-- J2SE version needed for webstart launch -->
-    <property name="j2sev" value="1.6+"/>
+    <!-- Anne's version needs 1.7 - should rebuild VARNA to java 1.6 for release -->
+    <property name="j2sev" value="1.7+"/>
 
     <!-- Permissions for running Java applets and applications. -->
     <!-- Defaults are those suitable for deploying jalview webstart www.jalview.org -->
     <property name="outputJar" value="jalview.jar" />
     <!-- Jalview Applet JMol Jar Dependency -->
     <property name="jmolJar" value="JmolApplet-12.2.4.jar" />
+    <property name="varnaJar" value="VARNAv3-91.jar" />
     <property name="jalviewLiteJar" value="jalviewApplet.jar" />
     <!-- switch to indicate if we should obfuscate jalviewLite -->
-    <!--<property name="donotobfuscate" value="true"/> -->
+    <!-- <property name="donotobfuscate" value="true"/> -->
+    <!-- switch to exclude associations from generated jnlp files -->
+    <!-- <property name="nojnlpfileassocs" value="true"/> -->
 
     <!-- Jalview Web Service Clients - see the comments in 'buildextclients' for details -->
     <property name="wsdl.File" value="http://www.compbio.dundee.ac.uk/JalviewWS/services/jpred?wsdl" />
         <!-- the JmolApplet includes the JmolApplet console and the application javac seems to always try and build all packages 
                                -->
         <include name="${jmolJar}" />
+        <include name="${varnaJar}" />
       </fileset>
 
     </path>
     <property name="source.dist.name" value="${basedir}/jalview-src.tar.gz" />
     <!-- The Location of the java 1.1.8 jdk -->
-    <!--<property name="java118.home" value="C:\Sun\jdk1.1.8" />
-               -->
+    <!--<property name="java118.home" value="C:\Sun\jdk1.1.8" /> -->
     <property name="java118.home" value="${java.home}" />
-    <!--<property name="applet.jre.tools" value="${java118.home}/lib/classes.zip" />
+    <!-- <property name="applet.jre.tools" value="${java118.home}/lib/classes.zip" />
                -->
     <!-- jre for 1.4 version -->
     <property name="applet.jre.tools" value="${java.home}/lib/rt.jar"/>
         <include name="plugin.jar"/>
       </fileset>
       <pathelement location="appletlib/${jmolJar}" />
+      <pathelement location="lib/${varnaJar}" />
     </path>
     <!-- default location for outputting javadoc -->
     <property name="javadocDir" value="${packageDir}/javadoc"/>
     <properties file="${outputDir}/.build_properties">
       <header>
           ---Jalview Build Details---
-        </header>
+        </header>      
       <property name="VERSION" value="${JALVIEW_VERSION}" />
+      <property name="INSTALLATION" value="${INSTALLATION}" />
       <property name="BUILD_DATE" value="${build.date}" />
     </properties>
   </target>
     <echo>java -classpath ${run.classpath} jalview.bin.Jalview
       </echo>
   </target>
-  <target name="writejnlpf">
+
+  <target name="-generatejnlpf">
     <presetdef name="jnlpf">
       <jnlp codebase="${WebStartLocation}">
         <information>
             <include name="*.jar" />
             <include name="*_*.jar" />
             <exclude name="jalview.jar" />
+               <exclude name="*jnilib.jar"/>
           </fileset>
+       </resources>
+        <resources os="Mac OS X">
           <property name="jalview.version" value="${JALVIEW_VERSION}" />
+               <fileset dir="${packageDir}">
+                       <include name="*quaqua*.jnilib.jar"/>
+               </fileset>
         </resources>
+       
         <application_desc main_class="jalview.bin.Jalview">
         </application_desc>
         <security>
     </presetdef>
 
     <jnlpf toFile="${jnlpFile}"/>
+
+  </target>
+
+  <target name="-dofakejnlpfileassoc" depends="-generatejnlpf" if="nojnlpfileassocs">
+    <echo message="Not adding JNLP File Associations"/>
+  </target>
+
+  <target name="-dojnlpfileassoc" depends="-generatejnlpf" unless="nojnlpfileassocs">
     <replace file="${jnlpFile}">
       <replacetoken>
         <![CDATA[</information>]]></replacetoken>
       <replacevalue>
         <![CDATA[
-        <association mime-type="application-x/ext-file" extensions="fa" />
+          <association mime-type="application-x/ext-file" extensions="fa" />
         <association mime-type="application-x/ext-file" extensions="fasta" />
         <association mime-type="application-x/ext-file" extensions="mfa" />
         <association mime-type="application-x/ext-file" extensions="fastq" />
         <association mime-type="application-x/ext-file" extensions="jvp"/>
       </information>]]></replacevalue>
   </replace>
+  <echo message="Added file associations to JNLP file"/>
 </target>
+<target name="writejnlpf" depends="-dojnlpfileassoc,-dofakejnlpfileassoc">
+</target>
+
 <target name="buildextclients" depends="init">
   <input message="Building external client source from WSDLs - Do you really want to do this ? (Yy/Nn)" validargs="Y,y,n,N" defaultvalue="N" addproperty="doextbuild.response" />
   <condition property="dontextbuild">
   <mkdir dir="${outputDir}" />
   <javac source="1.5" target="1.5" srcdir="${sourceDir}" destdir="${outputDir}" debug="${javac.debug}" 
                        classpathref="jalviewlite.deps" includes="jalview/appletgui/**"
-                       excludes="ext/**,MCview/**,org/**,vamsas/**" />
+                       excludes="ext/**,MCview/**,org/**,vamsas/**,jalview/ext/paradise/**" />
 </target>
 
 <target name="packageApplet" depends="compileApplet, buildPropertiesFile">
   </signjar>
   <!-- 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" />
+       <!-- finally, replace any launchApp servlet tags with a version specification -->
+       <replace value="http://www.jalview.org/services/launchApp?version=${JALVIEW_VERSION}&quot;">
+               <replacetoken><![CDATA[http://www.jalview.org/services/launchApp"]]></replacetoken>
+               <fileset dir="${packageDir}/examples">
+                       <include name="**/*.html"/>
+               </fileset>
+       </replace>
+       <replace value="http://www.jalview.org/services/launchApp?version=${JALVIEW_VERSION}'">
+               <replacetoken><![CDATA[http://www.jalview.org/services/launchApp']]></replacetoken>
+               <fileset dir="${packageDir}/examples">
+                       <include name="**/*.html"/>
+               </fileset>
+       </replace>
+
 </target>
 <target name="sourcedoc" description="Create jalview source documentation pages" depends="init">
   <javadoc destdir="${javadocDir}">