ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.139
Committed: Thu May 2 21:38:03 2013 UTC (10 years, 11 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.138: +9 -0 lines
Log Message:
Add support for system properties to control tck runs

File Contents

# User Rev Content
1 tim 1.18 <project name="jsr166" default="usage">
2 tim 1.1
3     <description>
4 tim 1.29 ------------------------------------------------------------------------------
5     Build file for JSR-166
6 tim 1.18
7 tim 1.29 Usage: ant [target]
8    
9     User-specific settings are read from user.properties.
10 tim 1.32 See user.properties.sample for an explanation of some useful settings.
11 jsr166 1.98
12     The repository contains all dependencies except for ant and the JDK
13     itself. Because the JDK version matters and because different
14     targets require different JDKs, we assume that users have created a
15     hierarchy containing:
16     $HOME/jdk/jdk6
17     $HOME/jdk/jdk7
18     $HOME/jdk/jdk8
19 jsr166 1.99 where each of the above is a JDK or a symlink to same, and
20     $HOME/jdk/src/jdk6
21     $HOME/jdk/src/jdk7
22     $HOME/jdk/src/jdk8
23     where each of the above is a complete JDK source tree
24     (e.g. mercurial forest) or a symlink to same.
25 jsr166 1.131 As of 2013-02, the very latest lambda 8 jdk is needed for jdk8.
26 tim 1.29 ------------------------------------------------------------------------------
27 tim 1.18 </description>
28 tim 1.11
29 jsr166 1.129 <target name="usage" description="Display main targets by running 'ant -projecthelp'">
30     <java classname="org.apache.tools.ant.Main">
31     <arg value="-projecthelp" />
32     </java>
33 tim 1.29 </target>
34 tim 1.3
35 tim 1.11
36 tim 1.27 <!-- User-specific settings -->
37 tim 1.23 <property file="user.properties"/>
38 tim 1.27
39 tim 1.1
40     <!-- Compilation options -->
41 jsr166 1.114 <property name="build.sourcelevel" value="6"/>
42 tim 1.1 <property name="build.debug" value="true"/>
43     <property name="build.debuglevel" value="source,lines,vars"/>
44 tim 1.13 <property name="build.deprecation" value="false"/>
45 jsr166 1.130 <property name="build.javadoc.access" value="protected"/>
46 tim 1.1
47 jsr166 1.139 <!-- Tck options; see JSR166TestCase.java -->
48     <!-- Use via, e.g. ant -Djsr166.profileTests=true -Djsr166.runsPerTest=100 test-tck -->
49     <property name="jsr166.profileTests" value="false"/>
50     <property name="jsr166.profileThreshold" value="100"/>
51     <property name="jsr166.runsPerTest" value="1"/>
52    
53 tim 1.1 <!-- Build locations -->
54 jsr166 1.79 <property name="build.dir" location="build"/>
55     <property name="build.classes.dir" location="${build.dir}/classes"/>
56     <property name="build.testcases.dir" location="${build.dir}/testcases"/>
57     <property name="build.loops.dir" location="${build.dir}/loops"/>
58     <property name="build.reports.dir" location="${build.dir}/reports"/>
59 jsr166 1.92
60 jsr166 1.109 <property name="build.4jdk7.dir" location="${build.dir}/jsr166-4jdk7"/>
61     <property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/>
62 jsr166 1.113 <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
63 jsr166 1.109 <property name="build.4jdk7.docs.dir" location="${build.4jdk7.dir}/docs"/>
64 jsr166 1.92
65 jsr166 1.79 <property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/>
66     <property name="build.jsr166y.dir" location="${build.dir}/jsr166y"/>
67 dl 1.90 <property name="build.jsr166e.dir" location="${build.dir}/jsr166e"/>
68 jsr166 1.79 <property name="build.extra166y.dir" location="${build.dir}/extra166y"/>
69 dl 1.76
70 jsr166 1.126 <property name="build.jsr166x.classes.dir" location="${build.jsr166x.dir}/classes"/>
71     <property name="build.jsr166y.classes.dir" location="${build.jsr166y.dir}/classes"/>
72     <property name="build.jsr166e.classes.dir" location="${build.jsr166e.dir}/classes"/>
73     <property name="build.extra166y.classes.dir" location="${build.extra166y.dir}/classes"/>
74 jsr166 1.114
75 jsr166 1.118 <!-- JDK locations -->
76 jsr166 1.92 <property name="jdks.home" location="${user.home}/jdk"/>
77 jsr166 1.93
78     <macrodef name="defjdklocations">
79     <attribute name="v"/>
80     <sequential>
81 jsr166 1.99 <property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/>
82     <property name="java@{v}" location="${jdk@{v}.home}/bin/java"/>
83     <property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/>
84     <property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/>
85     <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
86 jsr166 1.118 <local name="boot.jar.dir"/>
87     <property name="boot.jar.dir" location="${jdk@{v}.home}/jre/lib"/>
88     <path id="bootclasspath@{v}">
89     <pathelement path="${boot.jar.dir}/resources.jar"/>
90     <pathelement path="${boot.jar.dir}/rt.jar"/>
91     <pathelement path="${boot.jar.dir}/jsse.jar"/>
92     <pathelement path="${boot.jar.dir}/jce.jar"/>
93     <pathelement path="${boot.jar.dir}/charsets.jar"/>
94     </path>
95     <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
96 jsr166 1.93 </sequential>
97     </macrodef>
98    
99 jsr166 1.125 <macrodef name="mirror-dir">
100     <attribute name="src"/>
101     <attribute name="dst"/>
102     <sequential>
103     <delete dir="@{dst}"/>
104     <mkdir dir="@{dst}"/>
105     <copy todir="@{dst}" preservelastmodified="true">
106     <fileset dir="@{src}"/>
107     </copy>
108     </sequential>
109     </macrodef>
110    
111 jsr166 1.93 <defjdklocations v="6"/>
112     <defjdklocations v="7"/>
113     <defjdklocations v="8"/>
114 jsr166 1.92
115 tim 1.1 <!-- Source locations -->
116 tim 1.22 <property name="src.dir" location="${basedir}/src/main"/>
117     <property name="test.src.dir" location="${basedir}/src/test"/>
118 jsr166 1.65 <property name="loops.src.dir" location="${basedir}/src/loops"/>
119 tim 1.60 <property name="tck.src.dir" location="${test.src.dir}/tck"/>
120 tim 1.62 <property name="jtreg.src.dir" location="${test.src.dir}/jtreg"/>
121 tim 1.1 <property name="lib.dir" location="${basedir}/lib"/>
122 tim 1.9 <property name="dist.dir" location="${basedir}/dist"/>
123 dl 1.70 <property name="topsrc.dir" location="${basedir}/src"/>
124 jsr166 1.99 <property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/>
125 jsr166 1.92 <property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/>
126     <property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/>
127     <property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/>
128     <property name="extra166ysrc.dir" location="${topsrc.dir}/extra166y"/>
129 jsr166 1.91
130 jsr166 1.125 <!-- Javadoc locations -->
131 jsr166 1.127 <property name="docs.dir" location="${build.dir}/docs"/>
132     <property name="4jdk7docs.dir" location="${build.4jdk7.dir}/docs"/>
133     <property name="jsr166xdocs.dir" location="${build.jsr166x.dir}/docs"/>
134     <property name="jsr166ydocs.dir" location="${build.jsr166y.dir}/docs"/>
135     <property name="jsr166edocs.dir" location="${build.jsr166e.dir}/docs"/>
136     <property name="extra166ydocs.dir" location="${build.extra166y.dir}/docs"/>
137    
138     <property name="dist.docs.dir" location="${dist.dir}/docs"/>
139     <property name="dist.4jdk7docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/>
140     <property name="dist.jsr166xdocs.dir" location="${dist.dir}/jsr166xdocs"/>
141     <property name="dist.jsr166ydocs.dir" location="${dist.dir}/jsr166ydocs"/>
142     <property name="dist.jsr166edocs.dir" location="${dist.dir}/jsr166edocs"/>
143     <property name="dist.extra166ydocs.dir" location="${dist.dir}/extra166ydocs"/>
144 tim 1.1
145     <!-- Jar locations -->
146 jsr166 1.109 <property name="product.jar" location="${build.dir}/jsr166.jar"/>
147     <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
148     <property name="jsr166x.jar" location="${build.jsr166x.dir}/jsr166x.jar"/>
149     <property name="jsr166y.jar" location="${build.jsr166y.dir}/jsr166y.jar"/>
150     <property name="jsr166e.jar" location="${build.jsr166e.dir}/jsr166e.jar"/>
151     <property name="extra166y.jar" location="${build.extra166y.dir}/extra166y.jar"/>
152 jsr166 1.106 <property name="junit.jar" location="${lib.dir}/junit.jar"/>
153 jsr166 1.65
154 jsr166 1.91 <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
155     <property name="jdkapi5docs.url" value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
156     <property name="jdkapi6docs.url" value="http://docs.oracle.com/javase/6/docs/api/"/>
157     <property name="jdkapi7docs.url" value="http://docs.oracle.com/javase/7/docs/api/"/>
158    
159     <property name="jdkapi8docs.url" value="http://download.java.net/jdk8/docs/api/"/>
160 jsr166 1.123 <!-- The below does not yet exist as of 2013-01 -->
161 jsr166 1.91 <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
162 jsr166 1.107
163     <!-- Default jdk api doc location (latest stable release seems best) -->
164 jsr166 1.91 <property name="jdkapidocs.url" value="${jdkapi7docs.url}"/>
165    
166 jsr166 1.115 <!-- Define the "jtreg" task -->
167     <!-- See the docs in "jtreg -onlineHelp" -->
168     <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
169     classpath="${lib.dir}/jtreg.jar" />
170    
171 tim 1.59 <!-- Test classpath -->
172     <path id="test.classpath">
173     <pathelement location="${build.testcases.dir}"/>
174     <pathelement location="${junit.jar}"/>
175     </path>
176 tim 1.28
177 jsr166 1.118 <macrodef name="run-tck-tests">
178 jsr166 1.122 <attribute name="tck.src.dir" default="${tck.src.dir}"/>
179 jsr166 1.118 <attribute name="target"/>
180 jsr166 1.138 <attribute name="compile-target" default="@{target}"/>
181 jsr166 1.118 <attribute name="workdir"/>
182 jsr166 1.122 <attribute name="classes"/>
183 jsr166 1.118 <attribute name="jvmflags" default=""/>
184 jsr166 1.132 <element name="javac-elements" optional="true"/>
185 jsr166 1.118 <sequential>
186    
187     <mkdir dir="@{workdir}/tck-classes"/>
188    
189 jsr166 1.122 <javac srcdir="@{tck.src.dir}"
190 jsr166 1.118 destdir="@{workdir}/tck-classes"
191     debug="${build.debug}"
192     debuglevel="${build.debuglevel}"
193     deprecation="${build.deprecation}"
194 jsr166 1.138 source="@{compile-target}"
195     target="@{compile-target}"
196 jsr166 1.118 classpath="${junit.jar}"
197 jsr166 1.138 bootclasspath="@{classes}:${bootclasspath@{compile-target}}"
198 jsr166 1.118 includeAntRuntime="false"
199     includeJavaRuntime="false"
200 jsr166 1.138 executable="${javac@{compile-target}}"
201 jsr166 1.118 fork="true">
202    
203 jsr166 1.121 <include name="*.java"/>
204 jsr166 1.118 <compilerarg value="-XDignore.symbol.file=true"/>
205     <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
206     <compilerarg line="${build.args}"/>
207 jsr166 1.132 <javac-elements/>
208 jsr166 1.118
209     </javac>
210    
211     <java classname="JSR166TestCase"
212     failonerror="true"
213     jvm="${java@{target}}"
214     fork="true">
215 jsr166 1.122 <jvmarg value="-Xbootclasspath/p:@{classes}"/>
216 jsr166 1.118 <jvmarg line="@{jvmflags}"/>
217 jsr166 1.139 <sysproperty key="jsr166.profileTests" value="${jsr166.profileTests}"/>
218     <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>
219     <sysproperty key="jsr166.runsPerTest" value="${jsr166.runsPerTest}"/>
220 jsr166 1.118 <classpath>
221     <pathelement location="${junit.jar}"/>
222     <pathelement location="@{workdir}/tck-classes"/>
223     </classpath>
224     </java>
225    
226     </sequential>
227     </macrodef>
228    
229 jsr166 1.135 <macrodef name="run-jtreg-tests">
230     <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>
231     <attribute name="source" default="7"/>
232     <attribute name="target"/>
233     <attribute name="workdir"/>
234     <attribute name="classes"/>
235     <attribute name="jtregflags" default=""/>
236     <sequential>
237     <delete dir="@{workdir}/JTwork" quiet="true"/>
238     <delete dir="@{workdir}/JTreport" quiet="true"/>
239     <mkdir dir="@{workdir}/JTwork/scratch"/>
240     <mkdir dir="@{workdir}/JTreport"/>
241     <jtreg dir="@{jtreg.src.dir}"
242     jdk="${jdk@{target}.home}"
243     workDir="@{workdir}/JTwork"
244     reportDir="@{workdir}/JTreport">
245    
246     <arg value="-Xbootclasspath/p:@{classes}"/>
247     <arg value="-agentvm"/>
248     <arg value="-v:nopass,fail"/>
249     <arg value="-vmoptions:-esa -ea"/>
250     <arg value="-automatic"/>
251     <arg value="-k:!ignore"/>
252     <arg line="@{jtregflags}"/>
253     </jtreg>
254     </sequential>
255     </macrodef>
256    
257 jsr166 1.65 <!-- ALoops classpath -->
258     <path id="loops.classpath">
259     <pathelement location="${build.loops.dir}"/>
260     </path>
261    
262 jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
263 jsr166 1.120 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
264 jsr166 1.100 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
265 tim 1.28
266 tim 1.59 <!-- Main targets -->
267 tim 1.28
268 dl 1.80 <target name="dists"
269 jsr166 1.107 depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
270 dl 1.80 description="Builds all public jars and docs"/>
271 tim 1.11
272 tim 1.28 <target name="compile"
273 jsr166 1.100 depends="configure-compiler"
274 jsr166 1.102 description="Compiles src/main sources to build dir">
275 tim 1.27
276 tim 1.1 <mkdir dir="${build.classes.dir}"/>
277 tim 1.27
278 tim 1.60 <javac srcdir="${src.dir}"
279 jsr166 1.100 destdir="${build.classes.dir}"
280     debug="${build.debug}"
281     debuglevel="${build.debuglevel}"
282     deprecation="${build.deprecation}"
283     classpath=""
284     includeAntRuntime="false"
285     includeJavaRuntime="false"
286     executable="${javac8}"
287     fork="true">
288 tim 1.1
289 jsr166 1.68 <include name="**/*.java"/>
290 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
291 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
292 jsr166 1.100 <compilerarg value="-Xlint:all"/>
293 dl 1.73 <compilerarg line="${build.args}"/>
294 tim 1.1
295     </javac>
296     </target>
297    
298    
299 tim 1.28 <target name="jar"
300 tim 1.59 depends="compile"
301     description="Builds library jar from compiled sources">
302    
303     <jar destfile="${product.jar}">
304     <fileset dir="${build.classes.dir}"/>
305     </jar>
306     </target>
307    
308 tim 1.1
309 tim 1.28 <target name="test"
310 jsr166 1.103 depends="configure-tests, report-tests"
311 tim 1.29 description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />
312 tim 1.1
313    
314 tim 1.59 <target name="docs"
315 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
316 tim 1.59
317 jsr166 1.127 <delete dir="${docs.dir}"/>
318     <mkdir dir="${docs.dir}"/>
319 tim 1.59
320 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
321     <!-- sourcepath for packages -->
322    
323 jsr166 1.127 <javadoc destdir="${docs.dir}"
324 jsr166 1.88 packagenames="none"
325 jsr166 1.100 link="${jdkapi8docs.url}"
326 jsr166 1.88 overview="${src.dir}/intro.html"
327 jsr166 1.130 access="${build.javadoc.access}"
328 jsr166 1.119 sourcepath="${src.dir}:${jdk8src.dir}"
329 jsr166 1.100 classpath=""
330     executable="${javadoc8}">
331 jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
332     <include name="**/*.java"/>
333     </fileset>
334 jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
335     <arg value="-tag"/>
336     <arg value="${javadoc.jls.option}"/>
337 tim 1.59 </javadoc>
338     </target>
339    
340    
341 tim 1.28 <target name="dist"
342 jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
343 tim 1.16 description="Puts all distributable products in single hierarchy"/>
344 tim 1.1
345 tim 1.58
346 tim 1.42 <target name="release"
347     depends="dist"
348     description="Puts entire CVS tree, plus distribution productions, in a jar">
349    
350     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
351    
352     <jar basedir="${basedir}" destfile="${release.jar}">
353 tim 1.58 <!-- <exclude name="build/**"/> -->
354 tim 1.42 <exclude name="${release.jar}"/>
355     <exclude name="user.properties"/>
356     <exclude name="etc/notes/**"/>
357 tim 1.58 <exclude name="src/emulation/**"/>
358 tim 1.44 <exclude name="**/SyntaxTest.java"/>
359 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
360 tim 1.42 </jar>
361     </target>
362 tim 1.1
363 tim 1.59
364 tim 1.11 <target name="clean"
365     description="Removes all build products">
366 tim 1.27
367 tim 1.11 <delete dir="${build.dir}"/>
368 tim 1.27
369 tim 1.1 </target>
370    
371    
372 tim 1.11 <target name="dist-clean"
373     description="Removes all build and distribution products">
374 tim 1.27
375 tim 1.11 <delete dir="${dist.dir}"/>
376 tim 1.27
377 tim 1.9 </target>
378 tim 1.10
379    
380 tim 1.11 <!-- Internal targets -->
381 tim 1.9
382 tim 1.16
383 tim 1.28 <target name="dist-jar"
384     depends="clean, jar">
385 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
386 jsr166 1.125 </target>
387 tim 1.27
388 jsr166 1.125 <target name="dist-docs"
389     depends="clean, docs">
390 jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
391 tim 1.11 </target>
392    
393    
394 tim 1.28 <target name="compile-tests"
395     depends="jar">
396 tim 1.27
397 tim 1.1 <mkdir dir="${build.testcases.dir}"/>
398 tim 1.37
399 tim 1.60 <javac srcdir="${tck.src.dir}"
400 jsr166 1.111 destdir="${build.testcases.dir}"
401     debug="${build.debug}"
402     debuglevel="${build.debuglevel}"
403     deprecation="${build.deprecation}"
404     source="6"
405     classpath="${junit.jar}"
406 jsr166 1.119 bootclasspath="@{product.jar}:${bootclasspath6}"
407 jsr166 1.111 includeAntRuntime="false"
408     includeJavaRuntime="false"
409     executable="${javac8}"
410     fork="true">
411 tim 1.60
412 jsr166 1.111 <include name="**/*.java"/>
413 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
414 jsr166 1.111 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
415 jsr166 1.118 <compilerarg line="${build.args}"/>
416 jsr166 1.65
417 tim 1.60 </javac>
418    
419     <javac srcdir="${test.src.dir}"
420 jsr166 1.111 destdir="${build.testcases.dir}"
421     debug="${build.debug}"
422     debuglevel="${build.debuglevel}"
423     deprecation="${build.deprecation}"
424     source="6"
425 jsr166 1.112 classpath=""
426 jsr166 1.119 bootclasspath="@{product.jar}:${bootclasspath6}"
427 jsr166 1.111 includeAntRuntime="false"
428     includeJavaRuntime="false"
429     executable="${javac8}"
430     fork="true">
431 tim 1.1
432 jsr166 1.111 <include name="jsr166/test/**/*.java"/>
433 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
434 jsr166 1.111 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
435 jsr166 1.118 <compilerarg line="${build.args}"/>
436 jsr166 1.65
437 tim 1.1 </javac>
438 tim 1.27
439 tim 1.62 <!--
440     <javac srcdir="${jtreg.src.dir}"
441     destdir="${build.testcases.dir}"
442     debug="${build.debug}"
443     debuglevel="${build.debuglevel}"
444     deprecation="${build.deprecation}"
445     source="${build.sourcelevel}"
446     fork="true">
447    
448 jsr166 1.118 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
449     <compilerarg value="-XDignore.symbol.file=true"/>
450 tim 1.62 <compilerarg line="${build.args}"/>
451 jsr166 1.65
452 tim 1.62 </javac>
453     -->
454    
455 tim 1.1 </target>
456 tim 1.11
457 jsr166 1.131 <target name="test-tck"
458     depends="jar"
459     description="Runs tck tests for main directly">
460    
461     <run-tck-tests
462     target="8"
463     workdir="${build.dir}"
464     classes="${product.jar}"/>
465     </target>
466 tim 1.1
467 jsr166 1.135 <target name="test-jtreg"
468     depends="jar"
469     description="Runs jtreg tests for main using the jtreg ant task">
470     <run-jtreg-tests
471     target="8"
472     workdir="${build.dir}"
473     classes="${product.jar}"/>
474     </target>
475    
476     <target name="test-ng"
477     depends="test-tck, test-jtreg"
478     description="Runs tck and jtreg tests for main">
479     </target>
480    
481 tim 1.28 <target name="run-tests"
482     depends="compile-tests">
483 tim 1.27
484     <!-- May be overridden by user.properties -->
485     <property name="testcase" value="*"/>
486    
487 tim 1.1 <mkdir dir="${build.reports.dir}"/>
488 tim 1.27
489 tim 1.1 <junit printsummary="true"
490     showoutput="true"
491     errorProperty="junit.failed"
492     failureProperty="junit.failed"
493 tim 1.12 dir="${build.reports.dir}"
494 jsr166 1.111 jvm="${java8}"
495 tim 1.12 fork="true">
496    
497 jsr166 1.111 <jvmarg value="-Xbootclasspath/p:${product.jar}"/>
498 tim 1.64 <jvmarg value="-server"/>
499     <jvmarg value="-showversion"/>
500 jsr166 1.65
501 tim 1.59 <classpath refid="test.classpath"/>
502 tim 1.1
503     <formatter type="xml"/>
504    
505 tim 1.62 <batchtest todir="${build.reports.dir}" unless="no.test.tck">
506 tim 1.60 <fileset dir="${tck.src.dir}">
507     <include name="**/${testcase}Test.java"/>
508     </fileset>
509 tim 1.62 </batchtest>
510 jsr166 1.65
511 tim 1.62 <batchtest todir="${build.reports.dir}" if="do.test.old">
512 tim 1.60 <fileset dir="${test.src.dir}">
513     <include name="jsr166/test/**/${testcase}Test.java"/>
514 tim 1.1 </fileset>
515     </batchtest>
516 tim 1.62
517 jsr166 1.65 <!--
518 tim 1.62 <batchtest todir="${build.reports.dir}" if="do.test.jtreg">
519     <fileset dir="${jtreg.src.dir}">
520     <include name="**/${testcase}Test.java"/>
521     </fileset>
522     </batchtest>
523     -->
524 tim 1.1
525     </junit>
526 tim 1.27
527 tim 1.1 </target>
528    
529    
530 tim 1.28 <target name="report-tests"
531     depends="run-tests">
532    
533 tim 1.54 <!-- Sets junit.report.format to frames if redirection is present,
534 tim 1.1 otherwise sets it to noframes. -->
535     <available property="junit.report.format"
536     value="frames"
537     classname="org.apache.xalan.lib.Redirect"
538     />
539     <property name="junit.report.format" value="noframes"/>
540    
541     <junitreport todir="${build.reports.dir}">
542     <fileset dir="${build.reports.dir}">
543     <include name="TEST-*.xml"/>
544     </fileset>
545 jsr166 1.75 <report format="${junit.report.format}" todir="${build.reports.dir}"
546 tim 1.1 />
547     </junitreport>
548    
549     <fail message="Test Cases Failed" if="junit.failed"/>
550 tim 1.28
551 tim 1.18 </target>
552    
553    
554 tim 1.32 <target name="configure-compiler">
555 tim 1.54
556     <property name="unchecked.option" value="-Xlint:unchecked"/>
557    
558     <condition property="warnunchecked.arg" value="${unchecked.option}">
559 tim 1.57 <istrue value="${build.warnunchecked}"/>
560 tim 1.32 </condition>
561    
562 tim 1.37 <property name="warnunchecked.arg" value=""/>
563 tim 1.34
564 tim 1.32
565     <!-- Common options in javac invocations -->
566 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
567 tim 1.33
568     </target>
569    
570    
571 tim 1.37 <target name="configure-tests"
572     depends="configure-compiler">
573 tim 1.28
574     <!-- junit.framework.Protectable is in JUnit 3.8.1 but not in 3.7 -->
575 tim 1.18 <available property="junit.available"
576 tim 1.28 classname="junit.framework.Protectable"/>
577    
578 tim 1.54 <!-- Xalan -->
579     <available property="xalan.available"
580     classname="org.apache.xalan.Version"/>
581    
582 jsr166 1.65
583 tim 1.59 <!-- Ant 1.6beta and later don't need or want this check -->
584 jsr166 1.65 <!--
585 tim 1.59 <fail message="Need JUnit 3.8.1 in ${ant.home}${file.separator}lib to run tests"
586     unless="junit.available"/>
587    
588 tim 1.54 <fail message="Need Xalan 2.5.1 jar in ${ant.home}${file.separator}lib to run tests"
589     unless="xalan.available"/>
590 tim 1.59 -->
591 tim 1.30
592 tim 1.28 </target>
593    
594    
595 jsr166 1.65 <!-- Various demos and test programs -->
596    
597    
598 jsr166 1.103 <target name="loops" depends="configure-compiler"
599 jsr166 1.65 description="Benchmark from Doug Lea's AQS paper">
600    
601     <mkdir dir="${build.loops.dir}"/>
602    
603     <javac srcdir="${loops.src.dir}"
604     destdir="${build.loops.dir}"
605     debug="${build.debug}"
606     debuglevel="${build.debuglevel}"
607     deprecation="${build.deprecation}"
608     source="${build.sourcelevel}"
609     fork="true">
610    
611     <compilerarg line="${build.args}"/>
612     <classpath refid="loops.classpath"/>
613 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
614 jsr166 1.65
615     </javac>
616    
617     <java classname="ALoops" fork="true">
618     <classpath refid="loops.classpath"/>
619     </java>
620    
621     </target>
622    
623    
624 jsr166 1.99 <!-- jsr166 4jdk7 -->
625 jsr166 1.92
626 jsr166 1.99 <target name="4jdk7compile"
627 jsr166 1.92 depends="configure-compiler"
628 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
629 jsr166 1.92
630 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
631 jsr166 1.92
632 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
633     destdir="${build.4jdk7.classes.dir}"
634 jsr166 1.92 debug="${build.debug}"
635     debuglevel="${build.debuglevel}"
636     deprecation="${build.deprecation}"
637 jsr166 1.107 source="6"
638 jsr166 1.92 classpath=""
639 jsr166 1.119 bootclasspath="${bootclasspath6}"
640 jsr166 1.92 includeAntRuntime="false"
641     includeJavaRuntime="false"
642 jsr166 1.97 executable="${javac7}"
643 jsr166 1.92 fork="true">
644    
645     <include name="**/*.java"/>
646 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
647 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
648     <compilerarg value="-Xlint:all"/>
649 jsr166 1.118 <compilerarg line="${build.args}"/>
650 jsr166 1.92
651     </javac>
652 jsr166 1.118 </target>
653 jsr166 1.92
654 jsr166 1.116
655 jsr166 1.128 <target name="4jdk7jar"
656 jsr166 1.116 depends="4jdk7compile"
657     description="Builds library jar from compiled sources">
658    
659     <jar destfile="${4jdk7product.jar}">
660 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
661 jsr166 1.97 </jar>
662    
663 jsr166 1.92 </target>
664    
665    
666 jsr166 1.99 <target name="4jdk7-test-tck"
667 jsr166 1.128 depends="4jdk7jar"
668 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
669 jsr166 1.116
670 jsr166 1.97 <run-tck-tests
671 jsr166 1.116 target="7"
672     workdir="${build.4jdk7.dir}"
673 jsr166 1.132 classes="${4jdk7product.jar}">
674     <javac-elements>
675 jsr166 1.134 <!-- JDK8+ test classes -->
676 jsr166 1.137 <exclude name="*8Test.java"/>
677 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
678     <exclude name="DoubleAdderTest.java"/>
679     <exclude name="LongAccumulatorTest.java"/>
680     <exclude name="LongAdderTest.java"/>
681 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
682 jsr166 1.132 <exclude name="StampedLockTest.java"/>
683     </javac-elements>
684     </run-tck-tests>
685 jsr166 1.97 </target>
686    
687    
688 jsr166 1.99 <target name="4jdk7-test-tck-junit"
689     depends="4jdk7compile"
690     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
691 jsr166 1.97
692     <junit printsummary="true"
693     showoutput="true"
694     errorProperty="junit.failed"
695     failureProperty="junit.failed"
696     includeantruntime="true"
697     jvm="${java7}"
698     fork="true">
699    
700 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
701 jsr166 1.97 <jvmarg value="-server"/>
702 jsr166 1.92
703 jsr166 1.97 <classpath>
704     <pathelement location="${junit.jar}"/>
705 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
706 jsr166 1.97 </classpath>
707 jsr166 1.92
708 jsr166 1.97 <formatter type="brief"/>
709 jsr166 1.92
710 jsr166 1.97 <test name="JSR166TestCase" haltonfailure="no">
711     </test>
712 jsr166 1.92
713 jsr166 1.97 </junit>
714 jsr166 1.92 </target>
715    
716 jsr166 1.115 <target name="4jdk7-test-jtreg"
717 jsr166 1.135 depends="4jdk7jar"
718 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
719 jsr166 1.135 <run-jtreg-tests
720     target="7"
721     workdir="${build.4jdk7.dir}"
722     classes="${4jdk7product.jar}"/>
723 jsr166 1.115 </target>
724    
725    
726     <target name="4jdk7-test"
727     depends="4jdk7-test-tck, 4jdk7-test-jtreg"
728     description="Runs tck and jtreg tests for jsr166-4jdk7">
729     </target>
730    
731 jsr166 1.92
732 jsr166 1.99 <target name="4jdk7docs"
733 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
734 jsr166 1.92
735 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
736     <mkdir dir="${4jdk7docs.dir}"/>
737 jsr166 1.92
738 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
739 jsr166 1.92 packagenames="none"
740     link="${jdkapi7docs.url}"
741 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
742 jsr166 1.130 access="${build.javadoc.access}"
743 jsr166 1.119 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
744 jsr166 1.92 classpath=""
745 jsr166 1.99 executable="${javadoc7}">
746     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
747 jsr166 1.92 <include name="**/*.java"/>
748     </fileset>
749 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
750 jsr166 1.92 </javadoc>
751     </target>
752    
753    
754 jsr166 1.99 <target name="4jdk7dist"
755 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
756 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
757    
758    
759 jsr166 1.99 <target name="4jdk7clean"
760 jsr166 1.109 description="Removes all 4jdk7 build products">
761 jsr166 1.92
762 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
763 jsr166 1.92
764     </target>
765    
766    
767 jsr166 1.99 <target name="4jdk7dist-clean"
768 jsr166 1.92 description="Removes all build and distribution products">
769    
770     </target>
771    
772 jsr166 1.99 <target name="4jdk7dist-jar"
773 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
774 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
775     </target>
776 jsr166 1.92
777    
778 jsr166 1.125 <target name="4jdk7dist-docs"
779     depends="4jdk7clean, 4jdk7docs">
780 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
781 jsr166 1.92 </target>
782    
783 jsr166 1.109
784 dl 1.70 <!-- jsr166x -->
785    
786     <target name="jsr166xcompile"
787 jsr166 1.103 depends="configure-compiler"
788 jsr166 1.105 description="Compiles jsr166x sources to build dir">
789 dl 1.70
790 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
791 dl 1.70
792 jsr166 1.105 <javac srcdir="${topsrc.dir}"
793 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
794 jsr166 1.105 debug="${build.debug}"
795     debuglevel="${build.debuglevel}"
796     deprecation="${build.deprecation}"
797     classpath=""
798 jsr166 1.119 bootclasspath="${bootclasspath6}"
799 jsr166 1.107 source="5"
800 jsr166 1.105 includeAntRuntime="false"
801     includeJavaRuntime="false"
802     executable="${javac7}"
803     fork="true">
804 dl 1.70
805 jsr166 1.105 <include name="jsr166x/**/*.java"/>
806 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
807 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
808 jsr166 1.118 <compilerarg line="${build.args}"/>
809 dl 1.70
810     </javac>
811     </target>
812    
813    
814 jsr166 1.128 <target name="jsr166xjar"
815 dl 1.70 depends="jsr166xcompile"
816     description="Builds library jar from compiled sources">
817    
818 jsr166 1.106 <jar destfile="${jsr166x.jar}">
819 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
820 dl 1.70 </jar>
821    
822     </target>
823    
824    
825     <target name="jsr166xdocs"
826 jsr166 1.102 description="Builds javadocs to dist dir">
827 dl 1.70
828 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
829     <mkdir dir="${jsr166xdocs.dir}"/>
830 dl 1.70
831 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
832 jsr166 1.107 packagenames="jsr166x.*"
833 jsr166 1.91 link="${jdkapidocs.url}"
834 jsr166 1.130 access="${build.javadoc.access}"
835 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
836     bootclasspath="${bootclasspath6}"
837 jsr166 1.107 source="5"
838 jsr166 1.118 executable="${javadoc7}">
839     <arg value="-XDignore.symbol.file=true"/>
840 dl 1.70
841 jsr166 1.118 </javadoc>
842 dl 1.70 </target>
843    
844    
845     <target name="jsr166xdist"
846 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
847 dl 1.70 description="Puts all distributable products in single hierarchy"/>
848    
849    
850     <target name="jsr166xclean"
851 jsr166 1.109 description="Removes all jsr166x build products">
852 dl 1.70
853     <delete dir="${build.jsr166x.dir}"/>
854    
855     </target>
856    
857    
858     <target name="jsr166xdist-clean"
859     description="Removes all build and distribution products">
860    
861     </target>
862    
863    
864     <target name="jsr166xdist-jar"
865 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
866 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
867 jsr166 1.125 </target>
868 dl 1.70
869 jsr166 1.125 <target name="jsr166xdist-docs"
870     depends="jsr166xclean, jsr166xdocs">
871 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
872 dl 1.70 </target>
873    
874 dl 1.74 <!-- jsr166y -->
875    
876    
877     <target name="jsr166ycompile"
878 jsr166 1.103 depends="configure-compiler"
879 dl 1.74 description="Compiles jsr166y sources">
880    
881 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
882 dl 1.74
883 jsr166 1.103 <javac srcdir="${topsrc.dir}"
884 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
885 jsr166 1.103 debug="${build.debug}"
886     debuglevel="${build.debuglevel}"
887     deprecation="${build.deprecation}"
888 jsr166 1.107 source="6"
889 jsr166 1.103 classpath=""
890 jsr166 1.119 bootclasspath="${bootclasspath6}"
891 jsr166 1.103 includeAntRuntime="false"
892     includeJavaRuntime="false"
893     executable="${javac7}"
894     fork="true">
895 dl 1.74
896 jsr166 1.103 <include name="jsr166y/**/*.java"/>
897 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
898 jsr166 1.103 <compilerarg value="-Xlint:all"/>
899 jsr166 1.118 <compilerarg line="${build.args}"/>
900    
901 dl 1.74 </javac>
902     </target>
903    
904    
905 jsr166 1.128 <target name="jsr166yjar"
906 dl 1.74 depends="jsr166ycompile"
907     description="Builds library jar from compiled sources">
908    
909 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
910 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
911 dl 1.74 </jar>
912    
913     </target>
914    
915    
916     <target name="jsr166ydocs"
917 jsr166 1.102 description="Builds javadocs to dist dir">
918 dl 1.74
919 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
920     <mkdir dir="${jsr166ydocs.dir}"/>
921 dl 1.74
922 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
923 jsr166 1.107 packagenames="jsr166y.*"
924 jsr166 1.91 link="${jdkapidocs.url}"
925 jsr166 1.130 access="${build.javadoc.access}"
926 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
927     bootclasspath="${bootclasspath6}"
928 jsr166 1.107 source="6"
929 jsr166 1.118 executable="${javadoc7}">
930     <arg value="-XDignore.symbol.file=true"/>
931 dl 1.74
932 jsr166 1.118 </javadoc>
933 dl 1.74 </target>
934    
935    
936     <target name="jsr166ydist"
937 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
938 dl 1.74 description="Puts all distributable products in single hierarchy"/>
939    
940    
941     <target name="jsr166yclean"
942 jsr166 1.109 description="Removes all jsr166y build products">
943 dl 1.74
944     <delete dir="${build.jsr166y.dir}"/>
945    
946     </target>
947    
948    
949     <target name="jsr166ydist-clean"
950     description="Removes all build and distribution products">
951    
952     </target>
953    
954     <target name="jsr166ydist-jar"
955 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
956 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
957 jsr166 1.125 </target>
958 dl 1.74
959 jsr166 1.125 <target name="jsr166ydist-docs"
960     depends="jsr166yclean, jsr166ydocs">
961 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
962 dl 1.74 </target>
963    
964 dl 1.90
965 dl 1.76 <!-- extra166y -->
966    
967    
968     <target name="extra166ycompile"
969 jsr166 1.128 depends="configure-compiler, jsr166yjar"
970 dl 1.76 description="Compiles extra166y sources">
971    
972 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
973 dl 1.76
974 jsr166 1.103 <javac srcdir="${topsrc.dir}"
975 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
976 jsr166 1.103 debug="${build.debug}"
977     debuglevel="${build.debuglevel}"
978     deprecation="${build.deprecation}"
979 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
980 jsr166 1.105 classpath=""
981 jsr166 1.107 source="6"
982 jsr166 1.103 includeAntRuntime="false"
983     includeJavaRuntime="false"
984     executable="${javac7}"
985     fork="true">
986 dl 1.76
987 jsr166 1.103 <include name="extra166y/**/*.java"/>
988 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
989 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
990 jsr166 1.118 <compilerarg line="${build.args}"/>
991 dl 1.76
992     </javac>
993     </target>
994    
995    
996 jsr166 1.128 <target name="extra166yjar"
997 dl 1.76 depends="extra166ycompile"
998     description="Builds library jar from compiled sources">
999    
1000 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1001 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1002 dl 1.76 </jar>
1003    
1004     </target>
1005    
1006    
1007     <target name="extra166ydocs"
1008 jsr166 1.107 description="Builds javadocs to build dir">
1009 dl 1.76
1010 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1011     <mkdir dir="${extra166ydocs.dir}"/>
1012 dl 1.76
1013 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1014 jsr166 1.107 packagenames="extra166y.*"
1015 jsr166 1.91 link="${jdkapidocs.url}"
1016 jsr166 1.130 access="${build.javadoc.access}"
1017 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1018     bootclasspath="${bootclasspath6}"
1019 jsr166 1.107 source="6"
1020 jsr166 1.118 executable="${javadoc7}">
1021     <arg value="-XDignore.symbol.file=true"/>
1022 dl 1.76
1023 jsr166 1.118 </javadoc>
1024 dl 1.76 </target>
1025    
1026    
1027     <target name="extra166ydist"
1028 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1029 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1030    
1031    
1032     <target name="extra166yclean"
1033 jsr166 1.109 description="Removes all extra166y build products">
1034 dl 1.76
1035     <delete dir="${build.extra166y.dir}"/>
1036    
1037     </target>
1038    
1039    
1040     <target name="extra166ydist-clean"
1041     description="Removes all build and distribution products">
1042    
1043     </target>
1044    
1045     <target name="extra166ydist-jar"
1046 jsr166 1.128 depends="extra166yclean, extra166yjar">
1047 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1048 jsr166 1.125 </target>
1049 dl 1.76
1050 jsr166 1.125 <target name="extra166ydist-docs"
1051     depends="extra166yclean, extra166ydocs">
1052 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1053 dl 1.76 </target>
1054    
1055 dl 1.90 <!-- jsr166e -->
1056    
1057     <target name="jsr166ecompile"
1058 jsr166 1.94 depends="configure-compiler"
1059 dl 1.90 description="Compiles jsr166e sources">
1060    
1061 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1062 dl 1.90
1063 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1064 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1065 jsr166 1.94 debug="${build.debug}"
1066     debuglevel="${build.debuglevel}"
1067     deprecation="${build.deprecation}"
1068 jsr166 1.107 source="7"
1069 jsr166 1.94 classpath=""
1070     includeAntRuntime="false"
1071     includeJavaRuntime="false"
1072     executable="${javac7}"
1073     fork="true">
1074 dl 1.90
1075 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1076 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1077 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1078 jsr166 1.118 <compilerarg line="${build.args}"/>
1079 dl 1.90
1080     </javac>
1081     </target>
1082    
1083    
1084 jsr166 1.128 <target name="jsr166ejar"
1085 dl 1.90 depends="jsr166ecompile"
1086     description="Builds library jar from compiled sources">
1087    
1088 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1089 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1090 dl 1.90 </jar>
1091    
1092     </target>
1093    
1094    
1095     <target name="jsr166edocs"
1096 jsr166 1.107 description="Builds javadocs to build dir">
1097 dl 1.90
1098 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1099     <mkdir dir="${jsr166edocs.dir}"/>
1100 dl 1.90
1101 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1102 jsr166 1.107 packagenames="jsr166e.*"
1103     link="${jdkapidocs.url}"
1104 jsr166 1.130 access="${build.javadoc.access}"
1105 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1106 jsr166 1.107 source="7"
1107 jsr166 1.118 executable="${javadoc7}">
1108     <arg value="-XDignore.symbol.file=true"/>
1109    
1110 jsr166 1.96 </javadoc>
1111 dl 1.90 </target>
1112    
1113    
1114 jsr166 1.122 <target name="jsr166e-test-tck"
1115 jsr166 1.128 depends="jsr166ejar"
1116 jsr166 1.122 description="Runs tck tests for jsr166e">
1117    
1118     <run-tck-tests
1119     tck.src.dir="${test.src.dir}/tck-jsr166e"
1120 jsr166 1.138 target="7"
1121 jsr166 1.122 workdir="${build.jsr166e.dir}"
1122     classes="${jsr166e.jar}"/>
1123     </target>
1124    
1125    
1126 dl 1.90 <target name="jsr166edist"
1127 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1128 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1129    
1130    
1131     <target name="jsr166eclean"
1132 jsr166 1.109 description="Removes all jsr166e build products">
1133 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1134     </target>
1135    
1136    
1137     <target name="jsr166edist-clean"
1138     description="Removes all build and distribution products">
1139    
1140     </target>
1141    
1142     <target name="jsr166edist-jar"
1143 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1144 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1145 jsr166 1.125 </target>
1146 dl 1.90
1147 jsr166 1.125 <target name="jsr166edist-docs"
1148     depends="jsr166eclean, jsr166edocs">
1149 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1150 dl 1.90 </target>
1151    
1152 jsr166 1.130
1153     <!-- Find buglets that can be detected by static build tools -->
1154    
1155     <target name="lint">
1156     <antcall target="dists">
1157     <param name="build.javadoc.access" value="private"/>
1158     </antcall>
1159     </target>
1160    
1161    
1162 tim 1.1 </project>