ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.172
Committed: Wed Sep 2 05:00:20 2015 UTC (8 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.171: +2 -1 lines
Log Message:
import jtreg tests from openjdk

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