JWS-116 New fixes to the documentation pages. Various fixes to the content, as well...
[jabaws.git] / build.xml
index af10a7e..0ae53df 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<project default="jabaws" name="Build Java Bioinformatics Analysis Web Services" basedir=".">
+<project default="build-all" name="Build Java Bioinformatics Analysis Web Services" basedir=".">
 
-       <property name="LD_LIBRARY_PATH" value="/gridware/sge/lib/lx24-amd64"/>
+       <property name="LD_LIBRARY_PATH" value="/gridware/sge/lib/lx-amd64"/>
+       <property name="JAVA_TARGET" value="1.7"/>
 
        <!-- Distributive file names-->
        <property name="distdir" value="website/archive"/>
        <!-- dependencies on other compbio projects  -->
        <property name="compbio-annotation" value="compbio-annotations-1.0.jar"/>
        <property name="compbio-util" value="compbio-util-1.4.jar"/>
-       <property name="compbio-ga" value="compbio-ga-1.0.jar"/>
+       <property name="compbio-ga" value="compbio-ga-1.1.jar"/>
 
        <!-- products -->
-       <property name="jabaws_version" value="2.1.0"/>
+       <property name="jabaws_version" value="2.2.0"/>
+       <property name="core" value="${distdir}/jabaws-core-${jabaws_version}.jar"/>
+       <property name="core-src" value="${distdir}/jabaws-core-src-${jabaws_version}.jar"/>
        <property name="datamodel" value="${distdir}/datamodel-${jabaws_version}.jar"/>
        <property name="datamodel-src" value="${distdir}/datamodel-src-${jabaws_version}.jar"/>
        <property name="min-jabaws-client" value="${distdir}/min-jabaws-client-${jabaws_version}.jar"/>
        <property name="min-jabaws-client-nolog" value="${distdir}/min-jabaws-client-nolog-${jabaws_version}.jar"/>
        <property name="jabaws-client-src" value="${distdir}/jabaws-client-src-${jabaws_version}.jar"/>
-       <property name="aacon-ws-client" value="${distdir}/aacon-ws-client.jar"/>
        <property name="full-jabaws-client" value="${distdir}/full-jabaws-client-${jabaws_version}.jar"/>
        <property name="jabaws-source-jar" value="${distdir}/jabaws-src-${jabaws_version}.jar"/>
        <property name="full-jabaws-client-pack" value="${distdir}/full-jabaws-client-${jabaws_version}-pack.zip"/>
        <property name="jabaws" value="${distdir}/jabaws.war"/>
-       <!-- TODO 
-       <property name="jabaws-dundee" value="${distdir}/jabaws-dundee.war"/>
-       -->
        <property name="jabaws-no-binaries" value="${distdir}/jabaws-no-binaries.war"/>
        <property name="binaries" value="${distdir}/binaries.zip"/>
        <property name="jabaws-devel-web" value="${distdir}/jabaws-devel-website.zip"/>
                <!-- copy files to class path-->
                <copy file="${basedir}/log/log4j.properties" tofile="${classes}/log4j.properties" />
                <!-- Complile the datamodel first -->
-               <javac srcdir="${basedir}/datamodel" destdir="${classes}" target="1.6"
-                               source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
+               <javac srcdir="${basedir}/datamodel" destdir="${classes}" target="${JAVA_TARGET}" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
                        <compilerarg value="-Xlint:unchecked"/>
                        <classpath refid="project.classpath" />
                </javac>
                <!-- Complile the engines -->
-               <javac srcdir="${basedir}/engine" destdir="${classes}" target="1.6"
-                               source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
+               <javac srcdir="${basedir}/engine" destdir="${classes}" target="${JAVA_TARGET}" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
                        <compilerarg value="-Xlint:unchecked"/>
                        <classpath refid="project.classpath" />
                </javac>
                <!-- Complile the runners -->
-               <javac srcdir="${basedir}/runner" destdir="${classes}" target="1.6"
-                               source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
+               <javac srcdir="${basedir}/runner" destdir="${classes}" target="${JAVA_TARGET}" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
                        <compilerarg value="-Xlint:unchecked"/>
                        <classpath refid="project.classpath" />
                </javac>
                <!-- Complile the webservices -->
-               <javac srcdir="${basedir}/webservices" destdir="${classes}" target="1.6"
-                               source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
+               <javac srcdir="${basedir}/webservices" destdir="${classes}" target="${JAVA_TARGET}" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
                        <compilerarg value="-Xlint:unchecked"/>
                        <classpath refid="project.classpath" />
                </javac>
                <!-- Complile the tests -->
-               <javac srcdir="${basedir}/testsrc" destdir="${classes}" target="1.6"
-                               source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
+               <javac srcdir="${basedir}/testsrc" destdir="${classes}" target="${JAVA_TARGET}" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
                        <compilerarg value="-Xlint:unchecked"/>
                        <classpath refid="project.classpath" />
                        <classpath refid="test.classpath" />
                <!-- copy files to class path-->
                <copy file="${basedir}/log/log4j.properties" tofile="${classes}/log4j.properties" />
                <!-- Complile the datamodel first -->
-               <javac srcdir="${basedir}/datamodel" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
+               <javac srcdir="${basedir}/datamodel" destdir="${classes}" target="${JAVA_TARGET}" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
                        <compilerarg value="-Xlint:-unchecked" />
                        <classpath refid="project.classpath" />
                </javac>
                <!-- Complile the engines -->
-               <javac srcdir="${basedir}/engine" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
-                       <compilerarg value="-Xlint:-all" />
+               <javac srcdir="${basedir}/engine" destdir="${classes}" target="${JAVA_TARGET}" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
+                       <compilerarg value="-Xlint:all" />
                        <compilerarg value="-Xlint:-unchecked" />
                        <classpath refid="project.classpath" />
                </javac>
                <!-- Complile the runners -->
-               <javac srcdir="${basedir}/runner" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
+               <javac srcdir="${basedir}/runner" destdir="${classes}" target="${JAVA_TARGET}" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
                        <compilerarg value="-Xlint:-unchecked" />
                        <classpath refid="project.classpath" />
                </javac>
                <!-- Complile the webservices -->
-               <javac srcdir="${basedir}/webservices" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
+               <javac srcdir="${basedir}/webservices" destdir="${classes}" target="${JAVA_TARGET}" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
                        <compilerarg value="-Xlint:-unchecked" />
                        <classpath refid="project.classpath" />
                </javac>
 
        <target name="datamodel-jar" depends="compile" description="Pack data model classes">
                <echo>Jar file: Minimal WS client jar</echo>
-               <delete file="${basedir}/${datamodel}">
-               </delete>
+               <delete file="${basedir}/${datamodel}"></delete>
                <jar jarfile="${basedir}/${datamodel}">
                        <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >
                                <include name="${compbio-util}"/>
                </jar>
        </target>
 
+       <target name="datamodel-source-jar" depends="compile" description="Pack java sources">
+               <delete file="${datamodel-src}"></delete>
+               <jar jarfile="${datamodel-src}">
+                       <fileset dir="${basedir}/datamodel">
+                               <include name="**"/>
+                       </fileset>
+                       <zipgroupfileset excludes="META-INF/*.MF" dir="${lib.path}/src">
+                               <include name="**"/>
+                       </zipgroupfileset>
+                       <manifest>
+                               <attribute name="Built-By" value="${author}" />
+                               <attribute name="Implementation-Title" value="${product} Datamodel Source Code Archive" />
+                               <attribute name="Implementation-Vendor" value="${author}" />
+                               <attribute name="Implementation-URL" value="${project.url}" />
+                       </manifest>
+               </jar>
+       </target>
+
+       <target name="core-jar" depends="compile" description="Pack jabaws core classes">
+               <echo>Jar file: JABAWS core jar</echo>
+               <delete file="${basedir}/${core}"></delete>
+               <jar jarfile="${basedir}/${core}">
+                       <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >
+                               <include name="${compbio-util}"/>
+                               <include name="${compbio-annotation}"/>
+                       </zipgroupfileset>
+                       <fileset refid="fullclient"/>
+                       <manifest>
+                               <attribute name="Built-By" value="${author}" />
+                               <attribute name="Class-Path" value="." />
+                               <attribute name="Implementation-Title" value="JABAWS Core for ${product}" />
+                               <attribute name="Implementation-Vendor" value="${author}" />
+                               <attribute name="Implementation-URL" value="${project.url}" />
+                       </manifest>
+               </jar>
+       </target>
+
+       <target name="core-source-jar" depends="compile" description="Pack jabaws core java sources">
+               <delete file="${core-src}"></delete>
+               <jar jarfile="${core-src}">
+                       <fileset dir="${basedir}/datamodel">
+                               <include name="**"/>
+                       </fileset>
+                       <fileset dir="${basedir}/engine">
+                               <include name="**"/>
+                       </fileset>
+                       <zipgroupfileset excludes="META-INF/*.MF" dir="${lib.path}/src">
+                               <include name="**"/>
+                       </zipgroupfileset>
+                       <manifest>
+                               <attribute name="Built-By" value="${author}" />
+                               <attribute name="Implementation-Title" value="${product} JABAWS Core Source Code Archive" />
+                               <attribute name="Implementation-Vendor" value="${author}" />
+                               <attribute name="Implementation-URL" value="${project.url}" />
+                       </manifest>
+               </jar>
+       </target>
+
        <target name="jabaws-client-src-jar" depends="datamodel-source-jar" description="Pack metadata, data model, WS interfaces, a simple ws client class">
                <echo>Jar file: JABAWS client source</echo>
                <delete file="${jabaws-client-src}">
                </jar>
        </target>
 
-       <target name="aacon-ws-client-jar" depends="compile, datamodel-jar" description="Pack metadata, data model, WS interfaces, a simple ws client class">
-               <echo>Jar file: AAConWS client jar</echo>
-               <delete file="${basedir}/${aacon-ws-client}">
-               </delete>
-               <jar jarfile="${basedir}/${aacon-ws-client}">
-                       <zipgroupfileset excludes="META-INF/*.SF" dir="" includes="${datamodel}" />
-                       <fileset dir="${basedir}/WEB-INF/classes/">
-                               <!-- This will include JAXWS artifacts. Alternatively they can be generated on the fly. -->
-                               <include name="compbio/data/msa/**"/>
-                               <include name="compbio/ws/client/**"/>
-                       </fileset>
-                       <manifest>
-                               <attribute name="Built-By" value="${author}" />
-                               <attribute name="Main-Class" value="compbio.ws.client.AAConClient" />
-                               <attribute name="Class-Path" value="." />
-                               <attribute name="Implementation-Title" value="AACon Client" />
-                               <attribute name="Implementation-Vendor" value="${author}" />
-                               <attribute name="Implementation-URL" value="http://www.compbio.dundee.ac.uk/aacon" />
-                       </manifest>
-               </jar>
-       </target>
-
        <target name="full-jabaws-client" depends="full-jabaws-client-jar, pack-binaries" description="Pack binaries with sources and configuration files">
                <echo>Packing binaries, and configuration files</echo>
                <zip destfile="${full-jabaws-client-pack}" >
                </jar>
        </target>
 
-       <target name="datamodel-source-jar" depends="compile" description="Pack java sources">
-               <delete file="${datamodel-src}">
-               </delete>
-               <jar jarfile="${datamodel-src}">
-                       <fileset dir="${basedir}/datamodel">
-                               <include name="**"/>
-                       </fileset>
-                       <zipgroupfileset excludes="META-INF/*.MF" dir="${lib.path}/src">
-                               <include name="**"/>
-                       </zipgroupfileset>
-                       <manifest>
-                               <attribute name="Built-By" value="${author}" />
-                               <attribute name="Implementation-Title" value="${product} Datamodel Source Code Archive" />
-                               <attribute name="Implementation-Vendor" value="${author}" />
-                               <attribute name="Implementation-URL" value="${project.url}" />
-                       </manifest>
-               </jar>
-       </target>
-
        <target name="full-jabaws-jar" depends="compile" description="Pack datamodel, engine, runners, configuration, binaries and webservices">
                <echo>Jar file: Full WS client jar</echo>
                <delete file="${full-jabaws-client}">
                                <include name="lib/*"/>
                        </zipfileset>
                        <zipfileset dir="${basedir}/ExecutionStatistic" prefix="ExecutionStatistic" />
-                       <zipfileset dir="${basedir}/statpages" prefix="statpages" />
+                       <zipfileset dir="${basedir}/website/statpages" prefix="statpages" />
                        <zipfileset dir="${basedir}/jobsout" prefix="jobsout" excludes="**/*"/>
                        <zipfileset dir="conf" prefix="conf" >
                                <exclude name="**/temp/**"/>
                        </zipfileset>
                        <!-- Add JABAWS web site apart from the binary archive -->
                        <zipfileset dir="${basedir}/website" excludes="archive/**, devel*.html, tests/**, template.html"/>
+                       <!-- Add JABAWS docs apart from the contents of _build -->
+                       <zipfileset dir="${basedir}/docs" excludes="_build/**"/>
                        <zipfileset dir="." includes="${full-jabaws-client}" fullpath="WEB-INF/lib/jabaws-client.jar"/>
                        <!-- Put a copy of log4j configuration file where it can be used  -->
                        <zipfileset dir="log" includes="log4j.properties" prefix="WEB-INF/classes"/>
                <zip destfile="${jabaws-devel-web}" whenempty="create">
                        <!-- Add JABAWS web site apart from the binary archive -->
                        <zipfileset dir="${basedir}/website" excludes="template.html, download.html, index.html, manual.html, howto.html, archive/**, prog_docs/**"/>
+                       <!-- Add JABAWS docs apart from the contents of _build -->
+                       <zipfileset dir="${basedir}/docs" excludes="_build/**"/>
                </zip>
        </target>
 
                </zip>
        </target>
 
-       <target name="build-all" depends="full-jabaws-client, minimal-jabaws-client-jar, jabaws-no-binaries, jabaws-complete, datamodel-jar, datamodel-source-jar, source-jar, jabaws-client-src-jar" description="Build-all the distributives"/>
+       <target name="build-all" depends="full-jabaws-client, minimal-jabaws-client-jar, jabaws-no-binaries, jabaws-complete, datamodel-jar, datamodel-source-jar, core-jar, core-source-jar, source-jar, jabaws-client-src-jar" description="Build-all the distributives"/>
 
        <!-- This task does not really depends on compile, but it is better to make sure that the code is sound -->
        <target name="archive-project" description="Pack everything in the project for those who do not have access to SVN" depends="compile">
                </zip>
        </target>
 
+<!-- ####################################################################################################################################### -->
 <!-- Test targets -->
        <taskdef name="testNG" classname="org.testng.TestNGAntTask">
                <classpath refid="test.classpath">
                </testNG>
        </target>
 
+       <target name="Test_webservices" depends="compile_with_debug">
+               <delete file="${activity.log}"/>
+               <testNG groups="webservices" haltonfailure="true" verbose="3" enableassert="true" >
+                       <jvmarg value="-server" />
+                       <jvmarg value="-enableassertions" />
+                       <jvmarg value="-Xms1024m" />
+                       <jvmarg value="-Xmx1024m" />
+                       <classfileset dir="${classes}" includes="**/*.class" />
+                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
+                       <classpath refid="test.classpath" />
+                       <classpath refid="project.classpath" />
+                       <sysproperty key="TestingDataPath" value="${data.src}"/>
+               </testNG>
+       </target>
+
        <target name="All_cluster_independent_windows_only_tests" depends="compile_with_debug">
                <delete file="${activity.log}" failonerror="false"/>
                <testNG excludedgroups="cluster, non_windows" haltonfailure="true" verbose="3" enableassert="true"  >
                        <sysproperty key="TestingDataPath" value="${data.src}"/>
                </testNG>
        </target>
+
+       <target name="TestAll" depends="compile_with_debug">
+               <delete file="${activity.log}"/>
+               <testNG haltonfailure="true" enableassert="true" verbose="3" >
+                       <jvmarg value="-server" />
+                       <jvmarg value="-enableassertions" />
+                       <jvmarg value="-Xms1024m" />
+                       <jvmarg value="-Xmx1024m" />
+                       <classfileset dir="${classes}" includes="**/*.class" />
+                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
+                       <classpath refid="test.classpath" />
+                       <classpath refid="project.classpath" />
+                       <sysproperty key="TestingDataPath" value="${data.src}"/>
+               </testNG>
+       </target>
+
 </project>