First commit into ProteoCache (some basic files from JABAWS)
[proteocache.git] / build.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2
3 <project default="proteocache" name="Build ProteoCache - Results repository for the Dundee Resource" basedir=".">
4
5         <property name="LD_LIBRARY_PATH" value="/gridware/sge/lib/lx24-amd64"/>
6
7         <!-- Distributive file names-->
8         <property name="distdir" value="distro"/>
9         <mkdir dir="${distdir}" />
10
11         <!-- projects details -->
12         <property name="project.url" value="http://www.compbio.dundee.ac.uk/proteocache"/>
13         <property name="product" value="ProteoCache"/>
14         <property name="author" value="Alexander Sherstnev"/>
15
16         <!-- dependencies on other compbio projects  -->
17         <property name="compbio-annotation" value="compbio-annotations-1.0.jar"/>
18         <property name="compbio-util" value="compbio-util-1.4.jar"/>
19         <property name="compbio-ga" value="compbio-ga-1.0.jar"/>
20
21         <!-- products -->
22         <property name="proteocache_version" value="2.1.0"/>
23         <property name="datamodel" value="${distdir}/datamodel-${proteocache_version}.jar"/>
24         <property name="datamodel-src" value="${distdir}/datamodel-src-${proteocache_version}.jar"/>
25         <property name="min-proteocache-client" value="${distdir}/min-proteocache-client-${proteocache_version}.jar"/>
26         <property name="min-proteocache-client-nolog" value="${distdir}/min-proteocache-client-nolog-${proteocache_version}.jar"/>
27         <property name="proteocache-client-src" value="${distdir}/proteocache-client-src-${proteocache_version}.jar"/>
28         <property name="aacon-ws-client" value="${distdir}/aacon-ws-client.jar"/>
29         <property name="full-proteocache-client" value="${distdir}/full-proteocache-client-${proteocache_version}.jar"/>
30         <property name="proteocache-source-jar" value="${distdir}/proteocache-src-${proteocache_version}.jar"/>
31         <property name="full-proteocache-client-pack" value="${distdir}/full-proteocache-client-${proteocache_version}-pack.zip"/>
32         <property name="proteocache" value="${distdir}/proteocache.war"/>
33         <!-- TODO 
34         <property name="proteocache-dundee" value="${distdir}/proteocache-dundee.war"/>
35         -->
36         <property name="proteocache-no-binaries" value="${distdir}/proteocache-no-binaries.war"/>
37         <property name="binaries" value="${distdir}/binaries.zip"/>
38         <property name="proteocache-devel-web" value="${distdir}/proteocache-devel-website.zip"/>
39
40         <!--Whole project archive -->
41         <property name="proteocache-project" value="${distdir}/proteocache-project.zip"/>
42
43         <!-- java -->
44         <property name="test.src" location="${basedir}/testsrc" />
45         <property name="classes" location="${basedir}/WEB-INF/classes" />
46         <property name="lib.path" location="${basedir}/lib" />
47         <property name="web.lib.path" location="${basedir}/WEB-INF/lib" />
48         <property name="test.lib.path" location="${basedir}/testsrc/lib" />
49         <property name="activity.log" location="${basedir}/activity.log" />
50
51         <!-- add libraries -->
52         <path id="project.classpath">
53                 <fileset dir="${lib.path}">
54                         <include name="*.jar" />
55                 </fileset>
56                 <fileset dir="${web.lib.path}">
57                         <include name="*.jar" />
58                 </fileset>
59         </path>
60
61         <!-- add test classes -->
62         <path id="test.classpath">
63                 <fileset dir="${test.lib.path}">
64                         <include name="*.jar" />
65                 </fileset>
66                 <pathelement location="${classes}" />
67         </path>
68
69         <fileset dir="${basedir}/WEB-INF/classes/" id="fullclient">
70                 <!-- Datamodel -->
71                 <include name="compbio/data/**"/>
72                 <include name="compbio/metadata/**"/>
73                 <!-- Engine -->
74                 <include name="compbio/engine/**"/>
75                 <!-- Casscode -->
76                 <include name="compbio/casscode/**"/>
77                 <!-- Logging configuration -->
78         </fileset>
79
80         <!-- Clean temp directories -->
81         <target name="clean">
82                 <delete dir="${classes}" />
83                 <delete dir="${basedir}/logs" />
84                 <delete file="${distdir}/binaries.zip" />
85                 <delete file="${basedir}/activity.log" />
86                 <delete file="${basedir}/derby.log" />
87                 <mkdir dir="${classes}" />
88                 <copy file="${basedir}/log/log4j.properties" tofile="${classes}/log4j.properties" />
89         </target>
90
91         <!-- Clean up temp directories and dist directory (all jar, zip, and war files deleted) -->
92         <target name="full-clean" depends="clean">
93                 <delete>
94                         <fileset dir="${distdir}">
95                                 <include name="*.jar"/>
96                                 <include name="*.zip"/>
97                                 <include name="*.war"/>
98                         </fileset>
99                 </delete>
100         </target>
101
102         <target name="clearStatDB" description="Remove all records from statistics database">
103                 <echo>Cleaning Statistics database</echo>
104                 <java classname="compbio.stat.collector.StatDB" fork="true" failonerror="true" classpath="${classes}">
105                         <jvmarg value="-Dlog4j.configuration=file:log/log4j.properties.statdb" />
106                         <classpath refid="project.classpath" />
107                 </java>
108         </target>
109
110         <!--
111         The compilation order is 
112         1. datamodel 
113         2. engine
114         3. casscode
115         4. testscr
116         5. webservices
117         Packages of the lower order could not have dependencies on the packages on the next layer. 
118         So, casscode (layer 3) depends on the enginesand the datamodel but engine does not depend on 
119         anything in casscode or any other layers above. Testsrc is not allowed to test webservices. 
120         -->
121         <target name="compile_with_debug" depends="clean" description="Perform a multiple step compilation to ensure layered structure is preserved. Debug enabled.">
122                 <!-- copy files to class path-->
123                 <copy file="${basedir}/log/log4j.properties" tofile="${classes}/log4j.properties" />
124                 <!-- Complile the datamodel first -->
125                 <javac srcdir="${basedir}/datamodel" destdir="${classes}" target="1.6"
126                                 source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
127                         <compilerarg value="-Xlint:unchecked"/>
128                         <classpath refid="project.classpath" />
129                 </javac>
130                 <!-- Complile the engines -->
131                 <javac srcdir="${basedir}/engine" destdir="${classes}" target="1.6"
132                                 source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
133                         <compilerarg value="-Xlint:unchecked"/>
134                         <classpath refid="project.classpath" />
135                 </javac>
136                 <!-- Complile the casscode -->
137                 <javac srcdir="${basedir}/casscode" destdir="${classes}" target="1.6"
138                                 source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
139                         <compilerarg value="-Xlint:unchecked"/>
140                         <classpath refid="project.classpath" />
141                 </javac>
142                 <!-- Complile the webservices -->
143                 <javac srcdir="${basedir}/webservices" destdir="${classes}" target="1.6"
144                                 source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
145                         <compilerarg value="-Xlint:unchecked"/>
146                         <classpath refid="project.classpath" />
147                 </javac>
148                 <!-- Complile the tests -->
149                 <javac srcdir="${basedir}/testsrc" destdir="${classes}" target="1.6"
150                                 source="1.6" debug="on" encoding="UTF-8" verbose="false" nowarn="true" >
151                         <compilerarg value="-Xlint:unchecked"/>
152                         <classpath refid="project.classpath" />
153                         <classpath refid="test.classpath" />
154                 </javac>
155         </target>
156
157         <!--
158         Compile with optimisation. Do not compile testsrc
159         The compilation order is 
160         1. datamodel 
161         2. engine
162         3. casscode
163         4. webservices
164         Packages of the lower order could not have dependencies on the packages on the next layer. 
165         So casscode (layer 3) depends on the engine and the datamodel but engine does not depend 
166         on anything in casscode or any other layers above.
167         -->
168         <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.">
169                 <!-- copy files to class path-->
170                 <copy file="${basedir}/log/log4j.properties" tofile="${classes}/log4j.properties" />
171                 <!-- Complile the datamodel -->
172                 <javac srcdir="${basedir}/datamodel" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
173                         <compilerarg value="-Xlint:-unchecked" />
174                         <classpath refid="project.classpath" />
175                 </javac>
176                 <!-- Complile the engine -->
177                 <javac srcdir="${basedir}/engine" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
178                         <compilerarg value="-Xlint:-all" />
179                         <compilerarg value="-Xlint:-unchecked" />
180                         <classpath refid="project.classpath" />
181                 </javac>
182                 <!-- Complile the casscode -->
183                 <javac srcdir="${basedir}/casscode" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
184                         <compilerarg value="-Xlint:-unchecked" />
185                         <classpath refid="project.classpath" />
186                 </javac>
187                 <!-- Complile the webservices -->
188                 <javac srcdir="${basedir}/webservices" destdir="${classes}" target="1.6" source="1.6" debug="off" optimize="on" encoding="UTF-8" verbose="false" nowarn="true">
189                         <compilerarg value="-Xlint:-unchecked" />
190                         <classpath refid="project.classpath" />
191                 </javac>
192         </target>
193
194         <target name="datamodel-jar" depends="compile" description="Pack data model classes">
195                 <echo>Jar file: Minimal WS client jar</echo>
196                 <delete file="${basedir}/${datamodel}">
197                 </delete>
198                 <jar jarfile="${basedir}/${datamodel}">
199                         <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >
200                                 <include name="${compbio-util}"/>
201                                 <include name="${compbio-annotation}"/>
202                         </zipgroupfileset>
203                         <fileset dir="${basedir}/WEB-INF/classes/">
204                                 <include name="compbio/data/sequence/*.class"/>
205                                 <include name="compbio/metadata/*.class"/>
206                         </fileset>
207                         <manifest>
208                                 <attribute name="Built-By" value="${author}" />
209                                 <attribute name="Class-Path" value="." />
210                                 <attribute name="Implementation-Title" value="Datamodel for ${product} " />
211                                 <attribute name="Implementation-Vendor" value="${author}" />
212                                 <attribute name="Implementation-URL" value="${project.url}" />
213                         </manifest>
214                 </jar>
215         </target>
216
217         <target name="minimal-proteocache-client-jar" depends="compile, datamodel-jar" description="Pack metadata, data model, WS interfaces, a simple ws client class">
218                 <echo>Jar file: Minimal WS client jar</echo>
219                 <delete file="${basedir}/${min-proteocache-client}"></delete>
220                 <jar jarfile="${basedir}/${min-proteocache-client}">
221                         <zipgroupfileset excludes="META-INF/*.SF" dir="" includes="${datamodel}" />
222                         <fileset dir="${basedir}/WEB-INF/classes/">
223                                 <!-- This will include JAXWS artifacts. Alternatively they can be generated on the fly. -->
224                                 <include name="compbio/data/msa/**"/>
225                                 <include name="compbio/ws/client/**"/>
226                         </fileset>
227                         <zipgroupfileset excludes="META-INF/*" dir="" includes="WEB-INF/lib/log4j-1.2.15.jar" />
228                         <manifest>
229                                 <attribute name="Built-By" value="${author}" />
230                                 <attribute name="Main-Class" value="compbio.ws.client.Jws2Client" />
231                                 <attribute name="Class-Path" value="." />
232                                 <attribute name="Implementation-Title" value="Minimal ${product} Client" />
233                                 <attribute name="Implementation-Vendor" value="${author}" />
234                                 <attribute name="Implementation-URL" value="${project.url}" />
235                         </manifest>
236                 </jar>
237                 <delete file="${basedir}/${min-proteocache-client-nolog}"></delete>
238                 <jar jarfile="${basedir}/${min-proteocache-client-nolog}">
239                         <zipgroupfileset excludes="META-INF/*.SF" dir="" includes="${datamodel}" />
240                         <fileset dir="${basedir}/WEB-INF/classes/">
241                                 <!-- This will include JAXWS artifacts. Alternatively they can be generated on the fly. -->
242                                 <include name="compbio/data/msa/**"/>
243                                 <include name="compbio/ws/client/**"/>
244                         </fileset>
245                         <manifest>
246                                 <attribute name="Built-By" value="${author}" />
247                                 <attribute name="Main-Class" value="compbio.ws.client.Jws2Client" />
248                                 <attribute name="Class-Path" value="." />
249                                 <attribute name="Implementation-Title" value="Minimal ${product} Client" />
250                                 <attribute name="Implementation-Vendor" value="${author}" />
251                                 <attribute name="Implementation-URL" value="${project.url}" />
252                         </manifest>
253                 </jar>
254         </target>
255
256         <target name="full-proteocache-client-jar" depends="compile" description="Pack datamodel, engine and casscode">
257                 <echo>Jar file: Full ProteoCache client jar</echo>
258                 <delete file="${full-proteocache-client}">
259                 </delete>
260                 <jar jarfile="${full-proteocache-client}">
261                         <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >
262                                 <include name="${compbio-util}"/>
263                                 <include name="${compbio-annotation}"/>
264                                 <include name="drmaa.jar"/>
265                         </zipgroupfileset>
266                         <fileset refid="fullclient"/>
267                         <manifest>
268                                 <attribute name="Built-By" value="${author}" />
269                                 <attribute name="Class-Path" value="." />
270                                 <attribute name="Implementation-Title" value="Full ${product} Client" />
271                                 <attribute name="Implementation-Vendor" value="${author}" />
272                                 <attribute name="Implementation-URL" value="${project.url}" />
273                         </manifest>
274                 </jar>
275         </target>
276
277         <target name="full-proteocache-client" depends="full-proteocache-client-jar" description="Pack sources and configuration files">
278                 <echo>Packing binaries, and configuration files</echo>
279                 <zip destfile="${full-proteocache-client-pack}" >
280                         <zipgroupfileset file="${binaries}" />
281                         <zipfileset dir="conf" prefix="conf" >
282                                 <exclude name="**/temp/**"/>
283                         </zipfileset>
284                         <fileset file="${full-proteocache-client}" />
285                 </zip>
286         </target>
287
288
289         <target name="source-jar" depends="datamodel-source-jar" description="Pack java sources">
290                 <delete file="${basedir}/${proteocache-source-jar}">
291                 </delete>
292                 <jar jarfile="${basedir}/${proteocache-source-jar}">
293                         <zipgroupfileset  excludes="META-INF/*.MF" file="${datamodel-src}"/>
294                         <fileset dir="${basedir}/casscode">
295                                 <include name="**"/>
296                         </fileset>
297                         <fileset dir="${basedir}/engine">
298                                 <include name="**"/>
299                         </fileset>
300                         <fileset dir="${basedir}/webservices/">
301                                 <include name="**"/>
302                         </fileset>
303                         <manifest>
304                                 <attribute name="Built-By" value="${author}" />
305                                 <attribute name="Class-Path" value="." />
306                                 <attribute name="Implementation-Title" value="${product} Source Code Archive" />
307                                 <attribute name="Implementation-Vendor" value="${author}" />
308                                 <attribute name="Implementation-URL" value="${project.url}" />
309                         </manifest>
310                 </jar>
311         </target>
312
313         <target name="datamodel-source-jar" depends="compile" description="Pack java sources">
314                 <delete file="${datamodel-src}">
315                 </delete>
316                 <jar jarfile="${datamodel-src}">
317                         <fileset dir="${basedir}/datamodel">
318                                 <include name="**"/>
319                         </fileset>
320                         <zipgroupfileset excludes="META-INF/*.MF" dir="${lib.path}/src">
321                                 <include name="**"/>
322                         </zipgroupfileset>
323                         <manifest>
324                                 <attribute name="Built-By" value="${author}" />
325                                 <attribute name="Implementation-Title" value="${product} Datamodel Source Code Archive" />
326                                 <attribute name="Implementation-Vendor" value="${author}" />
327                                 <attribute name="Implementation-URL" value="${project.url}" />
328                         </manifest>
329                 </jar>
330         </target>
331
332         <target name="full-proteocache-jar" depends="compile" description="Pack datamodel, engine, casscode, configuration, binaries and webservices">
333                 <echo>Jar file: Full WS client jar</echo>
334                 <delete file="${full-proteocache-client}">
335                 </delete>
336                 <jar jarfile="${full-proteocache-client}">
337                         <zipgroupfileset excludes="META-INF/*.SF" dir="${web.lib.path}" >
338                                 <include name="log4j-1.2.15.jar"/>
339                                 <include name="${compbio-util}"/>
340                                 <include name="${compbio-annotation}"/>
341                                 <include name="drmaa.jar"/>
342                         </zipgroupfileset>
343                         <fileset refid="fullclient">
344                         </fileset>
345                         <fileset dir="${basedir}/WEB-INF/classes/">
346                                 <!-- Statistics web application -->
347                                 <include name="compbio/stat/**"/>
348                                 <!-- Web services-->
349                                 <include name="compbio/ws/**"/>
350                         </fileset>
351                         <!-- Set WSTester as main to help user to test their deployments -->
352                         <manifest>
353                                 <attribute name="Built-By" value="${author}" />
354                                 <attribute name="Class-Path" value="." />
355                                 <attribute name="Main-Class" value="compbio.ws.client.WSTester" />
356                                 <attribute name="Implementation-Title" value="${product}" />
357                                 <attribute name="Implementation-Vendor" value="${author}" />
358                                 <attribute name="Implementation-URL" value="${project.url}" />
359                         </manifest>
360                 </jar>
361         </target>
362
363         <target name="proteocache-no-binaries" depends="full-proteocache-jar, clearStatDB" description="Prepare proteocache war file without native binaries">
364                 <echo>Preparing a war file without binaries</echo>
365                 <delete file="${proteocache-no-binaries}">
366                 </delete>
367                 <zip destfile="${proteocache-no-binaries}" whenempty="create">
368                         <zipfileset dir="${basedir}/WEB-INF" prefix="WEB-INF">
369                                 <exclude name="classes"/>
370                                 <!-- These are included into JABA client so exclude the jars -->
371                                 <exclude name="lib/drmaa.jar"/>
372                                 <exclude name="lib/log4j-1.2.15.jar"/>
373                                 <exclude name="lib/${compbio-annotation}"/>
374                                 <exclude name="lib/${compbio-util}"/>
375                                 
376                                 <include name="web.xml"/>
377                                 <include name="sun-jaxws.xml"/>
378                                 <include name="lib/*"/>
379                         </zipfileset>
380                         <zipfileset dir="${basedir}/ExecutionStatistic" prefix="ExecutionStatistic" />
381                         <zipfileset dir="${basedir}/statpages" prefix="statpages" />
382                         <zipfileset dir="${basedir}/jobsout" prefix="jobsout" excludes="**/*"/>
383                         <zipfileset dir="conf" prefix="conf" >
384                                 <exclude name="**/temp/**"/>
385                         </zipfileset>
386                         <!-- Add proteocache web site apart from the binary archive -->
387                         <zipfileset dir="${basedir}/website" excludes="archive/**, devel*.html, tests/**, template.html"/>
388                         <zipfileset dir="." includes="${full-proteocache-client}" fullpath="WEB-INF/lib/proteocache-client.jar"/>
389                         <!-- Put a copy of log4j configuration file where it can be used  -->
390                         <zipfileset dir="log" includes="log4j.properties" prefix="WEB-INF/classes"/>
391                 </zip>
392         </target>
393
394         <target name="build-devel-website" description="Pack developement related pages, tests, javadoc" >
395                 <echo>Packing data for internal web site</echo>
396                 <delete file="${proteocache-devel-web}">
397                 </delete>
398                 <zip destfile="${proteocache-devel-web}" whenempty="create">
399                         <!-- Add proteocache web site apart from the binary archive -->
400                         <zipfileset dir="${basedir}/website" excludes="template.html, download.html, index.html, manual.html, howto.html, archive/**, prog_docs/**"/>
401                 </zip>
402         </target>
403
404         <target name="proteocache-complete" depends="proteocache-no-binaries" description="Prepare proteocache war file without runtime dependency - JAXWS jars">
405                 <echo>Preparing a complete war file</echo>
406                 <delete file="${proteocache}">
407                 </delete>
408                 <copy tofile="${proteocache}" file="${proteocache-no-binaries}"/>
409                 <zip destfile="${proteocache}" update="true" >
410                         <zipgroupfileset file="${binaries}" />
411                 </zip>
412         </target>
413
414         <target name="build-all" depends="full-proteocache-client, minimal-proteocache-client-jar, proteocache-no-binaries, proteocache-complete, datamodel-jar, datamodel-source-jar, source-jar" description="Build-all the distributives"/>
415
416         <!-- This task does not really depends on compile, but it is better to make sure that the code is sound -->
417         <target name="archive-project" description="Pack everything in the project for those who do not have access to SVN" depends="compile">
418                 <delete file="${proteocache-project}">
419                 </delete>
420                 <zip destfile="${proteocache-project}" whenempty="create" >
421                         <fileset dir="." excludes="${distdir}/**, jobsout/**, test-output/**, **.svn, dundee-conf/**, TODO.txt, IDEAS.txt, ${activity.log}, **/*.zip, **/*.war"/>
422                         <!-- Add jobsout directory but no content -->
423                         <zipfileset dir="${basedir}/jobsout" prefix="jobsout" excludes="*/**"/>
424                 </zip>
425         </target>
426
427 <!-- Test targets -->
428         <taskdef name="testNG" classname="org.testng.TestNGAntTask">
429                 <classpath refid="test.classpath">
430                 </classpath>
431         </taskdef>
432
433         <target name="CustomTest" depends="compile_with_debug">
434                 <delete file="${activity.log}"/>
435                 <testNG haltonfailure="true" enableassert="true" >
436                         <jvmarg value="-server" />
437                         <jvmarg value="-enableassertions" />
438                         <jvmarg value="-Xms1024m" />
439                         <jvmarg value="-Xmx1024m" />
440                         <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
441                         <classpath refid="test.classpath" />
442                         <classpath refid="project.classpath" />
443                         <xmlfileset dir="." includes="temp-testng-customsuite.xml"/>
444                         <sysproperty key="TestingDataPath" value="${data.src}"/>
445                 </testNG>
446         </target>
447
448         <target name="Run_cluster_dependent_test" depends="compile_with_debug">
449                 <delete file="${activity.log}"/>
450                 <testNG groups="cluster" haltonfailure="true" enableassert="true" parallel="false" verbose="3">
451                         <jvmarg value="-server" />
452                         <jvmarg value="-enableassertions" />
453                         <jvmarg value="-Xms1024m" />
454                         <jvmarg value="-Xmx1024m" />
455                         <classfileset dir="${classes}" includes="**/*.class" />
456                         <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
457                         <classpath refid="test.classpath" />
458                         <classpath refid="project.classpath" />
459                         <sysproperty key="TestingDataPath" value="${data.src}"/>
460                 </testNG>
461         </target>
462
463         <target name="Test" depends="compile_with_debug">
464                 <delete file="${activity.log}"/>
465                 <testNG haltonfailure="true" enableassert="true" verbose="3" excludedgroups="performance, webservices" >
466                         <jvmarg value="-server" />
467                         <jvmarg value="-enableassertions" />
468                         <jvmarg value="-Xms1024m" />
469                         <jvmarg value="-Xmx1024m" />
470                         <classfileset dir="${classes}" includes="**/*.class" />
471                         <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
472                         <classpath refid="test.classpath" />
473                         <classpath refid="project.classpath" />
474                         <sysproperty key="TestingDataPath" value="${data.src}"/>
475                 </testNG>
476         </target>
477
478         <target name="Performance_tests" depends="compile_with_debug">
479                 <delete file="${activity.log}"/>
480                 <testNG haltonfailure="true" enableassert="true" verbose="3" groups="performance" >
481                         <jvmarg value="-server" />
482                         <jvmarg value="-enableassertions" />
483                         <jvmarg value="-Xms1024m" />
484                         <jvmarg value="-Xmx1024m" />
485                         <classfileset dir="${classes}" includes="**/*.class" />
486                         <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
487                         <classpath refid="test.classpath" />
488                         <classpath refid="project.classpath" />
489                         <sysproperty key="TestingDataPath" value="${data.src}"/>
490                 </testNG>
491         </target>
492
493         <target name="Test_casscode" depends="compile_with_debug">
494                 <delete file="${activity.log}"/>
495                 <testNG groups="casscode" haltonfailure="true" verbose="3" enableassert="true" >
496                         <jvmarg value="-server" />
497                         <jvmarg value="-enableassertions" />
498                         <jvmarg value="-Xms1024m" />
499                         <jvmarg value="-Xmx1024m" />
500                         <classfileset dir="${classes}" includes="**/*.class" />
501                         <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
502                         <classpath refid="test.classpath" />
503                         <classpath refid="project.classpath" />
504                         <sysproperty key="TestingDataPath" value="${data.src}"/>
505                 </testNG>
506         </target>
507
508         <target name="Test_engines" depends="compile_with_debug">
509                 <delete file="${activity.log}"/>
510                 <testNG groups="engine" haltonfailure="true" verbose="3" enableassert="true" >
511                         <jvmarg value="-server" />
512                         <jvmarg value="-enableassertions" />
513                         <jvmarg value="-Xms1024m" />
514                         <jvmarg value="-Xmx1024m" />
515                         <classfileset dir="${classes}" includes="**/*.class" />
516                         <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
517                         <classpath refid="test.classpath" />
518                         <classpath refid="project.classpath" />
519                         <sysproperty key="TestingDataPath" value="${data.src}"/>
520                 </testNG>
521         </target>
522
523         <target name="All_cluster_independent_windows_only_tests" depends="compile_with_debug">
524                 <delete file="${activity.log}" failonerror="false"/>
525                 <testNG excludedgroups="cluster, non_windows" haltonfailure="true" verbose="3" enableassert="true"  >
526                         <jvmarg value="-server" />
527                         <jvmarg value="-enableassertions" />
528                         <jvmarg value="-Xms1024m" />
529                         <jvmarg value="-Xmx1024m" />
530                         <classfileset dir="${classes}" includes="**/*.class" />
531                         <classpath refid="test.classpath" />
532                         <classpath refid="project.classpath" />
533                         <sysproperty key="TestingDataPath" value="${data.src}"/>
534                 </testNG>
535         </target>
536
537         <target name="All_cluster_independent_tests" depends="compile_with_debug">
538                 <delete file="${activity.log}" failonerror="false"/>
539                 <testNG excludedgroups="cluster, performance" haltonfailure="true" verbose="3" enableassert="true"  >
540                         <jvmarg value="-server" />
541                         <jvmarg value="-enableassertions" />
542                         <jvmarg value="-Xms1024m" />
543                         <jvmarg value="-Xmx1024m" />
544                         <classfileset dir="${classes}" includes="**/*.class" />
545                         <classpath refid="test.classpath" />
546                         <classpath refid="project.classpath" />
547                         <sysproperty key="TestingDataPath" value="${data.src}"/>
548                 </testNG>
549         </target>
550
551         <target name="Rerun_failed_tests" depends="compile_with_debug">
552                 <delete file="${activity.log}" failonerror="false"/>
553                 <testNG haltonfailure="true" enableassert="true" verbose="9" >
554                         <jvmarg value="-server" />
555                         <jvmarg value="-enableassertions" />
556                         <jvmarg value="-Xms1024m" />
557                         <jvmarg value="-Xmx1024m" />
558                         <env key="LD_LIBRARY_PATH" value="${LD_LIBRARY_PATH}"/>
559                         <classpath refid="test.classpath" />
560                         <classpath refid="project.classpath" />
561                         <xmlfileset dir="." includes="test-output/testng-failed.xml"/>
562                         <sysproperty key="TestingDataPath" value="${data.src}"/>
563                 </testNG>
564         </target>
565 </project>