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