ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.163
Committed: Fri Feb 20 22:33:13 2015 UTC (9 years, 2 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.162: +2 -1 lines
Log Message:
define tck jtreg, shorter aliases for test-* targets

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