Improve building process: log4j.properties is in a right place both in
authorSasha <Main-laptop2>
Fri, 26 Jul 2013 10:13:12 +0000 (11:13 +0100)
committerSasha <Main-laptop2>
Fri, 26 Jul 2013 10:13:12 +0000 (11:13 +0100)
jabaw.war and Eclipse building

.classpath
build.xml
log/log4j.properties [new file with mode: 0644]
log/log4j.properties.dundee [moved from dundee-conf/log4j.properties with 100% similarity]
log/log4j.properties.full [moved from conf/log4j.properties.full with 100% similarity]

index c9f256a..2d206e3 100644 (file)
@@ -1,18 +1,19 @@
-<?xml version="1.0" encoding="UTF-8"?>\r
-<classpath>\r
-       <classpathentry kind="src" path="datamodel"/>\r
-       <classpathentry kind="src" path="engine"/>\r
-       <classpathentry kind="src" path="runner"/>\r
-       <classpathentry kind="src" path="webservices"/>\r
-       <classpathentry excluding="testdata/" kind="src" path="testsrc"/>\r
-       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>\r
-       <classpathentry kind="lib" path="testsrc/lib/testng-5.10-jdk15.jar"/>\r
-       <classpathentry kind="lib" path="lib/servlet-api.jar"/>\r
-       <classpathentry kind="lib" path="WEB-INF/lib/drmaa.jar"/>\r
-       <classpathentry kind="lib" path="WEB-INF/lib/log4j-1.2.15.jar"/>\r
-       <classpathentry kind="lib" path="WEB-INF/lib/compbio-annotations-1.0.jar"/>\r
-       <classpathentry kind="lib" path="WEB-INF/lib/compbio-util-1.4.jar"/>\r
-       <classpathentry kind="lib" path="WEB-INF/lib/derby.jar"/>\r
-       <classpathentry kind="lib" path="WEB-INF/lib/compbio-ga-1.0.jar"/>\r
-       <classpathentry kind="output" path="WEB-INF/classes"/>\r
-</classpath>\r
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+       <classpathentry kind="src" path="datamodel"/>
+       <classpathentry kind="src" path="log"/>
+       <classpathentry kind="src" path="engine"/>
+       <classpathentry kind="src" path="runner"/>
+       <classpathentry kind="src" path="webservices"/>
+       <classpathentry excluding="testdata/" kind="src" path="testsrc"/>
+       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+       <classpathentry kind="lib" path="testsrc/lib/testng-5.10-jdk15.jar"/>
+       <classpathentry kind="lib" path="lib/servlet-api.jar"/>
+       <classpathentry kind="lib" path="WEB-INF/lib/drmaa.jar"/>
+       <classpathentry kind="lib" path="WEB-INF/lib/log4j-1.2.15.jar"/>
+       <classpathentry kind="lib" path="WEB-INF/lib/compbio-annotations-1.0.jar"/>
+       <classpathentry kind="lib" path="WEB-INF/lib/compbio-util-1.4.jar"/>
+       <classpathentry kind="lib" path="WEB-INF/lib/derby.jar"/>
+       <classpathentry kind="lib" path="WEB-INF/lib/compbio-ga-1.0.jar"/>
+       <classpathentry kind="output" path="WEB-INF/classes"/>
+</classpath>
index 693e480..e3ce16a 100644 (file)
--- a/build.xml
+++ b/build.xml
-<?xml version="1.0" encoding="UTF-8"?>\r
-\r
-<project default="jabaws" name="Build Java Bioinformatics Analysis Web Services" basedir=".">\r
-\r
-       <property name="basedir" location="${basedir}/log" />\r
-       <property name="LD_LIBRARY_PATH" value="/gridware/sge/lib/lx24-amd64"/>\r
-\r
-       <!-- Distributive file names-->\r
-       <property name="distdir" value="website/archive"/>\r
-       <mkdir dir="${distdir}" />\r
-       \r
-       <!-- projects details -->\r
-       <property name="project.url" value="http://www.compbio.dundee.ac.uk/jabaws"/>\r
-       <property name="product" value="Java Bioinformatics Analyses Web Services"/>\r
-       <property name="author" value="Peter Troshin"/>\r
-       \r
-       <!-- dependencies on other compbio projects  -->\r
-       <property name="compbio-annotation" value="compbio-annotations-1.0.jar"/>\r
-       <property name="compbio-util" value="compbio-util-1.4.jar"/>\r
-       <property name="compbio-ga" value="compbio-ga-1.0.jar"/>\r
-       \r
-       <!-- products -->\r
-       <property name="jaba_version" value="2.0.1"/>\r
-       <property name="datamodel" value="${distdir}/datamodel-${jaba_version}.jar"/>\r
-       <property name="datamodel-src" value="${distdir}/datamodel-src-${jaba_version}.jar"/>\r
-       <property name="min-jaba-client" value="${distdir}/min-jaba-client-${jaba_version}.jar"/>\r
-       <property name="min-jaba-client-nolog" value="${distdir}/min-jaba-client-nolog-${jaba_version}.jar"/>\r
-       <property name="jaba-client-src" value="${distdir}/jabaws-client-src-${jaba_version}.jar"/>\r
-       <property name="aacon-ws-client" value="${distdir}/aacon-ws-client.jar"/>\r
-       <property name="full-jaba-client" value="${distdir}/full-jaba-client-${jaba_version}.jar"/>\r
-       <property name="jaba-source-jar" value="${distdir}/jabaws-src-${jaba_version}.jar"/>\r
-       <property name="full-jaba-client-pack" value="${distdir}/full-jaba-client-${jaba_version}-pack.zip"/>\r
-       <property name="jaba" value="${distdir}/jabaws.war"/>\r
-       <!-- TODO  \r
-       <property name="jaba-dundee" value="${distdir}/jaba-dundee.war"/>\r
-        -->\r
-       <property name="jaba-no-binaries" value="${distdir}/jabaws-no-binaries.war"/>\r
-       <property name="binaries" value="${distdir}/binaries.zip"/>\r
-       <property name="jaba-devel-web" value="${distdir}/jaba-devel-website.zip"/>\r
-\r
-       <!--Whole project archive -->\r
-       <property name="jaba-project" value="${distdir}/jaba-project.zip"/>\r
-\r
-       <!-- java -->\r
-       <property name="test.src" location="${basedir}/testsrc" />\r
-       <property name="classes" location="${basedir}/WEB-INF/classes" />\r
-       <property name="lib.path" location="${basedir}/lib" />\r
-       <property name="web.lib.path" location="${basedir}/WEB-INF/lib" />\r
-       <property name="test.lib.path" location="${basedir}/testsrc/lib" />\r
-       <property name="activity.log" location="${basedir}/activity.log" />\r
-\r
-       <!-- add libraries -->\r
-       <path id="project.classpath">\r
-               <fileset dir="${lib.path}">\r
-                       <include name="*.jar" />\r
-               </fileset>\r
-               <fileset dir="${web.lib.path}">\r
-                       <include name="*.jar" />\r
-               </fileset>\r
-       </path>\r
-\r
-       <!-- add test classes -->\r
-       <path id="test.classpath">\r
-               <fileset dir="${test.lib.path}">\r
-                       <include name="*.jar" />\r
-               </fileset>\r
-               <pathelement location="${classes}" />\r
-       </path>\r
-\r
-       <fileset dir="${basedir}/WEB-INF/classes/" id="fullclient">\r
-               <!-- Datamodel -->\r
-               <include name="compbio/data/**"/>\r
-               <include name="compbio/metadata/**"/>\r
-               <!-- Engines -->\r
-               <include name="compbio/engine/**"/>\r
-               <!-- Runners -->\r
-               <include name="compbio/runner/**"/>\r
-               <!-- Logging configuration -->\r
-       </fileset>\r
-\r
-       <!-- Clean temp directories -->\r
-       <target name="clean">\r
-               <delete dir="${classes}" />\r
-               <delete file="${distdir}/binaries.zip" />\r
-               <delete file="${basedir}/activity.log" />\r
-               <delete file="${basedir}/derby.log" />\r
-               <mkdir dir="${classes}" />\r
-               <copy file="${basedir}/conf/log4j.properties" tofile="${classes}/log4j.properties" />\r
-       </target>\r
-\r
-       <!-- Clean up temp directories and dist directory (all jar, zip, and war files deleted) -->\r
-       <target name="full-clean" depends="clean">\r
-               <delete>\r
-                       <fileset dir="${distdir}">\r
-                               <include name="*.jar"/>\r
-                               <include name="*.zip"/>\r
-                               <include name="*.war"/>\r
-                       </fileset>\r
-               </delete>\r
-       </target>\r
-\r
-       <target name="clearStatDB" description="Remove all records from statistics database">\r
-               <echo>Cleaning Statistics database</echo>\r
-               <java classname="compbio.stat.collector.StatDB" fork="false" failonerror="true" classpath="${classes}">\r
-               <classpath refid="project.classpath" />\r
-               </java>\r
-       </target>\r
-\r
-       <!--\r
-       The compilation order is \r
-       1. datamodel \r
-       2. engine\r
-       3. runner\r
-       4. testscr\r
-       5. webservices\r
-       Packages of the lower order could not have dependencies on the packages on the next layer. \r
-       So runners (layer 3) depends on the engines and the datamodel but engines does not depend on \r
-       anything in runners or any other layers above. Testsrc is not allowed to test webservices. \r
-       -->\r
-       <target name="compile_with_debug" depends="clean" description="Perform a multiple step compilation to ensure layered structure is preserved. Debug enabled.">\r
-               <!-- copy files to class path-->\r
-               <copy file="${basedir}/conf/log4j.properties" tofile="${classes}/log4j.properties" />\r
-               <!-- Complile the datamodel first -->\r
-               <javac srcdir="${basedir}/datamodel" destdir="${classes}" target="1.6"\r
-                               source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >\r
-                       <compilerarg value="-Xlint:unchecked"/>\r
-                       <classpath refid="project.classpath" />\r
-               </javac>\r
-               <!-- Complile the engines -->\r
-               <javac srcdir="${basedir}/engine" destdir="${classes}" target="1.6"\r
-                               source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >\r
-                       <compilerarg value="-Xlint:unchecked"/>\r
-                       <classpath refid="project.classpath" />\r
-               </javac>\r
-               <!-- Complile the runners -->\r
-               <javac srcdir="${basedir}/runner" destdir="${classes}" target="1.6"\r
-                               source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >\r
-                       <compilerarg value="-Xlint:unchecked"/>\r
-                       <classpath refid="project.classpath" />\r
-               </javac>\r
-               <!-- Complile the webservices -->\r
-               <javac srcdir="${basedir}/webservices" destdir="${classes}" target="1.6"\r
-                               source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >\r
-                       <compilerarg value="-Xlint:unchecked"/>\r
-                       <classpath refid="project.classpath" />\r
-               </javac>\r
-               <!-- Complile the tests -->\r
-               <javac srcdir="${basedir}/testsrc" destdir="${classes}" target="1.6"\r
-                               source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >\r
-                       <compilerarg value="-Xlint:unchecked"/>\r
-                       <classpath refid="project.classpath" />\r
-                       <classpath refid="test.classpath" />\r
-               </javac>\r
-       </target>\r
-\r
-       <!--\r
-       Compile with optimisation. Do not compile testsrc\r
-       The compilation order is \r
-       1. datamodel \r
-       2. engine\r
-       3. runner\r
-       4. webservices\r
-       Packages of the lower order could not have dependencies on the packages on the next layer. \r
-       So runners (layer 3) depends on the engines and the datamodel but engines does not depend \r
-       on anything in runners or any other layers above.\r
-       -->\r
-       <target name="compile" depends="clean" description="Perform a multiple step compilation to ensure layered structure is preserved. Debug disabled, optimisation enabled. Tests are not compiled.">\r
-               <!-- copy files to class path-->\r
-               <copy file="${basedir}/conf/log4j.properties" tofile="${classes}/log4j.properties" />\r
-               <!-- Complile the datamodel first -->\r
-               <javac srcdir="${basedir}/datamodel" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">\r
-                       <compilerarg value="-Xlint:-unchecked" />\r
-                       <classpath refid="project.classpath" />\r
-               </javac>\r
-               <!-- Complile the engines -->\r
-               <javac srcdir="${basedir}/engine" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">\r
-                       <compilerarg value="-Xlint:-all" />\r
-                       <compilerarg value="-Xlint:-unchecked" />\r
-                       <classpath refid="project.classpath" />\r
-               </javac>\r
-               <!-- Complile the runners -->\r
-               <javac srcdir="${basedir}/runner" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">\r
-                       <compilerarg value="-Xlint:-unchecked" />\r
-                       <classpath refid="project.classpath" />\r
-               </javac>\r
-               <!-- Complile the webservices -->\r
-               <javac srcdir="${basedir}/webservices" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">\r
-                       <compilerarg value="-Xlint:-unchecked" />\r
-                       <classpath refid="project.classpath" />\r
-               </javac>\r
-       </target>\r
-\r
-       <target name="datamodel-jar" depends="compile" description="Pack data model classes">\r
-               <echo>Jar file: Minimal WS client jar</echo>\r
-               <delete file="${basedir}/${datamodel}">\r
-               </delete>\r
-               <jar jarfile="${basedir}/${datamodel}">\r
-                       <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >\r
-                               <include name="${compbio-util}"/>\r
-                               <include name="${compbio-annotation}"/>\r
-                       </zipgroupfileset>\r
-                       <fileset dir="${basedir}/WEB-INF/classes/">\r
-                               <include name="compbio/data/sequence/*.class"/>\r
-                               <include name="compbio/metadata/*.class"/>\r
-                       </fileset>\r
-                       <manifest>\r
-                               <attribute name="Built-By" value="${author}" />\r
-                               <attribute name="Class-Path" value="." />\r
-                               <attribute name="Implementation-Title" value="Datamodel for ${product} " />\r
-                               <attribute name="Implementation-Vendor" value="${author}" />\r
-                               <attribute name="Implementation-URL" value="${project.url}" />\r
-                       </manifest>\r
-               </jar>\r
-       </target>\r
-\r
-       <target name="jaba-client-src-jar" depends="datamodel-source-jar" description="Pack metadata, data model, WS interfaces, a simple ws client class">\r
-               <echo>Jar file: JABAWS client source</echo>\r
-               <delete file="${jaba-client-src}">\r
-               </delete>\r
-               <jar jarfile="${jaba-client-src}">\r
-                       <zipgroupfileset  excludes="META-INF/*.MF" file="${datamodel-src}"/>\r
-                       <fileset dir="${basedir}/webservices">\r
-                               <!-- This will include JAXWS artifacts. Alternatively they can be generated on the fly. -->\r
-                               <include name="compbio/data/msa/**"/>\r
-                               <exclude name="compbio/ws/client/ServicesUtil**"/>\r
-                               <exclude name="compbio/ws/client/AAConClient**"/>\r
-                               <include name="compbio/ws/client/**"/>\r
-                       </fileset>\r
-                       <manifest>\r
-                               <attribute name="Built-By" value="${author}" />\r
-                               <attribute name="Implementation-Title" value="${product} Client Source Code" />\r
-                               <attribute name="Implementation-Vendor" value="${author}" />\r
-                               <attribute name="Implementation-URL" value="${project.url}" />\r
-                       </manifest>\r
-               </jar>\r
-       </target>\r
-\r
-       <target name="minimal-jaba-client-jar" depends="compile, datamodel-jar" description="Pack metadata, data model, WS interfaces, a simple ws client class">\r
-               <echo>Jar file: Minimal WS client jar</echo>\r
-               <delete file="${basedir}/${min-jaba-client}"></delete>\r
-               <jar jarfile="${basedir}/${min-jaba-client}">\r
-                       <zipgroupfileset excludes="META-INF/*.SF" dir="" includes="${datamodel}" />\r
-                       <fileset dir="${basedir}/WEB-INF/classes/">\r
-                               <!-- This will include JAXWS artifacts. Alternatively they can be generated on the fly. -->\r
-                               <include name="compbio/data/msa/**"/>\r
-                               <include name="compbio/ws/client/**"/>\r
-                       </fileset>\r
-                       <zipgroupfileset excludes="META-INF/*" dir="" includes="WEB-INF/lib/log4j-1.2.15.jar" />\r
-                       <manifest>\r
-                               <attribute name="Built-By" value="${author}" />\r
-                               <attribute name="Main-Class" value="compbio.ws.client.Jws2Client" />\r
-                               <attribute name="Class-Path" value="." />\r
-                               <attribute name="Implementation-Title" value="Minimal ${product} Client" />\r
-                               <attribute name="Implementation-Vendor" value="${author}" />\r
-                               <attribute name="Implementation-URL" value="${project.url}" />\r
-                       </manifest>\r
-               </jar>\r
-               <delete file="${basedir}/${min-jaba-client-nolog}"></delete>\r
-               <jar jarfile="${basedir}/${min-jaba-client-nolog}">\r
-                       <zipgroupfileset excludes="META-INF/*.SF" dir="" includes="${datamodel}" />\r
-                       <fileset dir="${basedir}/WEB-INF/classes/">\r
-                               <!-- This will include JAXWS artifacts. Alternatively they can be generated on the fly. -->\r
-                               <include name="compbio/data/msa/**"/>\r
-                               <include name="compbio/ws/client/**"/>\r
-                       </fileset>\r
-                       <manifest>\r
-                               <attribute name="Built-By" value="${author}" />\r
-                               <attribute name="Main-Class" value="compbio.ws.client.Jws2Client" />\r
-                               <attribute name="Class-Path" value="." />\r
-                               <attribute name="Implementation-Title" value="Minimal ${product} Client" />\r
-                               <attribute name="Implementation-Vendor" value="${author}" />\r
-                               <attribute name="Implementation-URL" value="${project.url}" />\r
-                       </manifest>\r
-               </jar>\r
-       </target>\r
-\r
-       <target name="full-jaba-client-jar" depends="compile" description="Pack datamodel, engine and runners">\r
-               <echo>Jar file: Full WS client jar</echo>\r
-               <delete file="${full-jaba-client}">\r
-               </delete>\r
-               <jar jarfile="${full-jaba-client}">\r
-                       <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >\r
-                               <include name="${compbio-util}"/>\r
-                               <include name="${compbio-annotation}"/>\r
-                               <include name="drmaa.jar"/>\r
-                       </zipgroupfileset>\r
-                       <fileset refid="fullclient"/>\r
-                       <manifest>\r
-                               <attribute name="Built-By" value="${author}" />\r
-                               <attribute name="Class-Path" value="." />\r
-                               <attribute name="Implementation-Title" value="Full ${product} Client" />\r
-                               <attribute name="Implementation-Vendor" value="${author}" />\r
-                               <attribute name="Implementation-URL" value="${project.url}" />\r
-                       </manifest>\r
-               </jar>\r
-       </target>\r
-\r
-       <target name="aacon-ws-client-jar" depends="compile, datamodel-jar" description="Pack metadata, data model, WS interfaces, a simple ws client class">\r
-               <echo>Jar file: AAConWS client jar</echo>\r
-               <delete file="${basedir}/${aacon-ws-client}">\r
-               </delete>\r
-               <jar jarfile="${basedir}/${aacon-ws-client}">\r
-                       <zipgroupfileset excludes="META-INF/*.SF" dir="" includes="${datamodel}" />\r
-                       <fileset dir="${basedir}/WEB-INF/classes/">\r
-                               <!-- This will include JAXWS artifacts. Alternatively they can be generated on the fly. -->\r
-                               <include name="compbio/data/msa/**"/>\r
-                               <include name="compbio/ws/client/**"/>\r
-                       </fileset>\r
-                       <manifest>\r
-                               <attribute name="Built-By" value="${author}" />\r
-                               <attribute name="Main-Class" value="compbio.ws.client.AAConClient" />\r
-                               <attribute name="Class-Path" value="." />\r
-                               <attribute name="Implementation-Title" value="AACon Client" />\r
-                               <attribute name="Implementation-Vendor" value="${author}" />\r
-                               <attribute name="Implementation-URL" value="http://www.compbio.dundee.ac.uk/aacon" />\r
-                       </manifest>\r
-               </jar>\r
-       </target>\r
-\r
-       <target name="full-jaba-client" depends="full-jaba-client-jar, pack-binaries" description="Pack binaries with sources and configuration files">\r
-               <echo>Packing binaries, and configuration files</echo>\r
-               <zip destfile="${full-jaba-client-pack}" >\r
-                       <zipgroupfileset file="${binaries}" />\r
-                       <zipfileset dir="conf" prefix="conf" >\r
-                               <exclude name="**/temp/**"/>\r
-                       </zipfileset>\r
-                       <fileset file="${full-jaba-client}" />\r
-               </zip>\r
-       </target>\r
-\r
-\r
-       <target name="source-jar" depends="datamodel-source-jar" description="Pack java sources">\r
-               <delete file="${basedir}/${jaba-source-jar}">\r
-               </delete>\r
-               <jar jarfile="${basedir}/${jaba-source-jar}">\r
-                       <zipgroupfileset  excludes="META-INF/*.MF" file="${datamodel-src}"/>\r
-                       <fileset dir="${basedir}/runner">\r
-                               <include name="**"/>\r
-                       </fileset>\r
-                       <fileset dir="${basedir}/engine">\r
-                               <include name="**"/>\r
-                       </fileset>\r
-                       <fileset dir="${basedir}/webservices/">\r
-                               <include name="**"/>\r
-                       </fileset>\r
-                       <manifest>\r
-                               <attribute name="Built-By" value="${author}" />\r
-                               <attribute name="Class-Path" value="." />\r
-                               <attribute name="Implementation-Title" value="${product} Source Code Archive" />\r
-                               <attribute name="Implementation-Vendor" value="${author}" />\r
-                               <attribute name="Implementation-URL" value="${project.url}" />\r
-                       </manifest>\r
-               </jar>\r
-       </target>\r
-\r
-       <target name="datamodel-source-jar" depends="compile" description="Pack java sources">\r
-               <delete file="${datamodel-src}">\r
-               </delete>\r
-               <jar jarfile="${datamodel-src}">\r
-                       <fileset dir="${basedir}/datamodel">\r
-                               <include name="**"/>\r
-                       </fileset>\r
-                       <zipgroupfileset excludes="META-INF/*.MF" dir="${lib.path}/src">\r
-                               <include name="**"/>\r
-                       </zipgroupfileset>\r
-                       <manifest>\r
-                               <attribute name="Built-By" value="${author}" />\r
-                               <attribute name="Implementation-Title" value="${product} Datamodel Source Code Archive" />\r
-                               <attribute name="Implementation-Vendor" value="${author}" />\r
-                               <attribute name="Implementation-URL" value="${project.url}" />\r
-                       </manifest>\r
-               </jar>\r
-       </target>\r
-\r
-       <target name="full-jaba-jar" depends="compile" description="Pack datamodel, engine, runners, configuration, binaries and webservices">\r
-               <echo>Jar file: Full WS client jar</echo>\r
-               <delete file="${full-jaba-client}">\r
-               </delete>\r
-               <jar jarfile="${full-jaba-client}">\r
-                       <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >\r
-                               <include name="log4j-1.2.15.jar"/>\r
-                               <include name="${compbio-util}"/>\r
-                               <include name="${compbio-annotation}"/>\r
-                               <include name="drmaa.jar"/>\r
-                       </zipgroupfileset>\r
-                       <fileset refid="fullclient">\r
-                       </fileset>\r
-                       <fileset dir="${basedir}/WEB-INF/classes/">\r
-                               <!-- Statistics web application -->\r
-                               <include name="compbio/stat/**"/>\r
-                               <!-- Web services-->\r
-                               <include name="compbio/ws/**"/>\r
-                       </fileset>\r
-                       <!-- Set WSTester as main to help user to test their deployments -->\r
-                       <manifest>\r
-                               <attribute name="Built-By" value="${author}" />\r
-                               <attribute name="Class-Path" value="." />\r
-                               <attribute name="Main-Class" value="compbio.ws.client.WSTester" />\r
-                               <attribute name="Implementation-Title" value="${product}" />\r
-                               <attribute name="Implementation-Vendor" value="${author}" />\r
-                               <attribute name="Implementation-URL" value="${project.url}" />\r
-                       </manifest>\r
-               </jar>\r
-       </target>\r
-\r
-       <target name="pack-binaries" description="Zip all binary files">\r
-               <delete file="${binaries}" failonerror="false"/>\r
-               <zip destfile="${binaries}" >\r
-                       <zipfileset dir="${basedir}/binaries" prefix="binaries" excludes="**/linux*/**"/>\r
-               </zip>\r
-       </target>\r
-\r
-       <target name="jaba-no-binaries" depends="full-jaba-jar, clearStatDB" description="Prepare JABAWS war file without native binaries">\r
-               <echo>Preparing a war file without binaries</echo>\r
-               <delete file="${jaba-no-binaries}">\r
-               </delete>\r
-               <zip destfile="${jaba-no-binaries}" whenempty="create">\r
-                       <zipfileset dir="${basedir}/WEB-INF" prefix="WEB-INF">\r
-                               <exclude name="classes"/>\r
-                               <!-- These are included into JABA client so exclude the jars -->\r
-                               <exclude name="lib/drmaa.jar"/>\r
-                               <exclude name="lib/log4j-1.2.15.jar"/>\r
-                               <exclude name="lib/${compbio-annotation}"/>\r
-                               <exclude name="lib/${compbio-util}"/>\r
-                               \r
-                               <include name="web.xml"/>\r
-                               <include name="sun-jaxws.xml"/>\r
-                               <include name="lib/*"/>\r
-                       </zipfileset>\r
-                       <zipfileset dir="${basedir}/ExecutionStatistic" prefix="ExecutionStatistic" />\r
-                       <zipfileset dir="${basedir}/statpages" prefix="statpages" />\r
-                       <zipfileset dir="${basedir}/jobsout" prefix="jobsout" excludes="**/*"/>\r
-                       <zipfileset dir="conf" prefix="conf" >\r
-                               <exclude name="**/temp/**"/>\r
-                               <exclude name="**/log4j.properties*"/>\r
-                       </zipfileset>\r
-                       <!-- Add JABAWS web site apart from the binary archive -->\r
-                       <zipfileset dir="${basedir}/website" excludes="archive/**, devel*.html, tests/**, template.html"/>\r
-                       <zipfileset dir="." includes="${full-jaba-client}" fullpath="WEB-INF/lib/jaba-client.jar"/>\r
-                       <!-- Put a copy of log4j configuration file where it can be used  -->\r
-                       <zipfileset dir="conf" includes="log4j.properties" prefix="WEB-INF/classes"/>\r
-               </zip>\r
-       </target>\r
-\r
-       <target name="build-devel-website" description="Pack developement related pages, tests, javadoc" >\r
-               <echo>Packing data for internal web site</echo>\r
-               <delete file="${jaba-devel-web}">\r
-               </delete>\r
-               <zip destfile="${jaba-devel-web}" whenempty="create">\r
-                       <!-- Add JABAWS web site apart from the binary archive -->\r
-                       <zipfileset dir="${basedir}/website" excludes="template.html, download.html, index.html, manual.html, howto.html, archive/**, prog_docs/**"/>\r
-               </zip>\r
-       </target>\r
-\r
-       <target name="jaba-complete" depends="jaba-no-binaries, pack-binaries" description="Prepare JABAWS war file without runtime dependency - JAXWS jars">\r
-               <echo>Preparing a complete war file</echo>\r
-               <delete file="${jaba}">\r
-               </delete>\r
-               <copy tofile="${jaba}" file="${jaba-no-binaries}"/>\r
-               <zip destfile="${jaba}" update="true" >\r
-                       <zipgroupfileset file="${binaries}" />\r
-               </zip>\r
-       </target>\r
-\r
-       <target name="build-all" depends="full-jaba-client, minimal-jaba-client-jar, jaba-no-binaries, jaba-complete, datamodel-jar, datamodel-source-jar, source-jar, jaba-client-src-jar" description="Build-all the distributives"/>\r
-\r
-       <!-- This task does not really depends on compile, but it is better to make sure that the code is sound -->\r
-       <target name="archive-project" description="Pack everything in the project for those who do not have access to SVN" depends="compile">\r
-               <delete file="${jaba-project}">\r
-               </delete>\r
-               <zip destfile="${jaba-project}" whenempty="create" >\r
-                       <fileset dir="." excludes="${distdir}/**, jobsout/**, test-output/**, **.svn, dundee-conf/**, TODO.txt, IDEAS.txt, ${activity.log}, **/*.zip, **/*.war"/>\r
-                       <!-- Add jobsout directory but no content -->\r
-                       <zipfileset dir="${basedir}/jobsout" prefix="jobsout" excludes="*/**"/>\r
-               </zip>\r
-       </target>\r
-\r
-<!-- Test targets -->\r
-       <taskdef name="testNG" classname="org.testng.TestNGAntTask">\r
-               <classpath refid="test.classpath">\r
-               </classpath>\r
-       </taskdef>\r
-\r
-       <target name="CustomTest" depends="compile_with_debug">\r
-               <delete file="${activity.log}"/>\r
-               <testNG haltonfailure="true" enableassert="true" >\r
-                       <jvmarg value="-server" />\r
-                       <jvmarg value="-enableassertions" />\r
-                       <jvmarg value="-Xms1024m" />\r
-                       <jvmarg value="-Xmx1024m" />\r
-                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>\r
-                       <classpath refid="test.classpath" />\r
-                       <classpath refid="project.classpath" />\r
-                       <xmlfileset dir="." includes="temp-testng-customsuite.xml"/>\r
-                       <sysproperty key="TestingDataPath" value="${data.src}"/>\r
-               </testNG>\r
-       </target>\r
-\r
-       <target name="Run_cluster_dependent_test" depends="compile_with_debug">\r
-               <delete file="${activity.log}"/>\r
-               <testNG groups="cluster" haltonfailure="true" enableassert="true" parallel="false" verbose="3">\r
-                       <jvmarg value="-server" />\r
-                       <jvmarg value="-enableassertions" />\r
-                       <jvmarg value="-Xms1024m" />\r
-                       <jvmarg value="-Xmx1024m" />\r
-                       <classfileset dir="${classes}" includes="**/*.class" />\r
-                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>\r
-                       <classpath refid="test.classpath" />\r
-                       <classpath refid="project.classpath" />\r
-                       <sysproperty key="TestingDataPath" value="${data.src}"/>\r
-               </testNG>\r
-       </target>\r
-\r
-       <target name="Test" depends="compile_with_debug">\r
-               <delete file="${activity.log}"/>\r
-               <testNG haltonfailure="true" enableassert="true" verbose="3" excludedgroups="performance, webservices" >\r
-                       <jvmarg value="-server" />\r
-                       <jvmarg value="-enableassertions" />\r
-                       <jvmarg value="-Xms1024m" />\r
-                       <jvmarg value="-Xmx1024m" />\r
-                       <classfileset dir="${classes}" includes="**/*.class" />\r
-                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>\r
-                       <classpath refid="test.classpath" />\r
-                       <classpath refid="project.classpath" />\r
-                       <sysproperty key="TestingDataPath" value="${data.src}"/>\r
-               </testNG>\r
-       </target>\r
-\r
-       <target name="Performance_tests" depends="compile_with_debug">\r
-               <delete file="${activity.log}"/>\r
-               <testNG haltonfailure="true" enableassert="true" verbose="3" groups="performance" >\r
-                       <jvmarg value="-server" />\r
-                       <jvmarg value="-enableassertions" />\r
-                       <jvmarg value="-Xms1024m" />\r
-                       <jvmarg value="-Xmx1024m" />\r
-                       <classfileset dir="${classes}" includes="**/*.class" />\r
-                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>\r
-                       <classpath refid="test.classpath" />\r
-                       <classpath refid="project.classpath" />\r
-                       <sysproperty key="TestingDataPath" value="${data.src}"/>\r
-               </testNG>\r
-       </target>\r
-\r
-       <target name="Test_runners" depends="compile_with_debug">\r
-               <delete file="${activity.log}"/>\r
-               <testNG groups="runner" haltonfailure="true" verbose="3" enableassert="true" >\r
-                       <jvmarg value="-server" />\r
-                       <jvmarg value="-enableassertions" />\r
-                       <jvmarg value="-Xms1024m" />\r
-                       <jvmarg value="-Xmx1024m" />\r
-                       <classfileset dir="${classes}" includes="**/*.class" />\r
-                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>\r
-                       <classpath refid="test.classpath" />\r
-                       <classpath refid="project.classpath" />\r
-                       <sysproperty key="TestingDataPath" value="${data.src}"/>\r
-               </testNG>\r
-       </target>\r
-\r
-       <target name="Test_engines" depends="compile_with_debug">\r
-               <delete file="${activity.log}"/>\r
-               <testNG groups="engine" haltonfailure="true" verbose="3" enableassert="true" >\r
-                       <jvmarg value="-server" />\r
-                       <jvmarg value="-enableassertions" />\r
-                       <jvmarg value="-Xms1024m" />\r
-                       <jvmarg value="-Xmx1024m" />\r
-                       <classfileset dir="${classes}" includes="**/*.class" />\r
-                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>\r
-                       <classpath refid="test.classpath" />\r
-                       <classpath refid="project.classpath" />\r
-                       <sysproperty key="TestingDataPath" value="${data.src}"/>\r
-               </testNG>\r
-       </target>\r
-\r
-       <target name="All_cluster_independent_windows_only_tests" depends="compile_with_debug">\r
-               <delete file="${activity.log}" failonerror="false"/>\r
-               <testNG excludedgroups="cluster, non_windows" haltonfailure="true" verbose="3" enableassert="true"  >\r
-                       <jvmarg value="-server" />\r
-                       <jvmarg value="-enableassertions" />\r
-                       <jvmarg value="-Xms1024m" />\r
-                       <jvmarg value="-Xmx1024m" />\r
-                       <classfileset dir="${classes}" includes="**/*.class" />\r
-                       <classpath refid="test.classpath" />\r
-                       <classpath refid="project.classpath" />\r
-                       <sysproperty key="TestingDataPath" value="${data.src}"/>\r
-               </testNG>\r
-       </target>\r
-\r
-       <target name="All_cluster_independent_tests" depends="compile_with_debug">\r
-               <delete file="${activity.log}" failonerror="false"/>\r
-               <testNG excludedgroups="cluster, performance" haltonfailure="true" verbose="3" enableassert="true"  >\r
-                       <jvmarg value="-server" />\r
-                       <jvmarg value="-enableassertions" />\r
-                       <jvmarg value="-Xms1024m" />\r
-                       <jvmarg value="-Xmx1024m" />\r
-                       <classfileset dir="${classes}" includes="**/*.class" />\r
-                       <classpath refid="test.classpath" />\r
-                       <classpath refid="project.classpath" />\r
-                       <sysproperty key="TestingDataPath" value="${data.src}"/>\r
-               </testNG>\r
-       </target>\r
-\r
-       <target name="Rerun_failed_tests" depends="compile_with_debug">\r
-               <delete file="${activity.log}" failonerror="false"/>\r
-               <testNG haltonfailure="true" enableassert="true" verbose="9" >\r
-                       <jvmarg value="-server" />\r
-                       <jvmarg value="-enableassertions" />\r
-                       <jvmarg value="-Xms1024m" />\r
-                       <jvmarg value="-Xmx1024m" />\r
-                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>\r
-                       <classpath refid="test.classpath" />\r
-                       <classpath refid="project.classpath" />\r
-                       <xmlfileset dir="." includes="test-output/testng-failed.xml"/>\r
-                       <sysproperty key="TestingDataPath" value="${data.src}"/>\r
-               </testNG>\r
-       </target>\r
-</project>\r
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project default="jabaws" name="Build Java Bioinformatics Analysis Web Services" basedir=".">
+
+       <property name="basedir" location="${basedir}/log" />
+       <property name="LD_LIBRARY_PATH" value="/gridware/sge/lib/lx24-amd64"/>
+
+       <!-- Distributive file names-->
+       <property name="distdir" value="website/archive"/>
+       <mkdir dir="${distdir}" />
+
+       <!-- projects details -->
+       <property name="project.url" value="http://www.compbio.dundee.ac.uk/jabaws"/>
+       <property name="product" value="Java Bioinformatics Analyses Web Services"/>
+       <property name="author" value="Alexander Sherstnev, Peter Troshin"/>
+
+       <!-- 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"/>
+
+       <!-- products -->
+       <property name="jaba_version" value="2.0.1"/>
+       <property name="datamodel" value="${distdir}/datamodel-${jaba_version}.jar"/>
+       <property name="datamodel-src" value="${distdir}/datamodel-src-${jaba_version}.jar"/>
+       <property name="min-jaba-client" value="${distdir}/min-jaba-client-${jaba_version}.jar"/>
+       <property name="min-jaba-client-nolog" value="${distdir}/min-jaba-client-nolog-${jaba_version}.jar"/>
+       <property name="jaba-client-src" value="${distdir}/jabaws-client-src-${jaba_version}.jar"/>
+       <property name="aacon-ws-client" value="${distdir}/aacon-ws-client.jar"/>
+       <property name="full-jaba-client" value="${distdir}/full-jaba-client-${jaba_version}.jar"/>
+       <property name="jaba-source-jar" value="${distdir}/jabaws-src-${jaba_version}.jar"/>
+       <property name="full-jaba-client-pack" value="${distdir}/full-jaba-client-${jaba_version}-pack.zip"/>
+       <property name="jaba" value="${distdir}/jabaws.war"/>
+       <!-- TODO  
+       <property name="jaba-dundee" value="${distdir}/jaba-dundee.war"/>
+        -->
+       <property name="jaba-no-binaries" value="${distdir}/jabaws-no-binaries.war"/>
+       <property name="binaries" value="${distdir}/binaries.zip"/>
+       <property name="jaba-devel-web" value="${distdir}/jaba-devel-website.zip"/>
+
+       <!--Whole project archive -->
+       <property name="jaba-project" value="${distdir}/jaba-project.zip"/>
+
+       <!-- java -->
+       <property name="test.src" location="${basedir}/testsrc" />
+       <property name="classes" location="${basedir}/WEB-INF/classes" />
+       <property name="lib.path" location="${basedir}/lib" />
+       <property name="web.lib.path" location="${basedir}/WEB-INF/lib" />
+       <property name="test.lib.path" location="${basedir}/testsrc/lib" />
+       <property name="activity.log" location="${basedir}/activity.log" />
+
+       <!-- add libraries -->
+       <path id="project.classpath">
+               <fileset dir="${lib.path}">
+                       <include name="*.jar" />
+               </fileset>
+               <fileset dir="${web.lib.path}">
+                       <include name="*.jar" />
+               </fileset>
+       </path>
+
+       <!-- add test classes -->
+       <path id="test.classpath">
+               <fileset dir="${test.lib.path}">
+                       <include name="*.jar" />
+               </fileset>
+               <pathelement location="${classes}" />
+       </path>
+
+       <fileset dir="${basedir}/WEB-INF/classes/" id="fullclient">
+               <!-- Datamodel -->
+               <include name="compbio/data/**"/>
+               <include name="compbio/metadata/**"/>
+               <!-- Engines -->
+               <include name="compbio/engine/**"/>
+               <!-- Runners -->
+               <include name="compbio/runner/**"/>
+               <!-- Logging configuration -->
+       </fileset>
+
+       <!-- Clean temp directories -->
+       <target name="clean">
+               <delete dir="${classes}" />
+               <delete file="${distdir}/binaries.zip" />
+               <delete file="${basedir}/activity.log" />
+               <delete file="${basedir}/derby.log" />
+               <mkdir dir="${classes}" />
+               <copy file="${basedir}/log/log4j.properties" tofile="${classes}/log4j.properties" />
+       </target>
+
+       <!-- Clean up temp directories and dist directory (all jar, zip, and war files deleted) -->
+       <target name="full-clean" depends="clean">
+               <delete>
+                       <fileset dir="${distdir}">
+                               <include name="*.jar"/>
+                               <include name="*.zip"/>
+                               <include name="*.war"/>
+                       </fileset>
+               </delete>
+       </target>
+
+       <target name="clearStatDB" description="Remove all records from statistics database">
+               <echo>Cleaning Statistics database</echo>
+               <java classname="compbio.stat.collector.StatDB" fork="false" failonerror="true" classpath="${classes}">
+               <classpath refid="project.classpath" />
+               </java>
+       </target>
+
+       <!--
+       The compilation order is 
+       1. datamodel 
+       2. engine
+       3. runner
+       4. testscr
+       5. webservices
+       Packages of the lower order could not have dependencies on the packages on the next layer. 
+       So runners (layer 3) depends on the engines and the datamodel but engines does not depend on 
+       anything in runners or any other layers above. Testsrc is not allowed to test webservices. 
+       -->
+       <target name="compile_with_debug" depends="clean" description="Perform a multiple step compilation to ensure layered structure is preserved. Debug enabled.">
+               <!-- 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" >
+                       <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" >
+                       <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" >
+                       <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" >
+                       <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" >
+                       <compilerarg value="-Xlint:unchecked"/>
+                       <classpath refid="project.classpath" />
+                       <classpath refid="test.classpath" />
+               </javac>
+       </target>
+
+       <!--
+       Compile with optimisation. Do not compile testsrc
+       The compilation order is 
+       1. datamodel 
+       2. engine
+       3. runner
+       4. webservices
+       Packages of the lower order could not have dependencies on the packages on the next layer. 
+       So runners (layer 3) depends on the engines and the datamodel but engines does not depend 
+       on anything in runners or any other layers above.
+       -->
+       <target name="compile" depends="clean" description="Perform a multiple step compilation to ensure layered structure is preserved. Debug disabled, optimisation enabled. Tests are not compiled.">
+               <!-- 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">
+                       <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" />
+                       <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">
+                       <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">
+                       <compilerarg value="-Xlint:-unchecked" />
+                       <classpath refid="project.classpath" />
+               </javac>
+       </target>
+
+       <target name="datamodel-jar" depends="compile" description="Pack data model classes">
+               <echo>Jar file: Minimal WS client jar</echo>
+               <delete file="${basedir}/${datamodel}">
+               </delete>
+               <jar jarfile="${basedir}/${datamodel}">
+                       <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >
+                               <include name="${compbio-util}"/>
+                               <include name="${compbio-annotation}"/>
+                       </zipgroupfileset>
+                       <fileset dir="${basedir}/WEB-INF/classes/">
+                               <include name="compbio/data/sequence/*.class"/>
+                               <include name="compbio/metadata/*.class"/>
+                       </fileset>
+                       <manifest>
+                               <attribute name="Built-By" value="${author}" />
+                               <attribute name="Class-Path" value="." />
+                               <attribute name="Implementation-Title" value="Datamodel for ${product} " />
+                               <attribute name="Implementation-Vendor" value="${author}" />
+                               <attribute name="Implementation-URL" value="${project.url}" />
+                       </manifest>
+               </jar>
+       </target>
+
+       <target name="jaba-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="${jaba-client-src}">
+               </delete>
+               <jar jarfile="${jaba-client-src}">
+                       <zipgroupfileset  excludes="META-INF/*.MF" file="${datamodel-src}"/>
+                       <fileset dir="${basedir}/webservices">
+                               <!-- This will include JAXWS artifacts. Alternatively they can be generated on the fly. -->
+                               <include name="compbio/data/msa/**"/>
+                               <exclude name="compbio/ws/client/ServicesUtil**"/>
+                               <exclude name="compbio/ws/client/AAConClient**"/>
+                               <include name="compbio/ws/client/**"/>
+                       </fileset>
+                       <manifest>
+                               <attribute name="Built-By" value="${author}" />
+                               <attribute name="Implementation-Title" value="${product} Client Source Code" />
+                               <attribute name="Implementation-Vendor" value="${author}" />
+                               <attribute name="Implementation-URL" value="${project.url}" />
+                       </manifest>
+               </jar>
+       </target>
+
+       <target name="minimal-jaba-client-jar" depends="compile, datamodel-jar" description="Pack metadata, data model, WS interfaces, a simple ws client class">
+               <echo>Jar file: Minimal WS client jar</echo>
+               <delete file="${basedir}/${min-jaba-client}"></delete>
+               <jar jarfile="${basedir}/${min-jaba-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>
+                       <zipgroupfileset excludes="META-INF/*" dir="" includes="WEB-INF/lib/log4j-1.2.15.jar" />
+                       <manifest>
+                               <attribute name="Built-By" value="${author}" />
+                               <attribute name="Main-Class" value="compbio.ws.client.Jws2Client" />
+                               <attribute name="Class-Path" value="." />
+                               <attribute name="Implementation-Title" value="Minimal ${product} Client" />
+                               <attribute name="Implementation-Vendor" value="${author}" />
+                               <attribute name="Implementation-URL" value="${project.url}" />
+                       </manifest>
+               </jar>
+               <delete file="${basedir}/${min-jaba-client-nolog}"></delete>
+               <jar jarfile="${basedir}/${min-jaba-client-nolog}">
+                       <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.Jws2Client" />
+                               <attribute name="Class-Path" value="." />
+                               <attribute name="Implementation-Title" value="Minimal ${product} Client" />
+                               <attribute name="Implementation-Vendor" value="${author}" />
+                               <attribute name="Implementation-URL" value="${project.url}" />
+                       </manifest>
+               </jar>
+       </target>
+
+       <target name="full-jaba-client-jar" depends="compile" description="Pack datamodel, engine and runners">
+               <echo>Jar file: Full WS client jar</echo>
+               <delete file="${full-jaba-client}">
+               </delete>
+               <jar jarfile="${full-jaba-client}">
+                       <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >
+                               <include name="${compbio-util}"/>
+                               <include name="${compbio-annotation}"/>
+                               <include name="drmaa.jar"/>
+                       </zipgroupfileset>
+                       <fileset refid="fullclient"/>
+                       <manifest>
+                               <attribute name="Built-By" value="${author}" />
+                               <attribute name="Class-Path" value="." />
+                               <attribute name="Implementation-Title" value="Full ${product} Client" />
+                               <attribute name="Implementation-Vendor" value="${author}" />
+                               <attribute name="Implementation-URL" value="${project.url}" />
+                       </manifest>
+               </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-jaba-client" depends="full-jaba-client-jar, pack-binaries" description="Pack binaries with sources and configuration files">
+               <echo>Packing binaries, and configuration files</echo>
+               <zip destfile="${full-jaba-client-pack}" >
+                       <zipgroupfileset file="${binaries}" />
+                       <zipfileset dir="conf" prefix="conf" >
+                               <exclude name="**/temp/**"/>
+                       </zipfileset>
+                       <fileset file="${full-jaba-client}" />
+               </zip>
+       </target>
+
+
+       <target name="source-jar" depends="datamodel-source-jar" description="Pack java sources">
+               <delete file="${basedir}/${jaba-source-jar}">
+               </delete>
+               <jar jarfile="${basedir}/${jaba-source-jar}">
+                       <zipgroupfileset  excludes="META-INF/*.MF" file="${datamodel-src}"/>
+                       <fileset dir="${basedir}/runner">
+                               <include name="**"/>
+                       </fileset>
+                       <fileset dir="${basedir}/engine">
+                               <include name="**"/>
+                       </fileset>
+                       <fileset dir="${basedir}/webservices/">
+                               <include name="**"/>
+                       </fileset>
+                       <manifest>
+                               <attribute name="Built-By" value="${author}" />
+                               <attribute name="Class-Path" value="." />
+                               <attribute name="Implementation-Title" value="${product} Source Code Archive" />
+                               <attribute name="Implementation-Vendor" value="${author}" />
+                               <attribute name="Implementation-URL" value="${project.url}" />
+                       </manifest>
+               </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-jaba-jar" depends="compile" description="Pack datamodel, engine, runners, configuration, binaries and webservices">
+               <echo>Jar file: Full WS client jar</echo>
+               <delete file="${full-jaba-client}">
+               </delete>
+               <jar jarfile="${full-jaba-client}">
+                       <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >
+                               <include name="log4j-1.2.15.jar"/>
+                               <include name="${compbio-util}"/>
+                               <include name="${compbio-annotation}"/>
+                               <include name="drmaa.jar"/>
+                       </zipgroupfileset>
+                       <fileset refid="fullclient">
+                       </fileset>
+                       <fileset dir="${basedir}/WEB-INF/classes/">
+                               <!-- Statistics web application -->
+                               <include name="compbio/stat/**"/>
+                               <!-- Web services-->
+                               <include name="compbio/ws/**"/>
+                       </fileset>
+                       <!-- Set WSTester as main to help user to test their deployments -->
+                       <manifest>
+                               <attribute name="Built-By" value="${author}" />
+                               <attribute name="Class-Path" value="." />
+                               <attribute name="Main-Class" value="compbio.ws.client.WSTester" />
+                               <attribute name="Implementation-Title" value="${product}" />
+                               <attribute name="Implementation-Vendor" value="${author}" />
+                               <attribute name="Implementation-URL" value="${project.url}" />
+                       </manifest>
+               </jar>
+       </target>
+
+       <target name="pack-binaries" description="Zip all binary files">
+               <delete file="${binaries}" failonerror="false"/>
+               <zip destfile="${binaries}" >
+                       <zipfileset dir="${basedir}/binaries" prefix="binaries" excludes="**/linux*/**"/>
+               </zip>
+       </target>
+
+       <target name="jaba-no-binaries" depends="full-jaba-jar, clearStatDB" description="Prepare JABAWS war file without native binaries">
+               <echo>Preparing a war file without binaries</echo>
+               <delete file="${jaba-no-binaries}">
+               </delete>
+               <zip destfile="${jaba-no-binaries}" whenempty="create">
+                       <zipfileset dir="${basedir}/WEB-INF" prefix="WEB-INF">
+                               <exclude name="classes"/>
+                               <!-- These are included into JABA client so exclude the jars -->
+                               <exclude name="lib/drmaa.jar"/>
+                               <exclude name="lib/log4j-1.2.15.jar"/>
+                               <exclude name="lib/${compbio-annotation}"/>
+                               <exclude name="lib/${compbio-util}"/>
+                               
+                               <include name="web.xml"/>
+                               <include name="sun-jaxws.xml"/>
+                               <include name="lib/*"/>
+                       </zipfileset>
+                       <zipfileset dir="${basedir}/ExecutionStatistic" prefix="ExecutionStatistic" />
+                       <zipfileset dir="${basedir}/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"/>
+                       <zipfileset dir="." includes="${full-jaba-client}" fullpath="WEB-INF/lib/jaba-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>
+       </target>
+
+       <target name="build-devel-website" description="Pack developement related pages, tests, javadoc" >
+               <echo>Packing data for internal web site</echo>
+               <delete file="${jaba-devel-web}">
+               </delete>
+               <zip destfile="${jaba-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/**"/>
+               </zip>
+       </target>
+
+       <target name="jaba-complete" depends="jaba-no-binaries, pack-binaries" description="Prepare JABAWS war file without runtime dependency - JAXWS jars">
+               <echo>Preparing a complete war file</echo>
+               <delete file="${jaba}">
+               </delete>
+               <copy tofile="${jaba}" file="${jaba-no-binaries}"/>
+               <zip destfile="${jaba}" update="true" >
+                       <zipgroupfileset file="${binaries}" />
+               </zip>
+       </target>
+
+       <target name="build-all" depends="full-jaba-client, minimal-jaba-client-jar, jaba-no-binaries, jaba-complete, datamodel-jar, datamodel-source-jar, source-jar, jaba-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">
+               <delete file="${jaba-project}">
+               </delete>
+               <zip destfile="${jaba-project}" whenempty="create" >
+                       <fileset dir="." excludes="${distdir}/**, jobsout/**, test-output/**, **.svn, dundee-conf/**, TODO.txt, IDEAS.txt, ${activity.log}, **/*.zip, **/*.war"/>
+                       <!-- Add jobsout directory but no content -->
+                       <zipfileset dir="${basedir}/jobsout" prefix="jobsout" excludes="*/**"/>
+               </zip>
+       </target>
+
+<!-- Test targets -->
+       <taskdef name="testNG" classname="org.testng.TestNGAntTask">
+               <classpath refid="test.classpath">
+               </classpath>
+       </taskdef>
+
+       <target name="CustomTest" depends="compile_with_debug">
+               <delete file="${activity.log}"/>
+               <testNG haltonfailure="true" enableassert="true" >
+                       <jvmarg value="-server" />
+                       <jvmarg value="-enableassertions" />
+                       <jvmarg value="-Xms1024m" />
+                       <jvmarg value="-Xmx1024m" />
+                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
+                       <classpath refid="test.classpath" />
+                       <classpath refid="project.classpath" />
+                       <xmlfileset dir="." includes="temp-testng-customsuite.xml"/>
+                       <sysproperty key="TestingDataPath" value="${data.src}"/>
+               </testNG>
+       </target>
+
+       <target name="Run_cluster_dependent_test" depends="compile_with_debug">
+               <delete file="${activity.log}"/>
+               <testNG groups="cluster" haltonfailure="true" enableassert="true" parallel="false" 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>
+
+       <target name="Test" depends="compile_with_debug">
+               <delete file="${activity.log}"/>
+               <testNG haltonfailure="true" enableassert="true" verbose="3" excludedgroups="performance, webservices" >
+                       <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="Performance_tests" depends="compile_with_debug">
+               <delete file="${activity.log}"/>
+               <testNG haltonfailure="true" enableassert="true" verbose="3" groups="performance" >
+                       <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="Test_runners" depends="compile_with_debug">
+               <delete file="${activity.log}"/>
+               <testNG groups="runner" 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="Test_engines" depends="compile_with_debug">
+               <delete file="${activity.log}"/>
+               <testNG groups="engine" 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"  >
+                       <jvmarg value="-server" />
+                       <jvmarg value="-enableassertions" />
+                       <jvmarg value="-Xms1024m" />
+                       <jvmarg value="-Xmx1024m" />
+                       <classfileset dir="${classes}" includes="**/*.class" />
+                       <classpath refid="test.classpath" />
+                       <classpath refid="project.classpath" />
+                       <sysproperty key="TestingDataPath" value="${data.src}"/>
+               </testNG>
+       </target>
+
+       <target name="All_cluster_independent_tests" depends="compile_with_debug">
+               <delete file="${activity.log}" failonerror="false"/>
+               <testNG excludedgroups="cluster, performance" haltonfailure="true" verbose="3" enableassert="true"  >
+                       <jvmarg value="-server" />
+                       <jvmarg value="-enableassertions" />
+                       <jvmarg value="-Xms1024m" />
+                       <jvmarg value="-Xmx1024m" />
+                       <classfileset dir="${classes}" includes="**/*.class" />
+                       <classpath refid="test.classpath" />
+                       <classpath refid="project.classpath" />
+                       <sysproperty key="TestingDataPath" value="${data.src}"/>
+               </testNG>
+       </target>
+
+       <target name="Rerun_failed_tests" depends="compile_with_debug">
+               <delete file="${activity.log}" failonerror="false"/>
+               <testNG haltonfailure="true" enableassert="true" verbose="9" >
+                       <jvmarg value="-server" />
+                       <jvmarg value="-enableassertions" />
+                       <jvmarg value="-Xms1024m" />
+                       <jvmarg value="-Xmx1024m" />
+                       <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
+                       <classpath refid="test.classpath" />
+                       <classpath refid="project.classpath" />
+                       <xmlfileset dir="." includes="test-output/testng-failed.xml"/>
+                       <sysproperty key="TestingDataPath" value="${data.src}"/>
+               </testNG>
+       </target>
+</project>
diff --git a/log/log4j.properties b/log/log4j.properties
new file mode 100644 (file)
index 0000000..fc6e3a9
--- /dev/null
@@ -0,0 +1,74 @@
+\r
+## CHANGE THIS (The root directory where to store all the log files)  \r
+#logDir = .\r
+\r
+## Uncomment to enable JWS2 activity logging to standard out (to the console if available)\r
+## for possible log levels please refer to Log4j documentation http://logging.apache.org/log4j/1.2/manual.html \r
+## Valid log levels are:\r
+## TRACE - log everything from below including very detailed messages (useful for debugging only)\r
+## DEBUG - log everything from below including some minor events (useful for debugging only)\r
+## INFO - log everything from below including some information messages\r
+## WARN - log error and warnings\r
+## ERROR - log errors and fatal events only \r
+## FATAL - log fatal events only\r
+\r
+## Uncomment this if you would like the system to log messages into stdout\r
+#log4j.rootLogger=TRACE, rootfile\r
+#log4j.appender.rootfile=org.apache.log4j.RollingFileAppender\r
+#log4j.appender.rootfile.File=JABAWSLogFilename.log\r
+#log4j.appender.rootfile.Target=System.out\r
+#log4j.appender.rootfile.layout=org.apache.log4j.PatternLayout\r
+#log4j.appender.rootfile.layout.ConversionPattern=%t %d %m%n\r
+\r
+## Uncomment to enable JWS2 activity logging to the file\r
+#log4j.logger.compbio=TRACE, ACTIVITY\r
+#log4j.appender.ACTIVITY=org.apache.log4j.RollingFileAppender\r
+################log4j.appender.ACTIVITY.File=${logDir}/activity.log\r
+#log4j.appender.ACTIVITY.File=${catalina.base}/logs/JABAWSLogFilename.log\r
+#log4j.appender.ACTIVITY.MaxFileSize=10MB\r
+#log4j.appender.ACTIVITY.MaxBackupIndex=10000\r
+#log4j.appender.ACTIVITY.layout=org.apache.log4j.PatternLayout\r
+#log4j.appender.ACTIVITY.layout.ConversionPattern=%d{MM-dd@HH:mm:ss} %-5p %3x - %m%n\r
+\r
+## Uncomment for separate local engine execution log (debugging only)\r
+#log4j.logger.compbio.engine.local.LocalExecutorService=INFO, C\r
+#log4j.appender.C=org.apache.log4j.FileAppender\r
+#log4j.appender.C.File=LocalExecutorService.log\r
+#log4j.appender.C.layout=org.apache.log4j.PatternLayout\r
+#log4j.appender.C.layout.ConversionPattern=%m%n\r
+\r
+##################################################################################################################################\r
+# log4j.properties from runner/\r
+\r
+#log4j.appender.stdout=org.apache.log4j.ConsoleAppender\r
+#log4j.appender.stdout.Target=System.out\r
+#log4j.appender.stdout.layout=org.apache.log4j.PatternLayout\r
+#log4j.appender.stdout.layout.ConversionPattern=%m%n\r
+#log4j.rootLogger=info, stdout\r
+\r
+log4j.rootLogger=ERROR, errorfile\r
+log4j.appender.errorfile=org.apache.log4j.FileAppender\r
+log4j.appender.errorfile.File=${catalina.base}/logs/JABAWSErrorFile.log\r
+log4j.appender.errorfile.Target=System.out\r
+log4j.appender.errorfile.layout=org.apache.log4j.PatternLayout\r
+log4j.appender.errorfile.layout.ConversionPattern=%t %d %m%n\r
+\r
+# %d{ABSOLUTE} %5p %c{1}:%L -\r
+log4j.logger.compbio=TRACE, B\r
+log4j.appender.B=org.apache.log4j.FileAppender\r
+log4j.appender.B.File=${catalina.base}/logs/engine.log\r
+log4j.appender.B.layout=org.apache.log4j.PatternLayout\r
+log4j.appender.B.layout.ConversionPattern=%m%n %d{MM-dd@HH:mm:ss} %-5p (%13F:%L) %3x - \r
+\r
+# %d{ABSOLUTE} %5p %c{1}:%L -\r
+#log4j.logger.compbio.engine.local.LocalExecutorService=INFO, C\r
+#log4j.appender.C=org.apache.log4j.FileAppender\r
+#log4j.appender.C.File=LocalExecutorService.log\r
+#log4j.appender.C.layout=org.apache.log4j.PatternLayout\r
+#log4j.appender.C.layout.ConversionPattern=%m%n\r
+# %d{MM-dd@HH:mm:ss} %-5p (%13F:%L) %3x - \r
+\r
+#log4j.logger.RunnerLogger=ERROR, D\r
+#log4j.appender.D=org.apache.log4j.ConsoleAppender \r
+#log4j.appender.D.layout=org.apache.log4j.PatternLayout\r
+#log4j.appender.D.layout.ConversionPattern=%r [%t] %p %c %x - %m%n\r