ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.165
Committed: Wed Jun 17 01:55:44 2015 UTC (8 years, 10 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.164: +29 -3 lines
Log Message:
refactor jtreg test set selection

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.165 <!-- Define jtreg test sets for different jdk versions -->
255     <fileset dir="${jtreg.src.dir}">
256     <patternset id="jdk9.jtreg.tests">
257     <include name="**/*.java"/>
258     </patternset>
259     </fileset>
260    
261     <fileset dir="${jtreg.src.dir}">
262     <patternset id="jdk8.jtreg.tests">
263     <include name="**/*.java"/>
264     <exclude name="util/Spliterator/SpliteratorCharacteristics.java"/>
265     </patternset>
266     </fileset>
267    
268     <fileset dir="${jtreg.src.dir}">
269     <patternset id="jdk7.jtreg.tests">
270     <include name="**/*.java"/>
271     <exclude name="util/Collection/CollectionDefaults.java"/>
272     <exclude name="util/List/ListDefaults.java"/>
273     <exclude name="util/Spliterator/**/*.java"/>
274     <exclude name="util/concurrent/CompletableFuture/**/*.java"/>
275     <exclude name="util/concurrent/forkjoin/SubmissionTest.java"/>
276     <exclude name="util/concurrent/locks/StampedLock/**/*.java"/>
277     </patternset>
278     </fileset>
279    
280 jsr166 1.135 <macrodef name="run-jtreg-tests">
281 jsr166 1.153 <!-- ant -Djtreg.src.dir=src/test/jtreg/util/concurrent/CompletableFuture test-jtreg -->
282 jsr166 1.135 <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>
283     <attribute name="source" default="7"/>
284     <attribute name="target"/>
285     <attribute name="workdir"/>
286     <attribute name="classes"/>
287     <attribute name="jtregflags" default=""/>
288     <sequential>
289     <delete dir="@{workdir}/JTwork" quiet="true"/>
290     <delete dir="@{workdir}/JTreport" quiet="true"/>
291     <mkdir dir="@{workdir}/JTwork/scratch"/>
292     <mkdir dir="@{workdir}/JTreport"/>
293     <jtreg dir="@{jtreg.src.dir}"
294     jdk="${jdk@{target}.home}"
295     workDir="@{workdir}/JTwork"
296     reportDir="@{workdir}/JTreport">
297 jsr166 1.165 <patternset refid="jdk@{target}.jtreg.tests"/>
298 jsr166 1.135 <arg value="-Xbootclasspath/p:@{classes}"/>
299     <arg value="-agentvm"/>
300     <arg value="-v:nopass,fail"/>
301     <arg value="-vmoptions:-esa -ea"/>
302     <arg value="-automatic"/>
303     <arg value="-k:!ignore"/>
304     <arg line="@{jtregflags}"/>
305     </jtreg>
306     </sequential>
307     </macrodef>
308    
309 jsr166 1.65 <!-- ALoops classpath -->
310     <path id="loops.classpath">
311     <pathelement location="${build.loops.dir}"/>
312     </path>
313    
314 jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
315 jsr166 1.120 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
316 jsr166 1.100 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
317 tim 1.28
318 tim 1.59 <!-- Main targets -->
319 tim 1.28
320 jsr166 1.151 <property name="build.main.java.version" value="9"/>
321     <property name="build.main.javac" value="${javac9}"/>
322    
323 dl 1.80 <target name="dists"
324 jsr166 1.107 depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
325 dl 1.80 description="Builds all public jars and docs"/>
326 tim 1.11
327 tim 1.28 <target name="compile"
328 jsr166 1.100 depends="configure-compiler"
329 jsr166 1.102 description="Compiles src/main sources to build dir">
330 tim 1.27
331 tim 1.1 <mkdir dir="${build.classes.dir}"/>
332 tim 1.27
333 tim 1.60 <javac srcdir="${src.dir}"
334 jsr166 1.100 destdir="${build.classes.dir}"
335     debug="${build.debug}"
336     debuglevel="${build.debuglevel}"
337     deprecation="${build.deprecation}"
338     classpath=""
339     includeAntRuntime="false"
340     includeJavaRuntime="false"
341 jsr166 1.151 executable="${build.main.javac}"
342 jsr166 1.100 fork="true">
343 tim 1.1
344 jsr166 1.68 <include name="**/*.java"/>
345 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
346 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
347 jsr166 1.100 <compilerarg value="-Xlint:all"/>
348 jsr166 1.164 <compilerarg value="-Werror"/>
349 jsr166 1.146 <compilerarg value="-Xdoclint:all/protected"/>
350     <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
351 dl 1.73 <compilerarg line="${build.args}"/>
352 tim 1.1
353     </javac>
354     </target>
355    
356    
357 tim 1.28 <target name="jar"
358 tim 1.59 depends="compile"
359     description="Builds library jar from compiled sources">
360    
361     <jar destfile="${product.jar}">
362     <fileset dir="${build.classes.dir}"/>
363     </jar>
364     </target>
365    
366 tim 1.1
367 tim 1.59 <target name="docs"
368 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
369 tim 1.59
370 jsr166 1.127 <delete dir="${docs.dir}"/>
371     <mkdir dir="${docs.dir}"/>
372 tim 1.59
373 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
374     <!-- sourcepath for packages -->
375    
376 jsr166 1.127 <javadoc destdir="${docs.dir}"
377 jsr166 1.88 packagenames="none"
378 jsr166 1.152 link="${java9.api.url}"
379 jsr166 1.88 overview="${src.dir}/intro.html"
380 jsr166 1.130 access="${build.javadoc.access}"
381 jsr166 1.151 sourcepath="${src.dir}:${jdk9src.dir}"
382 jsr166 1.100 classpath=""
383 jsr166 1.151 executable="${javadoc9}">
384 jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
385     <include name="**/*.java"/>
386     </fileset>
387 jsr166 1.152 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
388 jsr166 1.146 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
389 jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
390     <arg value="-tag"/>
391     <arg value="${javadoc.jls.option}"/>
392 dl 1.143 <arg value="-tag"/>
393     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
394     <arg value="-tag"/>
395     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
396     <arg value="-tag"/>
397 jsr166 1.144 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
398 tim 1.59 </javadoc>
399     </target>
400    
401    
402 tim 1.28 <target name="dist"
403 jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
404 tim 1.16 description="Puts all distributable products in single hierarchy"/>
405 tim 1.1
406 tim 1.58
407 tim 1.42 <target name="release"
408     depends="dist"
409     description="Puts entire CVS tree, plus distribution productions, in a jar">
410    
411     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
412    
413     <jar basedir="${basedir}" destfile="${release.jar}">
414 tim 1.58 <!-- <exclude name="build/**"/> -->
415 tim 1.42 <exclude name="${release.jar}"/>
416     <exclude name="user.properties"/>
417     <exclude name="etc/notes/**"/>
418 tim 1.58 <exclude name="src/emulation/**"/>
419 tim 1.44 <exclude name="**/SyntaxTest.java"/>
420 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
421 tim 1.42 </jar>
422     </target>
423 tim 1.1
424 tim 1.59
425 tim 1.11 <target name="clean"
426     description="Removes all build products">
427 tim 1.27
428 tim 1.11 <delete dir="${build.dir}"/>
429 tim 1.27
430 tim 1.1 </target>
431    
432    
433 tim 1.11 <target name="dist-clean"
434     description="Removes all build and distribution products">
435 tim 1.27
436 jsr166 1.148 <delete dir="${build.dir}"/>
437 tim 1.11 <delete dir="${dist.dir}"/>
438 tim 1.27
439 tim 1.9 </target>
440 tim 1.10
441    
442 tim 1.28 <target name="dist-jar"
443     depends="clean, jar">
444 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
445 jsr166 1.125 </target>
446 tim 1.27
447 jsr166 1.125 <target name="dist-docs"
448     depends="clean, docs">
449 jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
450 tim 1.11 </target>
451    
452 jsr166 1.163 <target name="tck" depends="test-tck" description="alias for test-tck"/>
453 jsr166 1.131 <target name="test-tck"
454     depends="jar"
455     description="Runs tck tests for main directly">
456    
457     <run-tck-tests
458 jsr166 1.151 target="${build.main.java.version}"
459 jsr166 1.131 workdir="${build.dir}"
460     classes="${product.jar}"/>
461     </target>
462 tim 1.1
463 jsr166 1.160 <target name="test-tck-parallelism-1"
464     description="Runs test-tck with given common pool parallelism">
465     <antcall target="test-tck">
466     <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
467     </antcall>
468     </target>
469    
470     <target name="test-tck-parallelism-0"
471     description="Runs test-tck with given common pool parallelism">
472     <antcall target="test-tck">
473     <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
474     </antcall>
475     </target>
476    
477 jsr166 1.163 <target name="jtreg" depends="test-jtreg" description="alias for test-jtreg"/>
478 jsr166 1.135 <target name="test-jtreg"
479     depends="jar"
480     description="Runs jtreg tests for main using the jtreg ant task">
481     <run-jtreg-tests
482 jsr166 1.151 target="${build.main.java.version}"
483 jsr166 1.135 workdir="${build.dir}"
484     classes="${product.jar}"/>
485     </target>
486    
487 jsr166 1.142 <target name="test"
488 jsr166 1.160 depends="test-tck, test-tck-parallelism-1, test-jtreg"
489 jsr166 1.135 description="Runs tck and jtreg tests for main">
490     </target>
491    
492 jsr166 1.151 <target name="test89"
493     description="Runs tck and jtreg tests for main for multiple java versions">
494    
495     <antcall target="clean"/>
496     <antcall target="test">
497     <param name="build.main.java.version" value="8"/>
498     <param name="build.main.javac" value="${javac8}"/>
499 jsr166 1.165 <param name="jtreg.exclude.file" value="${jtreg.src.dir}/jdk9tests"/>
500 jsr166 1.151 </antcall>
501    
502     <antcall target="clean"/>
503     <antcall target="test">
504     <param name="build.main.java.version" value="9"/>
505     <param name="build.main.javac" value="${javac9}"/>
506     </antcall>
507    
508     </target>
509    
510 tim 1.18
511    
512 tim 1.32 <target name="configure-compiler">
513 tim 1.54
514     <property name="unchecked.option" value="-Xlint:unchecked"/>
515    
516     <condition property="warnunchecked.arg" value="${unchecked.option}">
517 tim 1.57 <istrue value="${build.warnunchecked}"/>
518 tim 1.32 </condition>
519    
520 tim 1.37 <property name="warnunchecked.arg" value=""/>
521 tim 1.34
522 tim 1.32
523     <!-- Common options in javac invocations -->
524 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
525 tim 1.33
526     </target>
527    
528    
529 tim 1.28
530 jsr166 1.65 <!-- Various demos and test programs -->
531    
532    
533 jsr166 1.103 <target name="loops" depends="configure-compiler"
534 jsr166 1.65 description="Benchmark from Doug Lea's AQS paper">
535    
536     <mkdir dir="${build.loops.dir}"/>
537    
538     <javac srcdir="${loops.src.dir}"
539     destdir="${build.loops.dir}"
540     debug="${build.debug}"
541     debuglevel="${build.debuglevel}"
542     deprecation="${build.deprecation}"
543     source="${build.sourcelevel}"
544     fork="true">
545    
546     <compilerarg line="${build.args}"/>
547     <classpath refid="loops.classpath"/>
548 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
549 jsr166 1.65
550     </javac>
551    
552     <java classname="ALoops" fork="true">
553     <classpath refid="loops.classpath"/>
554     </java>
555    
556     </target>
557    
558    
559 jsr166 1.99 <!-- jsr166 4jdk7 -->
560 jsr166 1.92
561 jsr166 1.99 <target name="4jdk7compile"
562 jsr166 1.92 depends="configure-compiler"
563 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
564 jsr166 1.92
565 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
566 jsr166 1.92
567 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
568     destdir="${build.4jdk7.classes.dir}"
569 jsr166 1.92 debug="${build.debug}"
570     debuglevel="${build.debuglevel}"
571     deprecation="${build.deprecation}"
572 jsr166 1.107 source="6"
573 jsr166 1.92 classpath=""
574 jsr166 1.119 bootclasspath="${bootclasspath6}"
575 jsr166 1.92 includeAntRuntime="false"
576     includeJavaRuntime="false"
577 jsr166 1.97 executable="${javac7}"
578 jsr166 1.92 fork="true">
579    
580     <include name="**/*.java"/>
581 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
582 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
583     <compilerarg value="-Xlint:all"/>
584 jsr166 1.164 <compilerarg value="-Werror"/>
585 jsr166 1.118 <compilerarg line="${build.args}"/>
586 jsr166 1.92
587     </javac>
588 jsr166 1.118 </target>
589 jsr166 1.92
590 jsr166 1.149 <target name="4jdk7doclint"
591     depends="configure-compiler"
592     description="Finds doclint warnings">
593    
594     <mkdir dir="${build.4jdk7.classes.dir}"/>
595    
596     <javac srcdir="${4jdk7src.dir}"
597     destdir="${build.4jdk7.classes.dir}"
598     debug="${build.debug}"
599     debuglevel="${build.debuglevel}"
600     deprecation="${build.deprecation}"
601     source="6"
602     classpath=""
603     bootclasspath="${bootclasspath7}"
604     includeAntRuntime="false"
605     includeJavaRuntime="false"
606     executable="${javac8}"
607     fork="true">
608    
609     <include name="**/*.java"/>
610     <compilerarg value="-Xprefer:source"/>
611     <compilerarg value="-XDignore.symbol.file=true"/>
612     <compilerarg value="-Xlint:all"/>
613     <compilerarg value="-Xdoclint:all/protected"/>
614     <compilerarg line="${build.args}"/>
615    
616     </javac>
617     </target>
618    
619 jsr166 1.116
620 jsr166 1.128 <target name="4jdk7jar"
621 jsr166 1.116 depends="4jdk7compile"
622     description="Builds library jar from compiled sources">
623    
624     <jar destfile="${4jdk7product.jar}">
625 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
626 jsr166 1.97 </jar>
627    
628 jsr166 1.92 </target>
629    
630    
631 jsr166 1.99 <target name="4jdk7-test-tck"
632 jsr166 1.128 depends="4jdk7jar"
633 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
634 jsr166 1.116
635 jsr166 1.97 <run-tck-tests
636 jsr166 1.116 target="7"
637     workdir="${build.4jdk7.dir}"
638 jsr166 1.132 classes="${4jdk7product.jar}">
639     <javac-elements>
640 jsr166 1.134 <!-- JDK8+ test classes -->
641 jsr166 1.137 <exclude name="*8Test.java"/>
642 jsr166 1.151 <exclude name="*9Test.java"/>
643 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
644     <exclude name="DoubleAdderTest.java"/>
645     <exclude name="LongAccumulatorTest.java"/>
646     <exclude name="LongAdderTest.java"/>
647 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
648 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
649 jsr166 1.132 <exclude name="StampedLockTest.java"/>
650     </javac-elements>
651     </run-tck-tests>
652 jsr166 1.97 </target>
653    
654    
655 jsr166 1.99 <target name="4jdk7-test-tck-junit"
656     depends="4jdk7compile"
657     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
658 jsr166 1.97
659     <junit printsummary="true"
660     showoutput="true"
661     errorProperty="junit.failed"
662     failureProperty="junit.failed"
663     includeantruntime="true"
664     jvm="${java7}"
665     fork="true">
666    
667 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
668 jsr166 1.97 <jvmarg value="-server"/>
669 jsr166 1.92
670 jsr166 1.97 <classpath>
671     <pathelement location="${junit.jar}"/>
672 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
673 jsr166 1.97 </classpath>
674 jsr166 1.92
675 jsr166 1.97 <formatter type="brief"/>
676 jsr166 1.92
677 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
678 jsr166 1.97 </test>
679 jsr166 1.92
680 jsr166 1.97 </junit>
681 jsr166 1.92 </target>
682    
683 jsr166 1.115 <target name="4jdk7-test-jtreg"
684 jsr166 1.135 depends="4jdk7jar"
685 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
686 jsr166 1.135 <run-jtreg-tests
687     target="7"
688     workdir="${build.4jdk7.dir}"
689 jsr166 1.165 classes="${4jdk7product.jar}"/>
690 jsr166 1.115 </target>
691    
692    
693     <target name="4jdk7-test"
694     depends="4jdk7-test-tck, 4jdk7-test-jtreg"
695     description="Runs tck and jtreg tests for jsr166-4jdk7">
696     </target>
697    
698 jsr166 1.92
699 jsr166 1.99 <target name="4jdk7docs"
700 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
701 jsr166 1.92
702 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
703     <mkdir dir="${4jdk7docs.dir}"/>
704 jsr166 1.92
705 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
706 jsr166 1.92 packagenames="none"
707 jsr166 1.152 link="${java7.api.url}"
708 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
709 jsr166 1.130 access="${build.javadoc.access}"
710 jsr166 1.119 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
711 jsr166 1.92 classpath=""
712 jsr166 1.99 executable="${javadoc7}">
713     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
714 jsr166 1.92 <include name="**/*.java"/>
715     </fileset>
716 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
717 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
718 jsr166 1.92 </javadoc>
719     </target>
720    
721    
722 jsr166 1.99 <target name="4jdk7dist"
723 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
724 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
725    
726    
727 jsr166 1.99 <target name="4jdk7clean"
728 jsr166 1.109 description="Removes all 4jdk7 build products">
729 jsr166 1.92
730 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
731 jsr166 1.92
732     </target>
733    
734    
735 jsr166 1.99 <target name="4jdk7dist-jar"
736 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
737 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
738     </target>
739 jsr166 1.92
740    
741 jsr166 1.125 <target name="4jdk7dist-docs"
742     depends="4jdk7clean, 4jdk7docs">
743 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
744 jsr166 1.92 </target>
745    
746 jsr166 1.109
747 dl 1.70 <!-- jsr166x -->
748    
749     <target name="jsr166xcompile"
750 jsr166 1.103 depends="configure-compiler"
751 jsr166 1.105 description="Compiles jsr166x sources to build dir">
752 dl 1.70
753 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
754 dl 1.70
755 jsr166 1.105 <javac srcdir="${topsrc.dir}"
756 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
757 jsr166 1.105 debug="${build.debug}"
758     debuglevel="${build.debuglevel}"
759     deprecation="${build.deprecation}"
760     classpath=""
761 jsr166 1.119 bootclasspath="${bootclasspath6}"
762 jsr166 1.107 source="5"
763 jsr166 1.105 includeAntRuntime="false"
764     includeJavaRuntime="false"
765     executable="${javac7}"
766     fork="true">
767 dl 1.70
768 jsr166 1.105 <include name="jsr166x/**/*.java"/>
769 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
770 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
771 jsr166 1.164 <compilerarg value="-Werror"/>
772 jsr166 1.118 <compilerarg line="${build.args}"/>
773 dl 1.70
774     </javac>
775     </target>
776    
777    
778 jsr166 1.128 <target name="jsr166xjar"
779 dl 1.70 depends="jsr166xcompile"
780     description="Builds library jar from compiled sources">
781    
782 jsr166 1.106 <jar destfile="${jsr166x.jar}">
783 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
784 dl 1.70 </jar>
785    
786     </target>
787    
788    
789     <target name="jsr166xdocs"
790 jsr166 1.102 description="Builds javadocs to dist dir">
791 dl 1.70
792 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
793     <mkdir dir="${jsr166xdocs.dir}"/>
794 dl 1.70
795 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
796 jsr166 1.107 packagenames="jsr166x.*"
797 jsr166 1.152 link="${java.api.url}"
798 jsr166 1.130 access="${build.javadoc.access}"
799 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
800     bootclasspath="${bootclasspath6}"
801 jsr166 1.107 source="5"
802 jsr166 1.118 executable="${javadoc7}">
803 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
804 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
805 dl 1.70
806 jsr166 1.118 </javadoc>
807 dl 1.70 </target>
808    
809    
810     <target name="jsr166xdist"
811 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
812 dl 1.70 description="Puts all distributable products in single hierarchy"/>
813    
814    
815     <target name="jsr166xclean"
816 jsr166 1.109 description="Removes all jsr166x build products">
817 dl 1.70
818     <delete dir="${build.jsr166x.dir}"/>
819    
820     </target>
821    
822    
823     <target name="jsr166xdist-jar"
824 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
825 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
826 jsr166 1.125 </target>
827 dl 1.70
828 jsr166 1.125 <target name="jsr166xdist-docs"
829     depends="jsr166xclean, jsr166xdocs">
830 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
831 dl 1.70 </target>
832    
833 dl 1.74 <!-- jsr166y -->
834    
835    
836     <target name="jsr166ycompile"
837 jsr166 1.103 depends="configure-compiler"
838 dl 1.74 description="Compiles jsr166y sources">
839    
840 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
841 dl 1.74
842 jsr166 1.103 <javac srcdir="${topsrc.dir}"
843 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
844 jsr166 1.103 debug="${build.debug}"
845     debuglevel="${build.debuglevel}"
846     deprecation="${build.deprecation}"
847 jsr166 1.107 source="6"
848 jsr166 1.103 classpath=""
849 jsr166 1.119 bootclasspath="${bootclasspath6}"
850 jsr166 1.103 includeAntRuntime="false"
851     includeJavaRuntime="false"
852     executable="${javac7}"
853     fork="true">
854 dl 1.74
855 jsr166 1.103 <include name="jsr166y/**/*.java"/>
856 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
857 jsr166 1.103 <compilerarg value="-Xlint:all"/>
858 jsr166 1.164 <compilerarg value="-Werror"/>
859 jsr166 1.118 <compilerarg line="${build.args}"/>
860    
861 dl 1.74 </javac>
862     </target>
863    
864    
865 jsr166 1.128 <target name="jsr166yjar"
866 dl 1.74 depends="jsr166ycompile"
867     description="Builds library jar from compiled sources">
868    
869 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
870 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
871 dl 1.74 </jar>
872    
873     </target>
874    
875    
876     <target name="jsr166ydocs"
877 jsr166 1.102 description="Builds javadocs to dist dir">
878 dl 1.74
879 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
880     <mkdir dir="${jsr166ydocs.dir}"/>
881 dl 1.74
882 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
883 jsr166 1.107 packagenames="jsr166y.*"
884 jsr166 1.152 link="${java.api.url}"
885 jsr166 1.130 access="${build.javadoc.access}"
886 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
887     bootclasspath="${bootclasspath6}"
888 jsr166 1.107 source="6"
889 jsr166 1.118 executable="${javadoc7}">
890 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
891 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
892 dl 1.74
893 jsr166 1.118 </javadoc>
894 dl 1.74 </target>
895    
896    
897     <target name="jsr166ydist"
898 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
899 dl 1.74 description="Puts all distributable products in single hierarchy"/>
900    
901    
902     <target name="jsr166yclean"
903 jsr166 1.109 description="Removes all jsr166y build products">
904 dl 1.74
905     <delete dir="${build.jsr166y.dir}"/>
906    
907     </target>
908    
909    
910     <target name="jsr166ydist-jar"
911 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
912 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
913 jsr166 1.125 </target>
914 dl 1.74
915 jsr166 1.125 <target name="jsr166ydist-docs"
916     depends="jsr166yclean, jsr166ydocs">
917 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
918 dl 1.74 </target>
919    
920 dl 1.90
921 dl 1.76 <!-- extra166y -->
922    
923    
924     <target name="extra166ycompile"
925 jsr166 1.128 depends="configure-compiler, jsr166yjar"
926 dl 1.76 description="Compiles extra166y sources">
927    
928 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
929 dl 1.76
930 jsr166 1.103 <javac srcdir="${topsrc.dir}"
931 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
932 jsr166 1.103 debug="${build.debug}"
933     debuglevel="${build.debuglevel}"
934     deprecation="${build.deprecation}"
935 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
936 jsr166 1.105 classpath=""
937 jsr166 1.107 source="6"
938 jsr166 1.103 includeAntRuntime="false"
939     includeJavaRuntime="false"
940     executable="${javac7}"
941     fork="true">
942 dl 1.76
943 jsr166 1.103 <include name="extra166y/**/*.java"/>
944 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
945 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
946 jsr166 1.164 <compilerarg value="-Werror"/>
947 jsr166 1.118 <compilerarg line="${build.args}"/>
948 dl 1.76
949     </javac>
950     </target>
951    
952    
953 jsr166 1.128 <target name="extra166yjar"
954 dl 1.76 depends="extra166ycompile"
955     description="Builds library jar from compiled sources">
956    
957 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
958 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
959 dl 1.76 </jar>
960    
961     </target>
962    
963    
964     <target name="extra166ydocs"
965 jsr166 1.107 description="Builds javadocs to build dir">
966 dl 1.76
967 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
968     <mkdir dir="${extra166ydocs.dir}"/>
969 dl 1.76
970 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
971 jsr166 1.107 packagenames="extra166y.*"
972 jsr166 1.152 link="${java.api.url}"
973 jsr166 1.130 access="${build.javadoc.access}"
974 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
975     bootclasspath="${bootclasspath6}"
976 jsr166 1.107 source="6"
977 jsr166 1.118 executable="${javadoc7}">
978 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
979 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
980 dl 1.76
981 jsr166 1.118 </javadoc>
982 dl 1.76 </target>
983    
984    
985     <target name="extra166ydist"
986 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
987 dl 1.76 description="Puts all distributable products in single hierarchy"/>
988    
989    
990     <target name="extra166yclean"
991 jsr166 1.109 description="Removes all extra166y build products">
992 dl 1.76
993     <delete dir="${build.extra166y.dir}"/>
994    
995     </target>
996    
997    
998     <target name="extra166ydist-jar"
999 jsr166 1.128 depends="extra166yclean, extra166yjar">
1000 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1001 jsr166 1.125 </target>
1002 dl 1.76
1003 jsr166 1.125 <target name="extra166ydist-docs"
1004     depends="extra166yclean, extra166ydocs">
1005 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1006 dl 1.76 </target>
1007    
1008 dl 1.90 <!-- jsr166e -->
1009    
1010 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1011     <property name="build.jsr166e.javac" value="${javac6}"/>
1012    
1013 dl 1.90 <target name="jsr166ecompile"
1014 jsr166 1.94 depends="configure-compiler"
1015 dl 1.90 description="Compiles jsr166e sources">
1016    
1017 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1018 dl 1.90
1019 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1020 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1021 jsr166 1.94 debug="${build.debug}"
1022     debuglevel="${build.debuglevel}"
1023     deprecation="${build.deprecation}"
1024 jsr166 1.144 source="${build.jsr166e.java.version}"
1025 jsr166 1.94 classpath=""
1026     includeAntRuntime="false"
1027     includeJavaRuntime="false"
1028 jsr166 1.144 executable="${build.jsr166e.javac}"
1029 jsr166 1.94 fork="true">
1030 dl 1.90
1031 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1032 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1033 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1034 jsr166 1.164 <compilerarg value="-Werror"/>
1035 jsr166 1.118 <compilerarg line="${build.args}"/>
1036 dl 1.90
1037     </javac>
1038     </target>
1039    
1040 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1041     <target name="jsr166edoclint">
1042    
1043     <mkdir dir="${build.jsr166e.classes.dir}"/>
1044    
1045     <javac srcdir="${topsrc.dir}"
1046     destdir="${build.jsr166e.classes.dir}"
1047     debug="${build.debug}"
1048     debuglevel="${build.debuglevel}"
1049     deprecation="${build.deprecation}"
1050     source="${build.jsr166e.java.version}"
1051     classpath=""
1052     bootclasspath="${bootclasspath7}"
1053     includeAntRuntime="false"
1054     includeJavaRuntime="false"
1055     executable="${javac8}"
1056     fork="true">
1057    
1058     <include name="jsr166e/**/*.java"/>
1059     <compilerarg value="-XDignore.symbol.file=true"/>
1060     <compilerarg value="-Xlint:all"/>
1061 jsr166 1.164 <compilerarg value="-Werror"/>
1062 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1063    
1064     </javac>
1065     </target>
1066    
1067 dl 1.90
1068 jsr166 1.128 <target name="jsr166ejar"
1069 dl 1.90 depends="jsr166ecompile"
1070     description="Builds library jar from compiled sources">
1071    
1072 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1073 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1074 dl 1.90 </jar>
1075    
1076     </target>
1077    
1078    
1079     <target name="jsr166edocs"
1080 jsr166 1.107 description="Builds javadocs to build dir">
1081 dl 1.90
1082 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1083     <mkdir dir="${jsr166edocs.dir}"/>
1084 dl 1.90
1085 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1086 jsr166 1.107 packagenames="jsr166e.*"
1087 jsr166 1.152 link="${java.api.url}"
1088 jsr166 1.130 access="${build.javadoc.access}"
1089 jsr166 1.144 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1090     source="${build.jsr166e.java.version}"
1091 jsr166 1.118 executable="${javadoc7}">
1092 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1093 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1094    
1095 jsr166 1.96 </javadoc>
1096 dl 1.90 </target>
1097    
1098    
1099 jsr166 1.144 <target name="jsr166e-test-tck-one-java-version"
1100 jsr166 1.148 depends="jsr166ejar">
1101 jsr166 1.122
1102 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1103    
1104 jsr166 1.122 <run-tck-tests
1105     tck.src.dir="${test.src.dir}/tck-jsr166e"
1106 jsr166 1.144 target="${build.jsr166e.java.version}"
1107 jsr166 1.122 workdir="${build.jsr166e.dir}"
1108     classes="${jsr166e.jar}"/>
1109     </target>
1110    
1111 jsr166 1.144 <target name="jsr166e-test-tck"
1112     description="Runs tck tests for jsr166e for multiple java versions">
1113    
1114     <!-- <antcall target="clean"/> -->
1115     <!-- <antcall target="jsr166e-test-tck-one-java-version"> -->
1116     <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1117     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1118     <!-- </antcall> -->
1119    
1120     <antcall target="clean"/>
1121     <antcall target="jsr166e-test-tck-one-java-version">
1122     <param name="build.jsr166e.java.version" value="7"/>
1123     <param name="build.jsr166e.javac" value="${javac7}"/>
1124     </antcall>
1125    
1126     <antcall target="clean"/>
1127     <antcall target="jsr166e-test-tck-one-java-version">
1128     <param name="build.jsr166e.java.version" value="6"/>
1129     <param name="build.jsr166e.javac" value="${javac6}"/>
1130     </antcall>
1131     </target>
1132    
1133 jsr166 1.122
1134 jsr166 1.147 <target name="jsr166e-test"
1135     depends="jsr166e-test-tck"
1136     description="Runs all tests for jsr166e">
1137     </target>
1138    
1139 dl 1.90 <target name="jsr166edist"
1140 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1141 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1142    
1143    
1144     <target name="jsr166eclean"
1145 jsr166 1.109 description="Removes all jsr166e build products">
1146 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1147     </target>
1148    
1149    
1150     <target name="jsr166edist-jar"
1151 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1152 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1153 jsr166 1.125 </target>
1154 dl 1.90
1155 jsr166 1.125 <target name="jsr166edist-docs"
1156     depends="jsr166eclean, jsr166edocs">
1157 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1158 dl 1.90 </target>
1159    
1160 jsr166 1.130
1161     <!-- Find buglets that can be detected by static build tools -->
1162    
1163     <target name="lint">
1164     <antcall target="dists">
1165 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1166     </antcall>
1167     </target>
1168    
1169     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1170     <target name="lint-private">
1171     <antcall target="dist">
1172 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1173     </antcall>
1174     </target>
1175    
1176    
1177 tim 1.1 </project>