ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.168
Committed: Wed Sep 2 02:14:59 2015 UTC (8 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.167: +11 -1 lines
Log Message:
delete dead exclude of jdk9tests; exclude GCDuringIteration from jdk8 tests

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