Merge branch 'Jalview-BH/JAL-3026' into task/JAL-3033_jalviewjs_ant
authorJim Procter <jprocter@issues.jalview.org>
Mon, 25 Jun 2018 15:50:05 +0000 (16:50 +0100)
committerJim Procter <jprocter@issues.jalview.org>
Mon, 25 Jun 2018 15:50:05 +0000 (16:50 +0100)
.ant-targets-build.xml
.classpath.js [new file with mode: 0644]
build.xml

index 7ef21f1..8dd03da 100644 (file)
@@ -1,2 +1,33 @@
+build
+build-site
+buildPropertiesFile
+buildTests
+buildextclients
+buildindices
+castorbinding
+clean
+compileApplet
+distclean
+eclipse-install
 help
+init
+linkcheck
+makeApplet
+makedist
+makefulldist
+obfuscate
+packageApplet
+prepare
+prepareTests
+preparejnlp
+prepubapplet_1
+pubapplet
+runenv
+signApplet
+sourcedist
+sourcedoc
+sourcescrub
+testclean
+testng
 usage
+writejnlpf
diff --git a/.classpath.js b/.classpath.js
new file mode 100644 (file)
index 0000000..a7e0609
--- /dev/null
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="src" path="src"/>
+       <!-- Not needed for java2script build
+        <classpathentry kind="src" path="utils"/>
+       <classpathentry kind="src" path="test"/>
+       -->
+        <classpathentry kind="lib" path="lib/activation.jar"/>
+       <classpathentry kind="lib" path="lib/axis.jar" sourcepath="D:/axis-1_2RC2-src/axis-1_2RC2"/>
+       <classpathentry kind="lib" path="lib/commons-discovery.jar"/>
+       <classpathentry kind="lib" path="lib/jaxrpc.jar"/>
+       <classpathentry kind="lib" path="lib/jhall.jar"/>
+       <classpathentry kind="lib" path="lib/mail.jar"/>
+       <classpathentry kind="lib" path="lib/regex.jar"/>
+       <classpathentry kind="lib" path="lib/saaj.jar"/>
+       <classpathentry kind="lib" path="lib/wsdl4j.jar"/>
+       <classpathentry kind="lib" path="lib/xercesImpl.jar"/>
+       <classpathentry kind="lib" path="lib/castor-1.1-cycle-xml.jar" sourcepath="C:/Documents and Settings/JimP/workspace-3.3/castor/src/main/java"/>
+       <classpathentry kind="lib" path="lib/JGoogleAnalytics_0.3.jar" sourcepath="/JGoogleAnalytics/src/main/java"/>
+       <classpathentry kind="lib" path="lib/vamsas-client.jar"/>
+       <classpathentry kind="lib" path="lib/commons-logging-1.1.1.jar"/>
+       <classpathentry kind="lib" path="lib/apache-mime4j-0.6.jar" sourcepath="G:/InstallsDir/Sources for Development/apache-mime4j-0.6-src.zip"/>
+       <classpathentry kind="lib" path="lib/httpclient-4.0.3.jar">
+               <attributes>
+                       <attribute name="javadoc_location" value="file:/D:/InstallsDir/Sources for Development/httpconnect/httpcomponents-client-4.0.3/javadoc/"/>
+               </attributes>
+       </classpathentry>
+       <classpathentry kind="lib" path="lib/httpcore-4.0.1.jar">
+               <attributes>
+                       <attribute name="javadoc_location" value="file:/D:/InstallsDir/Sources for Development/httpconnect/httpcomponents-client-4.0.3/javadoc/"/>
+               </attributes>
+       </classpathentry>
+       <classpathentry kind="lib" path="lib/httpmime-4.0.3.jar">
+               <attributes>
+                       <attribute name="javadoc_location" value="file:/D:/InstallsDir/Sources for Development/httpconnect/httpcomponents-client-4.0.3/javadoc/"/>
+               </attributes>
+       </classpathentry>
+       <classpathentry kind="lib" path="lib/miglayout-4.0-swing.jar"/>
+       <classpathentry kind="lib" path="lib/jswingreader-0.3.jar" sourcepath="/jswingreader"/>
+       <classpathentry kind="lib" path="lib/commons-codec-1.3.jar"/>
+       <classpathentry kind="lib" path="lib/jdas-1.0.4.jar"/>
+       <classpathentry kind="lib" path="lib/spring-core-3.0.5.RELEASE.jar"/>
+       <classpathentry kind="lib" path="lib/spring-web-3.0.5.RELEASE.jar"/>
+       <classpathentry kind="lib" path="lib/jabaws-min-client-2.2.0.jar" sourcepath="/clustengine"/>
+       <classpathentry kind="lib" path="lib/json_simple-1.1.jar" sourcepath="/Users/jimp/Downloads/json_simple-1.1-all.zip"/>
+       <classpathentry kind="lib" path="lib/slf4j-api-1.7.7.jar"/>
+       <classpathentry kind="lib" path="lib/jsoup-1.8.1.jar"/>
+       <classpathentry kind="lib" path="lib/log4j-to-slf4j-2.0-rc2.jar"/>
+       <classpathentry kind="lib" path="lib/slf4j-log4j12-1.7.7.jar"/>
+       <classpathentry kind="lib" path="lib/VARNAv3-93.jar"/>
+       <classpathentry kind="lib" path="lib/jfreesvg-2.1.jar"/>
+       <classpathentry kind="lib" path="lib/quaqua-filechooser-only-8.0.jar"/>
+       <classpathentry kind="lib" path="lib/VAqua4.jar"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/plugin"/>
+       <classpathentry kind="lib" path="lib/xml-apis.jar"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/Plugin.jar"/>
+       <classpathentry kind="lib" path="lib/jersey-client-1.19.jar"/>
+       <classpathentry kind="lib" path="lib/jersey-core-1.19.jar"/>
+       <classpathentry kind="lib" path="lib/jsr311-api-1.1.1.jar"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/plugin.jar"/>
+       <classpathentry kind="lib" path="lib/jetty-server-9.2.10.v20150310.jar"/>
+       <classpathentry kind="lib" path="lib/servlet-api-3.1.jar"/>
+       <classpathentry kind="lib" path="lib/jetty-util-9.2.10.v20150310.jar"/>
+       <classpathentry kind="lib" path="lib/jetty-http-9.2.10.v20150310.jar"/>
+       <classpathentry kind="lib" path="lib/jetty-io-9.2.10.v20150310.jar"/>
+       <classpathentry kind="lib" path="lib/java-json.jar"/>
+       <classpathentry kind="lib" path="lib/Jmol-14.6.4_2016.10.26.jar"/>
+       <classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
+       <classpathentry kind="lib" path="lib/biojava-core-4.1.0.jar"/>
+       <classpathentry kind="lib" path="lib/biojava-ontology-4.1.0.jar"/>
+       <classpathentry kind="lib" path="lib/htsjdk-2.12.0.jar"/>
+       <classpathentry kind="lib" path="lib/groovy-all-2.4.12-indy.jar"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+       <classpathentry kind="output" path="classes"/>
+</classpath>
index d826d83..1b2aac1 100755 (executable)
--- a/build.xml
+++ b/build.xml
 
   <target name="buildindices" depends="init, prepare" unless="help.uptodate">
     <replace value="${JALVIEW_VERSION}">
-      <replacetoken><![CDATA[$$Version-Rel$$]]></replacetoken>
+      <replacetoken>
+        <![CDATA[$$Version-Rel$$]]>
+      </replacetoken>
       <fileset dir="${outputDir}/${helpDir}">
         <include name="help.jhm" />
       </fileset>
         </resources>
         <resources os="Mac OS X">
           <fileset dir="${packageDir}">
-                <include name="quaqua-filechooser-only-8.0.jar"/>
+            <include name="quaqua-filechooser-only-8.0.jar"/>
             <include name="*quaqua64*.jnilib.jar" />
           </fileset>
         </resources>
     <jnlpf toFile="${jnlpFile}" />
     <!-- add the add-modules j2se attribute for java 9 -->
     <replace file="${jnlpFile}" value="j2se version=&quot;1.8+&quot; initial-heap-size=&quot;${inih}&quot; max-heap-size=&quot;${maxh}&quot; java-vm-args=&quot;--add-modules=java.se.ee --illegal-access=warn&quot;">
-          <replacetoken>j2se version="1.8+"</replacetoken>
+      <replacetoken>j2se version="1.8+"</replacetoken>
     </replace>
   </target>
 
   <!-- each replacetoken CDATA body must be on one line - 
        otherwise the pattern doesn't match -->
   <replace value="${JALVIEW_VERSION}">
-    <replacetoken><![CDATA[$$Version-Rel$$]]></replacetoken>
+    <replacetoken>
+      <![CDATA[$$Version-Rel$$]]>
+    </replacetoken>
     <fileset dir="_sourcedist">
       <include name="**/*" />
     </fileset>
   </replace>
   <replace dir="_sourcedist" value="${build.year}">
-    <replacetoken><![CDATA[$$Year-Rel$$]]></replacetoken>
+    <replacetoken>
+      <![CDATA[$$Year-Rel$$]]>
+    </replacetoken>
     <fileset dir="_sourcedist">
       <include name="**/*" />
     </fileset>
   <javac srcdir="utils" destdir="utils" includes="HelpLinksChecker.java"/>
   <java fork="true" dir="${helpDir}" classpath="utils" classname="HelpLinksChecker" failonerror="true">
     <arg file="${helpDir}"/>
-    <arg value="-nointernet"/>
+    <arg value="-nointernet" />
   </java>
 </target>
+
+<target name="eclipse-install" depends="init,prepare">
+
+  <property name="eclipseTempFile" value="eclipse-jee-oxygen-R-linux-gtk-x86_64.tar.gz"/>
+  <property name="eclipseInstallURL" value="http://mirror.csclub.uwaterloo.ca/eclipse/technology/epp/downloads/release/oxygen/R/eclipse-jee-oxygen-R-linux-gtk-x86_64.tar.gz"/>
+  <property name="java2scriptURL" value="https://github.com/BobHanson/java2script/blob/master/sources/net.sf.j2s.core/dist/dropins/net.sf.j2s.core.jar?raw=true"/>
+
+  <get url="${eclipseInstallURL}" dest="${eclipseTempFile}"/>
+  <untar compression="gzip" src="${eclipseTempFile}" dest="${eclipse-inst}"/>
+
+  <!-- not needed since we ship transpiler with source
+    <get url="${java2scriptURL}" dest="eclipse-inst/dropins/net.sf.j2s.core.jar" /> -->
+
+</target>
+<target name="build-site" depends="init,prepare">
+  <property name="swingjsdir" value="swingjs"/>
+  <property name="eclipse-inst" value="../../eclipse-js/"/>
+  <property name="eclipse-exec" value="${eclipse-inst}/eclipse"/>
+  <property name="site" value="site"/>
+  <!-- where the eclipse js workspace has been initialised -->
+  <property name="eclipse-work" value="/home/bamboo/buildtools/eclipse/eclipse-js-workspace"/>
+  <!-- git repository linked to project in workspace -->
+  <property name="eclipse-workrepo" value="/home/bamboo/buildtools/eclipse/eclipse-js-workspace/jalview-js"/>
+    
+  <!-- update transpiler -->
+  <copy file="${swingjsdir}/net.sf.j2s.core.jar" todir="${eclipse-inst}/dropins"/>
+  <!-- update the git repo linked to the eclipse workspace -->
+  <exec executable="/usr/bin/git" outputproperty="git.commit" failifexecutionfails="true">
+    <arg value="rev-parse" />
+    <arg value="--short" />
+    <arg value="HEAD" />
+  </exec>
+  <!-- and checkout the same commit in the workspace project -->
+  <exec executable="/usr/bin/git" failifexecutionfails="true" dir="${eclipse-workrepo}">
+  <arg value="checkout" />
+  <arg value="${git.commit}" />
+  </exec>
+  
+  <copyfile src="${eclipse-workrepo}/.classpath.js" dest="${eclipse-workrepo}/.classpath"/>
+  
+  <!-- execute the eclipse build - the build may fail but valid javascript may still be produced, so we ignore return codes -->
+  <exec executable="${eclipse-exec}" failonerror="no">
+    <arg value="-nosplash"/>
+    <arg value="--launcher.suppressErrors"/>
+    <arg value="-application"/>
+    <arg value="org.eclipse.jdt.apt.core.aptBuild"/>
+    <arg value="-data"/>
+    <arg value="${eclipse-work}"/>
+  </exec>
+    
+  <!-- TODO: run jslint and something else here to check we have a complete set of .js files for java -->
+  <!-- possibly compare timestamps between .js files and their mate in source - any newer or not present triggers a new build -->
+  <!-- <mkdir dir="${packageDir}/${site}" /> -->
+  <!--   <property name="swingjs.zipurl" value="https://github.com/BobHanson/java2script/blob/master/sources/net.sf.j2s.java.core/dist/SwingJS-site.zip?raw=true" /> -->
+  
+  <!-- and reset the .classpath -->
+  <exec executable="/usr/bin/git" failifexecutionfails="true" dir="${eclipse-workrepo}">
+      <arg value="checkout" />
+      <arg value="${git.commit} .classpath" />
+      </exec>
+  
+  <!-- finally copy artefacts from eclipse project checkout to the build site -->
+  <copydir src="${eclipse-workrepo}/site" dest="${site}"/>
+  
+  <property name="swingjs.zip" value="${swingjsdir}/SwingJS-site.zip" />
+  <unzip src="${swingjs.zip}" dest="${site}/" overwrite="true"/>
+  <copy todir="${site}/swingjs/j2s/">
+    <fileset dir="${resourceDir}">
+       <include name="**"/>
+       </fileset>
+  </copy>
+  
+  <copy todir="${site}/examples">
+  <fileset dir="examples">
+  <include name="*.*"/>
+    </fileset>
+  </copy>
+  <!-- closure compile -->
+  <!-- copy test files into place in site -->
+</target>
 </project>