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