source: trunk/JavaCommons/build.xml @ 340

Last change on this file since 340 was 337, checked in by sherbold, 13 years ago
  • Property svn:mime-type set to text/plain
File size: 20.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2<project basedir="." default="dist" name="EventBench">
3        <!-- General Properties -->
4        <property environment="env" />
5        <property name="build.location" value="bin" />
6        <property name="dist.location" value="dist" />
7        <property name="javadoc.location" value="javadoc" />
8        <property name="downloads.location" value="downloads" />
9        <property name="debuglevel" value="source,lines,vars" />
10        <property name="target" value="1.6" />
11        <property name="source" value="1.6" />
12
13        <!-- Distribution Properties -->
14        <property name="dist.location.main" value="${dist.location}/console" />
15        <property name="dist.location.jfcmonitor" value="${dist.location}/jfcmonitor" />
16        <property name="dist.location.javadoc" value="${dist.location}/javadoc" />
17
18        <!-- EventBenchConsole Properties -->
19        <property name="build.location.eventbenchconsole" value="${build.location}/eventbenchconsole" />
20        <property name="EventBenchConsole.jarname" value="eventbenchconsole.jar" />
21        <property name="EventBenchConsole.location" value="../EventBenchConsole" />
22        <path id="EventBenchConsole.classpath">
23                <pathelement location="${build.location.eventbenchconsole}" />
24                <pathelement location="lib/collections-generic-4.01.jar" />
25                <pathelement location="lib/jdom.jar" />
26                <pathelement location="lib/colt-1.2.0.jar" />
27                <pathelement location="lib/concurrent-1.3.4.jar" />
28                <pathelement location="lib/j3d-core-1.3.1.jar" />
29                <pathelement location="lib/jung-3d-2.0.1.jar" />
30                <pathelement location="lib/jung-3d-demos-2.0.1.jar" />
31                <pathelement location="lib/jung-algorithms-2.0.1.jar" />
32                <pathelement location="lib/jung-api-2.0.1.jar" />
33                <pathelement location="lib/jung-graph-impl-2.0.1.jar" />
34                <pathelement location="lib/jung-io-2.0.1.jar" />
35                <pathelement location="lib/jung-jai-2.0.1.jar" />
36                <pathelement location="lib/jung-jai-samples-2.0.1.jar" />
37                <pathelement location="lib/jung-samples-2.0.1.jar" />
38                <pathelement location="lib/jung-visualization-2.0.1.jar" />
39                <pathelement location="lib/stax-api-1.0.1.jar" />
40                <pathelement location="lib/vecmath-1.3.1.jar" />
41                <pathelement location="lib/wstx-asl-3.2.6.jar" />
42                <pathelement location="lib/commons-codec-1.5.jar" />
43                <pathelement location="lib/org.eclipse.core.commands_3.6.0.I20110111-0800.jar" />
44                <pathelement location="lib/org.eclipse.equinox.common_3.6.0.v20110523.jar" />
45                <pathelement location="lib/org.eclipse.jface_3.7.0.I20110522-1430.jar" />
46                <pathelement location="lib/org.eclipse.osgi_3.7.0.v20110613.jar" />
47                <pathelement location="lib/org.eclipse.swt.win32.win32.x86_3.7.0.v3735b.jar" />
48                <pathelement location="lib/org.eclipse.ui.forms_3.5.100.v20110425.jar" />
49                <pathelement location="lib/org.eclipse.ui.workbench_3.7.0.I20110519-0100.jar" />
50                <pathelement location="lib/gui-model-core.jar" />
51                <pathelement location="lib/log4j-1.2.16.jar" />
52                <pathelement location="lib/jopt-simple-3.3.jar" />
53                <path refid="JavaHelperLib.classpath" />
54                <path refid="EventBenchCore.classpath" />
55        </path>
56
57        <!-- EventBenchCore Properties -->
58        <property name="build.location.eventbenchcore" value="${build.location}/eventbenchcore" />
59        <property name="EventBenchCore.jarname" value="eventbenchcore.jar" />
60        <property name="EventBenchCore.location" value="../EventBenchCore" />
61        <path id="EventBenchCore.classpath">
62                <pathelement location="${build.location.eventbenchcore}" />
63                <pathelement location="lib/Jama-1.0.2.jar" />
64                <pathelement location="lib/colt-1.2.0.jar" />
65                <pathelement location="lib/concurrent-1.3.4.jar" />
66                <pathelement location="lib/j3d-core-1.3.1.jar" />
67                <pathelement location="lib/jung-3d-2.0.1.jar" />
68                <pathelement location="lib/jung-3d-demos-2.0.1.jar" />
69                <pathelement location="lib/jung-algorithms-2.0.1.jar" />
70                <pathelement location="lib/jung-api-2.0.1.jar" />
71                <pathelement location="lib/jung-graph-impl-2.0.1.jar" />
72                <pathelement location="lib/jung-io-2.0.1.jar" />
73                <pathelement location="lib/jung-jai-2.0.1.jar" />
74                <pathelement location="lib/jung-jai-samples-2.0.1.jar" />
75                <pathelement location="lib/jung-samples-2.0.1.jar" />
76                <pathelement location="lib/jung-visualization-2.0.1.jar" />
77                <pathelement location="lib/stax-api-1.0.1.jar" />
78                <pathelement location="lib/vecmath-1.3.1.jar" />
79                <pathelement location="lib/wstx-asl-3.2.6.jar" />
80                <pathelement location="lib/commons-codec-1.5.jar" />
81                <pathelement location="lib/collections-generic-4.01.jar" />
82                <path refid="JavaHelperLib.classpath" />
83        </path>
84
85        <!-- JavaHelperLib Properties -->
86        <property name="build.location.javahelperlib" value="${build.location}/javahelperlib" />
87        <property name="JavaHelperLib.jarname" value="javahelperlib.jar" />
88        <property name="JavaHelperLib.location" value="../JavaHelperLib" />
89        <path id="JavaHelperLib.classpath">
90                <pathelement location="${build.location.javahelperlib}" />
91        </path>
92
93        <!-- JFCMonitor Properties -->
94        <property name="build.location.jfcmonitor" value="${build.location}/jfcmonitor" />
95        <property name="JFCMonitor.jarname" value="jfcmonitor.jar" />
96        <property name="JFCMonitor.location" value="../JFCMonitor" />
97        <path id="JFCMonitor.classpath">
98                <pathelement location="${build.location.jfcmonitor}" />
99        </path>
100
101        <!-- Emma Configuration -->
102        <property name="coverage.location" value="coverage" />
103        <property name="coverage.instrumented" value="inst" />
104        <property name="coverage.instrumented.javahelperlib" value="${coverage.instrumented}/javahelperlib" />
105        <property name="coverage.instrumented.eventbenchcore" value="${coverage.instrumented}/eventbenchcore" />
106        <path id="emma.classpath">
107                <pathelement location="lib-test/emma.jar" />
108                <pathelement location="lib-test/emma_ant.jar" />
109        </path>
110
111        <taskdef resource="emma_ant.properties" classpathref="emma.classpath" />
112
113        <!-- JUnit Test General Properties -->
114        <property name="test.location.results" value="test-results" />
115        <property name="test.location.data" value="testdata" />
116        <property name="test.location.output" value="testoutput" />
117        <path id="JUnit.classpath">
118                <pathelement location="lib-test/junit-4.10.jar" />
119                <pathelement location="lib-test/junit-addons-1.4.jar" />
120                <pathelement location="lib-test/cglib-nodep.jar" />
121                <pathelement location="lib-test/objenesis.jar" />
122                <pathelement location="lib-test/EqualsVerifier-1.0.2.jar" />
123        </path>
124
125        <!-- JUnit Test EventBenchCore Properties -->
126        <property name="test.location.eventbenchcore" value="${build.location}/eventbenchcore-test" />
127        <property name="EventBenchCoreTest.location" value="../EventBenchCoreTest" />
128        <property name="test.eventbenchcore.main-class" value="de.ugoe.cs.eventbench.TestAll" />
129        <property name="test.eventbenchcore.results" value="${test.location.results}/eventbenchcore" />
130        <path id="EventBenchCoreJUnitCompile.classpath">
131                <pathelement location="${test.location.eventbenchcore}" />
132                <!--<pathelement location="${coverage.instrumented.eventbenchcore}" /> -->
133                <path refid="EventBenchCore.classpath" />
134                <path refid="JUnit.classpath" />
135        </path>
136        <path id="EventBenchCoreJUnitExecute.classpath">
137                <pathelement location="${coverage.instrumented.eventbenchcore}" />
138                <path refid="EventBenchCoreJUnitCompile.classpath" />
139                <path refid="emma.classpath" />
140        </path>
141
142        <!-- JUnit Test JavaHelperLib Properties -->
143        <property name="test.location.javahelperlib" value="${build.location}/javahelperlib-test" />
144        <property name="JavaHelperLibTest.location" value="../JavaHelperLibTest" />
145        <property name="test.javahelperlib.main-class" value="de.ugoe.cs.util.TestAll" />
146        <property name="test.javahelperlib.results" value="${test.location.results}/javahelperlib" />
147        <path id="JavaHelperLibJUnitCompile.classpath">
148                <pathelement location="${test.location.javahelperlib}" />
149                <path refid="JavaHelperLib.classpath" />
150                <path refid="JUnit.classpath" />
151        </path>
152        <path id="JavaHelperLibJUnitExecute.classpath">
153                <pathelement location="${coverage.instrumented.javahelperlib}" />
154                <path refid="JavaHelperLibJUnitCompile.classpath" />
155                <path refid="emma.classpath" />
156        </path>
157
158        <!-- FindBugs Properties -->
159        <property name="findbugs.results.location" value="findbugs" />
160        <path id="findbugs.classpath">
161                <pathelement location="lib-test/findbugs-ant.jar" />
162        </path>
163        <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask"
164                classpathref="findbugs.classpath" />
165
166        <!-- Initialization Targets -->
167        <target name="init.build">
168                <mkdir dir="${build.location}" />
169        </target>
170        <target name="init.dist">
171                <mkdir dir="${dist.location}" />
172                <mkdir dir="${dist.location.main}" />
173                <mkdir dir="${dist.location.jfcmonitor}" />
174        </target>
175        <target name="init.downloads">
176                <mkdir dir="${downloads.location}" />
177        </target>
178        <target name="init.javadoc">
179                <mkdir dir="${javadoc.location}" />
180        </target>
181        <target depends="init.build" name="init.eventbenchconsole">
182                <mkdir dir="${build.location.eventbenchconsole}" />
183        </target>
184        <target depends="init.build" name="init.eventbenchcore">
185                <mkdir dir="${build.location.eventbenchcore}" />
186        </target>
187        <target depends="init.build" name="init.javahelperlib">
188                <mkdir dir="${build.location.javahelperlib}" />
189        </target>
190        <target depends="init.build" name="init.jfcmonitor">
191                <mkdir dir="${build.location.jfcmonitor}" />
192        </target>
193        <target depends="init.build" name="init.junit">
194                <mkdir dir="${test.location.results}" />
195                <mkdir dir="${test.location.data}" />
196                <mkdir dir="${test.location.output}" />
197        </target>
198        <target depends="init.junit" name="init.eventbenchcore-test">
199                <mkdir dir="${test.location.eventbenchcore}" />
200        </target>
201        <target depends="init.junit" name="init.javahelperlib-test">
202                <mkdir dir="${test.location.javahelperlib}" />
203                <copy includeemptydirs="true" todir="${test.location.data}">
204                        <fileset dir="${JavaHelperLibTest.location}/testdata" />
205                </copy>
206        </target>
207        <target name="init.emma">
208                <mkdir dir="${coverage.instrumented}" />
209                <mkdir dir="${coverage.location}" />
210        </target>
211        <target name="init.findbugs">
212                <mkdir dir="${findbugs.results.location}" />
213        </target>
214
215        <!-- Clean-up Targets -->
216        <target name="clean.build">
217                <delete dir="${build.location}" />
218        </target>
219        <target name="clean.dist">
220                <delete dir="${dist.location}" />
221        </target>
222        <target name="clean.javadoc">
223                <delete dir="${javadoc.location}" />
224        </target>
225        <target name="clean.junit">
226                <delete dir="${test.location.results}" />
227                <delete dir="${test.location.data}" />
228                <delete dir="${test.location.output}" />
229        </target>
230        <target name="clean.emma">
231                <delete dir="${coverage.instrumented}" />
232        </target>
233        <target name="clean.findbugs">
234                <delete dir="${findbugs.results.location}" />
235        </target>
236        <target depends="clean.build,clean.dist,clean.javadoc,clean.junit,clean.emma,clean.findbugs"
237                name="clean.all" />
238
239        <!-- Build Targets -->
240        <target
241                depends="build.javahelperlib,build.eventbenchcore,build.eventbenchconsole,build.jfcmonitor"
242                name="build" />
243        <target depends="init.eventbenchconsole" name="build.eventbenchconsole">
244                <javac debug="true" debuglevel="${debuglevel}"
245                        destdir="${build.location.eventbenchconsole}" source="${source}"
246                        target="${target}" includeantruntime="false">
247                        <src path="${EventBenchConsole.location}/src" />
248                        <classpath refid="EventBenchConsole.classpath" />
249                </javac>
250        </target>
251        <target depends="init.eventbenchcore" name="build.eventbenchcore">
252                <javac debug="true" debuglevel="${debuglevel}"
253                        destdir="${build.location.eventbenchcore}" source="${source}" target="${target}"
254                        includeantruntime="false">
255                        <src path="${EventBenchCore.location}/src" />
256                        <classpath refid="EventBenchCore.classpath" />
257                </javac>
258        </target>
259        <target depends="init.javahelperlib" name="build.javahelperlib">
260                <javac debug="true" debuglevel="${debuglevel}" destdir="${build.location.javahelperlib}"
261                        source="${source}" target="${target}" includeantruntime="false">
262                        <src path="${JavaHelperLib.location}/src" />
263                        <classpath refid="JavaHelperLib.classpath" />
264                </javac>
265        </target>
266        <target depends="init.jfcmonitor" name="build.jfcmonitor">
267                <javac debug="true" debuglevel="${debuglevel}" destdir="${build.location.jfcmonitor}"
268                        source="${source}" target="${target}" includeantruntime="false">
269                        <src path="${JFCMonitor.location}/src" />
270                        <classpath refid="JFCMonitor.classpath" />
271                </javac>
272        </target>
273
274        <!-- Distribution Targets -->
275        <target depends="build,init.dist,javadoc" name="dist">
276                <!-- dist of main components, i.e., the console -->
277                <pathconvert property="dist.libs" pathsep=" ">
278                        <mapper>
279                                <chainedmapper>
280                                        <flattenmapper />
281                                        <globmapper from="*" to="lib/*" />
282                                </chainedmapper>
283                        </mapper>
284                        <path>
285                                <fileset dir="lib">
286                                        <include name="**/*.jar" />
287                                </fileset>
288                        </path>
289                </pathconvert>
290                <property name="dist.classpath"
291                        value="${dist.libs} ${JavaHelperLib.jarname} ${EventBenchCore.jarname}"></property>
292                <jar destfile="${dist.location.main}/${EventBenchConsole.jarname}"
293                        basedir="${build.location.eventbenchconsole}">
294                        <manifest>
295                                <attribute name="Built-By" value="${user.name}" />
296                                <attribute name="Main-Class" value="de.ugoe.cs.eventbench.Runner" />
297                                <attribute name="Class-Path" value="${dist.classpath}" />
298                        </manifest>
299                </jar>
300                <jar destfile="${dist.location.main}/${EventBenchCore.jarname}"
301                        basedir="${build.location.eventbenchcore}">
302                        <manifest>
303                                <attribute name="Built-By" value="${user.name}" />
304                        </manifest>
305                </jar>
306                <jar destfile="${dist.location.main}/${JavaHelperLib.jarname}"
307                        basedir="${build.location.javahelperlib}">
308                        <manifest>
309                                <attribute name="Built-By" value="${user.name}" />
310                                <attribute name="Class-Path" value="${dist.classpath}" />
311                        </manifest>
312                </jar>
313                <copy includeemptydirs="false" todir="${dist.location.main}/lib">
314                        <fileset dir="lib" />
315                </copy>
316                <copy todir="${dist.location.main}/misc">
317                        <fileset dir="${EventBenchConsole.location}/misc" />
318                </copy>
319                <copy todir="${dist.location.main}/rules">
320                        <fileset dir="${EventBenchConsole.location}/rules" />
321                </copy>
322
323                <!-- dist of JFCMonitor -->
324                <jar destfile="${dist.location.jfcmonitor}/${JFCMonitor.jarname}"
325                        basedir="${build.location.jfcmonitor}">
326                        <manifest>
327                                <attribute name="Built-By" value="${user.name}" />
328                                <attribute name="Main-Class" value="de.ugoe.cs.eventbench.jfcmonitor.Runner" />
329                                <attribute name="Class-Path" value="${JavaHelperLib.jarname}" />
330                        </manifest>
331                </jar>
332
333                <!-- copy Javadoc to dist -->
334                <copy includeemptydirs="false" todir="${dist.location.javadoc}">
335                        <fileset dir="${javadoc.location}" />
336                </copy>
337        </target>
338
339
340        <target depends="init.downloads,dist" name="createDownloads">
341                <zip destfile="${downloads.location}/eventbench-complete.zip">
342                        <fileset dir="${dist.location}" />
343                </zip>
344                <zip destfile="${downloads.location}/eventbench-console.zip">
345                        <fileset dir="${dist.location.main}" />
346                </zip>
347                <zip destfile="${downloads.location}/eventbench-jfcmonitor.zip">
348                        <fileset dir="${dist.location.jfcmonitor}" />
349                </zip>
350                <zip destfile="${downloads.location}/eventbench-javadoc.zip">
351                        <fileset dir="${dist.location.javadoc}" />
352                </zip>
353        </target>
354
355        <!-- Javadoc Targets -->
356        <target depends="init.javadoc" name="javadoc"
357                description="o Create Javadocs (Requires Javadoc 1.4+)">
358                <javadoc destdir="${javadoc.location}"
359                        additionalparam="-J-Dorg.apache.commons.attributes.javadoc.CATaglet.sources=${basedir}">
360                        <classpath refid="JavaHelperLib.classpath" />
361                        <classpath refid="EventBenchCore.classpath" />
362                        <classpath refid="EventBenchConsole.classpath" />
363                        <classpath refid="JFCMonitor.classpath" />
364                        <link href="http://download.oracle.com/javase/6/docs/api/" />
365                        <fileset dir="${JavaHelperLib.location}/src" includes="**/*.java" />
366                        <fileset dir="${EventBenchCore.location}/src" includes="**/*.java" />
367                        <fileset dir="${EventBenchConsole.location}/src" includes="**/*.java" />
368                        <fileset dir="${JFCMonitor.location}/src" includes="**/*.java" />
369                </javadoc>
370        </target>
371
372        <!-- JUnit Targets -->
373        <target depends="init.eventbenchcore-test, emma.instrument.eventbenchcore"
374                name="build.eventbenchcore-test">
375                <javac debug="true" debuglevel="${debuglevel}" destdir="${test.location.eventbenchcore}"
376                        source="${source}" target="${target}" includeantruntime="false">
377                        <src path="${EventBenchCoreTest.location}/src" />
378                        <classpath refid="EventBenchCoreJUnitCompile.classpath" />
379                </javac>
380        </target>
381        <target depends="init.javahelperlib-test, emma.instrument.javahelperlib"
382                name="build.javahelperlib-test">
383                <javac debug="true" debuglevel="${debuglevel}" destdir="${test.location.javahelperlib}"
384                        source="${source}" target="${target}" includeantruntime="false">
385                        <src path="${JavaHelperLibTest.location}/src" />
386                        <classpath refid="JavaHelperLibJUnitCompile.classpath" />
387                </javac>
388        </target>
389
390        <target depends="emma.instrument.eventbenchcore,build.eventbenchcore-test"
391                name="junit.eventbenchcore">
392                <junit fork="on" printsummary="yes" haltonfailure="no">
393                        <classpath refid="EventBenchCoreJUnitExecute.classpath" />
394                        <test name="${test.eventbenchcore.main-class}" haltonfailure="no"
395                                outfile="${test.eventbenchcore.results}">
396                                <formatter type="xml" />
397                        </test>
398                        <jvmarg
399                                value="-Demma.coverage.out.file=${coverage.location}/eventbenchcore.emma" />
400                        <jvmarg value="-Demma.coverage.out.merge=true" />
401                </junit>
402        </target>
403        <target depends="emma.instrument.javahelperlib,build.javahelperlib-test"
404                name="junit.javahelperlib">
405                <junit fork="on" printsummary="yes" haltonfailure="no">
406                        <classpath refid="JavaHelperLibJUnitExecute.classpath" />
407                        <test name="${test.javahelperlib.main-class}" haltonfailure="no"
408                                outfile="${test.javahelperlib.results}">
409                                <formatter type="xml" />
410                        </test>
411                        <jvmarg
412                                value="-Demma.coverage.out.file=${coverage.location}/javahelperlib.emma" />
413                        <jvmarg value="-Demma.coverage.out.merge=true" />
414                </junit>
415        </target>
416
417        <target depends="junit.javahelperlib,junit.eventbenchcore" name="junit" />
418
419        <!-- Emma Targets -->
420        <target depends="build.javahelperlib, init.emma" name="emma.instrument.javahelperlib">
421                <emma enabled="true">
422                        <instr instrpath="${build.location.javahelperlib}" destdir="${coverage.instrumented.javahelperlib}"
423                                metadatafile="${coverage.location}/javahelperlib.emma" merge="true" />
424                </emma>
425        </target>
426        <target depends="build.eventbenchcore, init.emma" name="emma.instrument.eventbenchcore">
427                <emma enabled="true">
428                        <instr instrpath="${build.location.eventbenchcore}" destdir="${coverage.instrumented.eventbenchcore}"
429                                metadatafile="${coverage.location}/eventbenchcore.emma" merge="true" />
430                </emma>
431        </target>
432        <target depends="junit" name="emma.report">
433                <emma enabled="true">
434                        <report sourcepath="${JavaHelperLib.location}">
435                                <fileset dir="${coverage.location}">
436                                        <include name="*.emma" />
437                                </fileset>
438                                <xml outfile="${coverage.location}/coverage.xml" depth="method" />
439                        </report>
440                </emma>
441        </target>
442
443        <!-- FindBugs Targets -->
444        <target depends="dist" name="findbugs.javahelperlib">
445                <mkdir dir="${findbugs.results.location}" />
446                <findbugs home="lib-test" output="xml"
447                        outputFile="${findbugs.results.location}/findbugs-javahelperlib.xml">
448                        <auxClasspath refid="JavaHelperLib.classpath" />
449                        <sourcePath path="${JavaHelperLib.location}" />
450                        <class location="${dist.location.main}/${JavaHelperLib.jarname}" />
451                </findbugs>
452        </target>
453        <target depends="dist" name="findbugs.eventbenchcore">
454                <mkdir dir="${findbugs.results.location}" />
455                <findbugs home="lib-test" output="xml"
456                        outputFile="${findbugs.results.location}/findbugs-eventbenchcore.xml">
457                        <auxClasspath refid="EventBenchCore.classpath" />
458                        <sourcePath path="${EventBenchCore.location}" />
459                        <class location="${dist.location.main}/${EventBenchCore.jarname}" />
460                </findbugs>
461        </target>
462        <target depends="dist" name="findbugs.eventbenchconsole">
463                <mkdir dir="${findbugs.results.location}" />
464                <findbugs home="lib-test" output="xml"
465                        outputFile="${findbugs.results.location}/findbugs-eventbenchconsole.xml">
466                        <auxClasspath refid="EventBenchConsole.classpath" />
467                        <sourcePath path="${EventBenchConsole.location}" />
468                        <class location="${dist.location.main}/${EventBenchConsole.jarname}" />
469                </findbugs>
470        </target>
471        <target depends="dist" name="findbugs.jfcmonitor">
472                <mkdir dir="${findbugs.results.location}" />
473                <findbugs home="lib-test" output="xml"
474                        outputFile="${findbugs.results.location}/findbugs-jfcmonitor.xml">
475                        <auxClasspath refid="JFCMonitor.classpath" />
476                        <sourcePath path="${JFCMonitor.location}" />
477                        <class location="${dist.location.jfcmonitor}/${JFCMonitor.jarname}" />
478                </findbugs>
479        </target>
480        <target depends="findbugs.javahelperlib,findbugs.eventbenchcore,findbugs.eventbenchconsole,findbugs.jfcmonitor" name="findbugs" />
481</project>
Note: See TracBrowser for help on using the repository browser.