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

File Contents

# User Rev Content
1 tim 1.18 <project name="jsr166" default="usage">
2 tim 1.1
3     <description>
4 tim 1.29 ------------------------------------------------------------------------------
5     Build file for JSR-166
6 tim 1.18
7 tim 1.29 Usage: ant [target]
8    
9     User-specific settings are read from user.properties.
10 tim 1.32 See user.properties.sample for an explanation of some useful settings.
11 jsr166 1.98
12     The repository contains all dependencies except for ant and the JDK
13     itself. Because the JDK version matters and because different
14     targets require different JDKs, we assume that users have created a
15     hierarchy containing:
16     $HOME/jdk/jdk6
17     $HOME/jdk/jdk7
18     $HOME/jdk/jdk8
19 jsr166 1.151 $HOME/jdk/jdk9
20 jsr166 1.99 where each of the above is a JDK or a symlink to same, and
21     $HOME/jdk/src/jdk6
22     $HOME/jdk/src/jdk7
23     $HOME/jdk/src/jdk8
24 jsr166 1.151 $HOME/jdk/src/jdk9
25 jsr166 1.99 where each of the above is a complete JDK source tree
26     (e.g. mercurial forest) or a symlink to same.
27 jsr166 1.159
28     Alternatively, define ant variables thus:
29     ant -Djdk$N.home=...
30     for $N in 6 7 8 9 ...
31 tim 1.29 ------------------------------------------------------------------------------
32 tim 1.18 </description>
33 tim 1.11
34 jsr166 1.148 <!-- Display main targets by running 'ant -projecthelp' -->
35     <target name="usage">
36 jsr166 1.129 <java classname="org.apache.tools.ant.Main">
37     <arg value="-projecthelp" />
38     </java>
39 tim 1.29 </target>
40 tim 1.3
41 tim 1.11
42 tim 1.27 <!-- User-specific settings -->
43 tim 1.23 <property file="user.properties"/>
44 tim 1.27
45 tim 1.1
46     <!-- Compilation options -->
47 jsr166 1.114 <property name="build.sourcelevel" value="6"/>
48 tim 1.1 <property name="build.debug" value="true"/>
49     <property name="build.debuglevel" value="source,lines,vars"/>
50 tim 1.13 <property name="build.deprecation" value="false"/>
51 jsr166 1.130 <property name="build.javadoc.access" value="protected"/>
52 tim 1.1
53 jsr166 1.156 <!-- Tck options; see JSR166TestCase.java
54 jsr166 1.158 To profile a single tck test class:
55 jsr166 1.156 ant -Djsr166.profileTests=true -Djsr166.profileThreshold=100 -Djsr166.tckTestClass=CompletableFutureTest test-tck
56 jsr166 1.158 To stress test a single tck test class:
57 jsr166 1.156 ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck
58     -->
59 jsr166 1.139 <property name="jsr166.profileTests" value="false"/>
60     <property name="jsr166.profileThreshold" value="100"/>
61     <property name="jsr166.runsPerTest" value="1"/>
62 jsr166 1.140 <property name="jsr166.tckTestClass" value="JSR166TestCase"/>
63 jsr166 1.139
64 tim 1.1 <!-- Build locations -->
65 jsr166 1.79 <property name="build.dir" location="build"/>
66     <property name="build.classes.dir" location="${build.dir}/classes"/>
67     <property name="build.testcases.dir" location="${build.dir}/testcases"/>
68     <property name="build.loops.dir" location="${build.dir}/loops"/>
69     <property name="build.reports.dir" location="${build.dir}/reports"/>
70 jsr166 1.92
71 jsr166 1.109 <property name="build.4jdk7.dir" location="${build.dir}/jsr166-4jdk7"/>
72     <property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/>
73 jsr166 1.113 <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
74 jsr166 1.109 <property name="build.4jdk7.docs.dir" location="${build.4jdk7.dir}/docs"/>
75 jsr166 1.92
76 jsr166 1.79 <property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/>
77     <property name="build.jsr166y.dir" location="${build.dir}/jsr166y"/>
78 dl 1.90 <property name="build.jsr166e.dir" location="${build.dir}/jsr166e"/>
79 jsr166 1.79 <property name="build.extra166y.dir" location="${build.dir}/extra166y"/>
80 dl 1.76
81 jsr166 1.126 <property name="build.jsr166x.classes.dir" location="${build.jsr166x.dir}/classes"/>
82     <property name="build.jsr166y.classes.dir" location="${build.jsr166y.dir}/classes"/>
83     <property name="build.jsr166e.classes.dir" location="${build.jsr166e.dir}/classes"/>
84     <property name="build.extra166y.classes.dir" location="${build.extra166y.dir}/classes"/>
85 jsr166 1.114
86 jsr166 1.118 <!-- JDK locations -->
87 jsr166 1.92 <property name="jdks.home" location="${user.home}/jdk"/>
88 jsr166 1.93
89     <macrodef name="defjdklocations">
90     <attribute name="v"/>
91     <sequential>
92 jsr166 1.99 <property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/>
93     <property name="java@{v}" location="${jdk@{v}.home}/bin/java"/>
94     <property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/>
95     <property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/>
96     <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
97 jsr166 1.118 <local name="boot.jar.dir"/>
98     <property name="boot.jar.dir" location="${jdk@{v}.home}/jre/lib"/>
99     <path id="bootclasspath@{v}">
100     <pathelement path="${boot.jar.dir}/resources.jar"/>
101     <pathelement path="${boot.jar.dir}/rt.jar"/>
102     <pathelement path="${boot.jar.dir}/jsse.jar"/>
103     <pathelement path="${boot.jar.dir}/jce.jar"/>
104     <pathelement path="${boot.jar.dir}/charsets.jar"/>
105     </path>
106     <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
107 jsr166 1.93 </sequential>
108     </macrodef>
109    
110 jsr166 1.125 <macrodef name="mirror-dir">
111     <attribute name="src"/>
112     <attribute name="dst"/>
113     <sequential>
114     <delete dir="@{dst}"/>
115     <mkdir dir="@{dst}"/>
116     <copy todir="@{dst}" preservelastmodified="true">
117     <fileset dir="@{src}"/>
118     </copy>
119     </sequential>
120     </macrodef>
121    
122 jsr166 1.93 <defjdklocations v="6"/>
123     <defjdklocations v="7"/>
124     <defjdklocations v="8"/>
125 jsr166 1.151 <defjdklocations v="9"/>
126 jsr166 1.92
127 tim 1.1 <!-- Source locations -->
128 tim 1.22 <property name="src.dir" location="${basedir}/src/main"/>
129     <property name="test.src.dir" location="${basedir}/src/test"/>
130 jsr166 1.65 <property name="loops.src.dir" location="${basedir}/src/loops"/>
131 tim 1.60 <property name="tck.src.dir" location="${test.src.dir}/tck"/>
132 tim 1.62 <property name="jtreg.src.dir" location="${test.src.dir}/jtreg"/>
133 tim 1.1 <property name="lib.dir" location="${basedir}/lib"/>
134 tim 1.9 <property name="dist.dir" location="${basedir}/dist"/>
135 dl 1.70 <property name="topsrc.dir" location="${basedir}/src"/>
136 jsr166 1.99 <property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/>
137 jsr166 1.92 <property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/>
138     <property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/>
139     <property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/>
140     <property name="extra166ysrc.dir" location="${topsrc.dir}/extra166y"/>
141 jsr166 1.91
142 jsr166 1.125 <!-- Javadoc locations -->
143 jsr166 1.127 <property name="docs.dir" location="${build.dir}/docs"/>
144     <property name="4jdk7docs.dir" location="${build.4jdk7.dir}/docs"/>
145     <property name="jsr166xdocs.dir" location="${build.jsr166x.dir}/docs"/>
146     <property name="jsr166ydocs.dir" location="${build.jsr166y.dir}/docs"/>
147     <property name="jsr166edocs.dir" location="${build.jsr166e.dir}/docs"/>
148     <property name="extra166ydocs.dir" location="${build.extra166y.dir}/docs"/>
149    
150     <property name="dist.docs.dir" location="${dist.dir}/docs"/>
151     <property name="dist.4jdk7docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/>
152     <property name="dist.jsr166xdocs.dir" location="${dist.dir}/jsr166xdocs"/>
153     <property name="dist.jsr166ydocs.dir" location="${dist.dir}/jsr166ydocs"/>
154     <property name="dist.jsr166edocs.dir" location="${dist.dir}/jsr166edocs"/>
155     <property name="dist.extra166ydocs.dir" location="${dist.dir}/extra166ydocs"/>
156 tim 1.1
157     <!-- Jar locations -->
158 jsr166 1.109 <property name="product.jar" location="${build.dir}/jsr166.jar"/>
159     <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
160     <property name="jsr166x.jar" location="${build.jsr166x.dir}/jsr166x.jar"/>
161     <property name="jsr166y.jar" location="${build.jsr166y.dir}/jsr166y.jar"/>
162     <property name="jsr166e.jar" location="${build.jsr166e.dir}/jsr166e.jar"/>
163     <property name="extra166y.jar" location="${build.extra166y.dir}/extra166y.jar"/>
164 jsr166 1.106 <property name="junit.jar" location="${lib.dir}/junit.jar"/>
165 jsr166 1.65
166 jsr166 1.152 <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
167     <property name="java5.docroot.url" value="http://docs.oracle.com/javase/1.5.0/docs"/>
168     <property name="java6.docroot.url" value="http://docs.oracle.com/javase/6/docs"/>
169     <property name="java7.docroot.url" value="http://docs.oracle.com/javase/7/docs"/>
170 jsr166 1.157 <property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/>
171     <!-- The expected canonical location does not yet exist as of 2014-07 -->
172 jsr166 1.152 <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
173 jsr166 1.157 <property name="java9.docroot.url" value="http://download.java.net/jdk9/docs"/>
174 jsr166 1.152 <!-- Default jdk doc location (latest stable release seems best) -->
175 jsr166 1.157 <property name="java.docroot.url" value="${java8.docroot.url}"/>
176 jsr166 1.151
177 jsr166 1.152 <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
178     <property name="java5.api.url" value="${java5.docroot.url}/api/"/>
179     <property name="java6.api.url" value="${java6.docroot.url}/api/"/>
180     <property name="java7.api.url" value="${java7.docroot.url}/api/"/>
181     <property name="java8.api.url" value="${java8.docroot.url}/api/"/>
182     <property name="java9.api.url" value="${java9.docroot.url}/api/"/>
183     <property name="java.api.url" value="${java.docroot.url}/api/"/>
184 jsr166 1.91
185 jsr166 1.115 <!-- Define the "jtreg" task -->
186     <!-- See the docs in "jtreg -onlineHelp" -->
187     <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
188     classpath="${lib.dir}/jtreg.jar" />
189    
190 tim 1.59 <!-- Test classpath -->
191     <path id="test.classpath">
192     <pathelement location="${build.testcases.dir}"/>
193     <pathelement location="${junit.jar}"/>
194     </path>
195 tim 1.28
196 jsr166 1.118 <macrodef name="run-tck-tests">
197 jsr166 1.122 <attribute name="tck.src.dir" default="${tck.src.dir}"/>
198 jsr166 1.118 <attribute name="target"/>
199 jsr166 1.138 <attribute name="compile-target" default="@{target}"/>
200 jsr166 1.118 <attribute name="workdir"/>
201 jsr166 1.122 <attribute name="classes"/>
202 jsr166 1.155 <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
203 jsr166 1.132 <element name="javac-elements" optional="true"/>
204 jsr166 1.118 <sequential>
205    
206     <mkdir dir="@{workdir}/tck-classes"/>
207    
208 jsr166 1.122 <javac srcdir="@{tck.src.dir}"
209 jsr166 1.118 destdir="@{workdir}/tck-classes"
210     debug="${build.debug}"
211     debuglevel="${build.debuglevel}"
212     deprecation="${build.deprecation}"
213 jsr166 1.138 source="@{compile-target}"
214     target="@{compile-target}"
215 jsr166 1.118 classpath="${junit.jar}"
216     includeAntRuntime="false"
217     includeJavaRuntime="false"
218 jsr166 1.138 executable="${javac@{compile-target}}"
219 jsr166 1.118 fork="true">
220    
221 jsr166 1.121 <include name="*.java"/>
222 jsr166 1.118 <compilerarg value="-XDignore.symbol.file=true"/>
223     <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
224 jsr166 1.162 <compilerarg value="-Xbootclasspath/p:@{classes}"/>
225 jsr166 1.118 <compilerarg line="${build.args}"/>
226 jsr166 1.132 <javac-elements/>
227 jsr166 1.118
228     </javac>
229    
230 jsr166 1.140 <java classname="${jsr166.tckTestClass}"
231 jsr166 1.118 failonerror="true"
232     jvm="${java@{target}}"
233     fork="true">
234 jsr166 1.122 <jvmarg value="-Xbootclasspath/p:@{classes}"/>
235 jsr166 1.118 <jvmarg line="@{jvmflags}"/>
236 jsr166 1.160
237     <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 test-tck -->
238     <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">
239     <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
240     </syspropertyset>
241    
242 jsr166 1.139 <sysproperty key="jsr166.profileTests" value="${jsr166.profileTests}"/>
243     <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>
244     <sysproperty key="jsr166.runsPerTest" value="${jsr166.runsPerTest}"/>
245 jsr166 1.118 <classpath>
246     <pathelement location="${junit.jar}"/>
247     <pathelement location="@{workdir}/tck-classes"/>
248     </classpath>
249     </java>
250    
251     </sequential>
252     </macrodef>
253    
254 jsr166 1.165 <!-- Define jtreg test sets for different jdk versions -->
255     <fileset dir="${jtreg.src.dir}">
256     <patternset id="jdk9.jtreg.tests">
257     <include name="**/*.java"/>
258     </patternset>
259     </fileset>
260    
261     <fileset dir="${jtreg.src.dir}">
262     <patternset id="jdk8.jtreg.tests">
263     <include name="**/*.java"/>
264     <exclude name="util/Spliterator/SpliteratorCharacteristics.java"/>
265 jsr166 1.168 <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->
266     <exclude name="util/WeakHashMap/GCDuringIteration.java"/>
267 jsr166 1.165 </patternset>
268     </fileset>
269    
270     <fileset dir="${jtreg.src.dir}">
271     <patternset id="jdk7.jtreg.tests">
272     <include name="**/*.java"/>
273     <exclude name="util/Collection/CollectionDefaults.java"/>
274     <exclude name="util/List/ListDefaults.java"/>
275     <exclude name="util/Spliterator/**/*.java"/>
276 jsr166 1.170 <exclude name="**/CompletableFuture/**/*.java"/>
277 jsr166 1.165 <exclude name="util/concurrent/forkjoin/SubmissionTest.java"/>
278 jsr166 1.170 <exclude name="**/StampedLock/**/*.java"/>
279     <exclude name="**/AtomicReferenceTest.java"/>
280 jsr166 1.169 <exclude name="util/concurrent/atomic/Serial.java"/>
281 jsr166 1.165 </patternset>
282     </fileset>
283    
284 jsr166 1.135 <macrodef name="run-jtreg-tests">
285 jsr166 1.153 <!-- ant -Djtreg.src.dir=src/test/jtreg/util/concurrent/CompletableFuture test-jtreg -->
286 jsr166 1.135 <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>
287     <attribute name="source" default="7"/>
288     <attribute name="target"/>
289     <attribute name="workdir"/>
290     <attribute name="classes"/>
291     <attribute name="jtregflags" default=""/>
292     <sequential>
293     <delete dir="@{workdir}/JTwork" quiet="true"/>
294     <delete dir="@{workdir}/JTreport" quiet="true"/>
295     <mkdir dir="@{workdir}/JTwork/scratch"/>
296     <mkdir dir="@{workdir}/JTreport"/>
297     <jtreg dir="@{jtreg.src.dir}"
298     jdk="${jdk@{target}.home}"
299     workDir="@{workdir}/JTwork"
300     reportDir="@{workdir}/JTreport">
301 jsr166 1.165 <patternset refid="jdk@{target}.jtreg.tests"/>
302 jsr166 1.135 <arg value="-Xbootclasspath/p:@{classes}"/>
303     <arg value="-agentvm"/>
304     <arg value="-v:nopass,fail"/>
305     <arg value="-vmoptions:-esa -ea"/>
306     <arg value="-automatic"/>
307     <arg value="-k:!ignore"/>
308     <arg line="@{jtregflags}"/>
309     </jtreg>
310     </sequential>
311     </macrodef>
312    
313 jsr166 1.65 <!-- ALoops classpath -->
314     <path id="loops.classpath">
315     <pathelement location="${build.loops.dir}"/>
316     </path>
317    
318 jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
319 jsr166 1.120 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
320 jsr166 1.100 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
321 tim 1.28
322 tim 1.59 <!-- Main targets -->
323 tim 1.28
324 jsr166 1.151 <property name="build.main.java.version" value="9"/>
325     <property name="build.main.javac" value="${javac9}"/>
326    
327 dl 1.80 <target name="dists"
328 jsr166 1.107 depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
329 dl 1.80 description="Builds all public jars and docs"/>
330 tim 1.11
331 tim 1.28 <target name="compile"
332 jsr166 1.100 depends="configure-compiler"
333 jsr166 1.102 description="Compiles src/main sources to build dir">
334 tim 1.27
335 tim 1.1 <mkdir dir="${build.classes.dir}"/>
336 tim 1.27
337 tim 1.60 <javac srcdir="${src.dir}"
338 jsr166 1.100 destdir="${build.classes.dir}"
339     debug="${build.debug}"
340     debuglevel="${build.debuglevel}"
341     deprecation="${build.deprecation}"
342     classpath=""
343     includeAntRuntime="false"
344     includeJavaRuntime="false"
345 jsr166 1.151 executable="${build.main.javac}"
346 jsr166 1.100 fork="true">
347 tim 1.1
348 jsr166 1.68 <include name="**/*.java"/>
349 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
350 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
351 jsr166 1.100 <compilerarg value="-Xlint:all"/>
352 jsr166 1.164 <compilerarg value="-Werror"/>
353 jsr166 1.146 <compilerarg value="-Xdoclint:all/protected"/>
354     <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
355 dl 1.73 <compilerarg line="${build.args}"/>
356 tim 1.1
357     </javac>
358     </target>
359    
360    
361 tim 1.28 <target name="jar"
362 tim 1.59 depends="compile"
363     description="Builds library jar from compiled sources">
364    
365     <jar destfile="${product.jar}">
366     <fileset dir="${build.classes.dir}"/>
367     </jar>
368     </target>
369    
370 tim 1.1
371 tim 1.59 <target name="docs"
372 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
373 tim 1.59
374 jsr166 1.127 <delete dir="${docs.dir}"/>
375     <mkdir dir="${docs.dir}"/>
376 tim 1.59
377 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
378     <!-- sourcepath for packages -->
379    
380 jsr166 1.127 <javadoc destdir="${docs.dir}"
381 jsr166 1.88 packagenames="none"
382 jsr166 1.152 link="${java9.api.url}"
383 jsr166 1.88 overview="${src.dir}/intro.html"
384 jsr166 1.130 access="${build.javadoc.access}"
385 jsr166 1.151 sourcepath="${src.dir}:${jdk9src.dir}"
386 jsr166 1.100 classpath=""
387 jsr166 1.151 executable="${javadoc9}">
388 jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
389     <include name="**/*.java"/>
390     </fileset>
391 jsr166 1.152 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
392 jsr166 1.146 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
393 jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
394     <arg value="-tag"/>
395     <arg value="${javadoc.jls.option}"/>
396 dl 1.143 <arg value="-tag"/>
397     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
398     <arg value="-tag"/>
399     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
400     <arg value="-tag"/>
401 jsr166 1.144 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
402 tim 1.59 </javadoc>
403     </target>
404    
405    
406 tim 1.28 <target name="dist"
407 jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
408 tim 1.16 description="Puts all distributable products in single hierarchy"/>
409 tim 1.1
410 tim 1.58
411 tim 1.42 <target name="release"
412     depends="dist"
413     description="Puts entire CVS tree, plus distribution productions, in a jar">
414    
415     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
416    
417     <jar basedir="${basedir}" destfile="${release.jar}">
418 tim 1.58 <!-- <exclude name="build/**"/> -->
419 tim 1.42 <exclude name="${release.jar}"/>
420     <exclude name="user.properties"/>
421     <exclude name="etc/notes/**"/>
422 tim 1.58 <exclude name="src/emulation/**"/>
423 tim 1.44 <exclude name="**/SyntaxTest.java"/>
424 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
425 tim 1.42 </jar>
426     </target>
427 tim 1.1
428 tim 1.59
429 tim 1.11 <target name="clean"
430     description="Removes all build products">
431 tim 1.27
432 tim 1.11 <delete dir="${build.dir}"/>
433 tim 1.27
434 tim 1.1 </target>
435    
436    
437 tim 1.11 <target name="dist-clean"
438     description="Removes all build and distribution products">
439 tim 1.27
440 jsr166 1.148 <delete dir="${build.dir}"/>
441 tim 1.11 <delete dir="${dist.dir}"/>
442 tim 1.27
443 tim 1.9 </target>
444 tim 1.10
445    
446 tim 1.28 <target name="dist-jar"
447     depends="clean, jar">
448 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
449 jsr166 1.125 </target>
450 tim 1.27
451 jsr166 1.125 <target name="dist-docs"
452     depends="clean, docs">
453 jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
454 tim 1.11 </target>
455    
456 jsr166 1.163 <target name="tck" depends="test-tck" description="alias for test-tck"/>
457 jsr166 1.131 <target name="test-tck"
458     depends="jar"
459     description="Runs tck tests for main directly">
460    
461     <run-tck-tests
462 jsr166 1.151 target="${build.main.java.version}"
463 jsr166 1.131 workdir="${build.dir}"
464     classes="${product.jar}"/>
465     </target>
466 tim 1.1
467 jsr166 1.160 <target name="test-tck-parallelism-1"
468     description="Runs test-tck with given common pool parallelism">
469     <antcall target="test-tck">
470     <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
471     </antcall>
472     </target>
473    
474     <target name="test-tck-parallelism-0"
475     description="Runs test-tck with given common pool parallelism">
476     <antcall target="test-tck">
477     <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
478     </antcall>
479     </target>
480    
481 jsr166 1.163 <target name="jtreg" depends="test-jtreg" description="alias for test-jtreg"/>
482 jsr166 1.135 <target name="test-jtreg"
483     depends="jar"
484     description="Runs jtreg tests for main using the jtreg ant task">
485     <run-jtreg-tests
486 jsr166 1.151 target="${build.main.java.version}"
487 jsr166 1.135 workdir="${build.dir}"
488     classes="${product.jar}"/>
489     </target>
490    
491 jsr166 1.142 <target name="test"
492 jsr166 1.160 depends="test-tck, test-tck-parallelism-1, test-jtreg"
493 jsr166 1.135 description="Runs tck and jtreg tests for main">
494     </target>
495    
496 jsr166 1.168 <target name="jtreg8" description="Runs jtreg tests with jdk8">
497    
498     <antcall target="jtreg">
499     <param name="build.main.java.version" value="8"/>
500     <param name="build.main.javac" value="${javac8}"/>
501     </antcall>
502    
503     </target>
504    
505 jsr166 1.151 <target name="test89"
506     description="Runs tck and jtreg tests for main for multiple java versions">
507    
508     <antcall target="clean"/>
509     <antcall target="test">
510     <param name="build.main.java.version" value="8"/>
511     <param name="build.main.javac" value="${javac8}"/>
512     </antcall>
513    
514     <antcall target="clean"/>
515     <antcall target="test">
516     <param name="build.main.java.version" value="9"/>
517     <param name="build.main.javac" value="${javac9}"/>
518     </antcall>
519    
520     </target>
521    
522 tim 1.18
523    
524 tim 1.32 <target name="configure-compiler">
525 tim 1.54
526     <property name="unchecked.option" value="-Xlint:unchecked"/>
527    
528     <condition property="warnunchecked.arg" value="${unchecked.option}">
529 tim 1.57 <istrue value="${build.warnunchecked}"/>
530 tim 1.32 </condition>
531    
532 tim 1.37 <property name="warnunchecked.arg" value=""/>
533 tim 1.34
534 tim 1.32
535     <!-- Common options in javac invocations -->
536 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
537 tim 1.33
538     </target>
539    
540    
541 tim 1.28
542 jsr166 1.65 <!-- Various demos and test programs -->
543    
544    
545 jsr166 1.103 <target name="loops" depends="configure-compiler"
546 jsr166 1.65 description="Benchmark from Doug Lea's AQS paper">
547    
548     <mkdir dir="${build.loops.dir}"/>
549    
550     <javac srcdir="${loops.src.dir}"
551     destdir="${build.loops.dir}"
552     debug="${build.debug}"
553     debuglevel="${build.debuglevel}"
554     deprecation="${build.deprecation}"
555     source="${build.sourcelevel}"
556     fork="true">
557    
558     <compilerarg line="${build.args}"/>
559     <classpath refid="loops.classpath"/>
560 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
561 jsr166 1.65
562     </javac>
563    
564     <java classname="ALoops" fork="true">
565     <classpath refid="loops.classpath"/>
566     </java>
567    
568     </target>
569    
570    
571 jsr166 1.166 <target name="compile-test-loops" depends="jar"
572     description="compile all the perf tests in src/test/loops">
573    
574     <mkdir dir="${build.dir}/test/loops"/>
575    
576     <javac srcdir="${basedir}/src/test/loops"
577     destdir="${build.dir}/test/loops"
578     debug="${build.debug}"
579     debuglevel="${build.debuglevel}"
580     deprecation="${build.deprecation}"
581     includeAntRuntime="false"
582     includeJavaRuntime="false"
583     executable="${javac9}"
584     fork="true">
585    
586     <include name="*.java"/>
587     <compilerarg value="-XDignore.symbol.file=true"/>
588 jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
589 jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
590     <compilerarg line="${build.args}"/>
591    
592     </javac>
593    
594     </target>
595    
596    
597 jsr166 1.99 <!-- jsr166 4jdk7 -->
598 jsr166 1.92
599 jsr166 1.99 <target name="4jdk7compile"
600 jsr166 1.92 depends="configure-compiler"
601 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
602 jsr166 1.92
603 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
604 jsr166 1.92
605 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
606     destdir="${build.4jdk7.classes.dir}"
607 jsr166 1.92 debug="${build.debug}"
608     debuglevel="${build.debuglevel}"
609     deprecation="${build.deprecation}"
610 jsr166 1.107 source="6"
611 jsr166 1.92 classpath=""
612 jsr166 1.119 bootclasspath="${bootclasspath6}"
613 jsr166 1.92 includeAntRuntime="false"
614     includeJavaRuntime="false"
615 jsr166 1.97 executable="${javac7}"
616 jsr166 1.92 fork="true">
617    
618     <include name="**/*.java"/>
619 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
620 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
621     <compilerarg value="-Xlint:all"/>
622 jsr166 1.164 <compilerarg value="-Werror"/>
623 jsr166 1.118 <compilerarg line="${build.args}"/>
624 jsr166 1.92
625     </javac>
626 jsr166 1.118 </target>
627 jsr166 1.92
628 jsr166 1.149 <target name="4jdk7doclint"
629     depends="configure-compiler"
630     description="Finds doclint warnings">
631    
632     <mkdir dir="${build.4jdk7.classes.dir}"/>
633    
634     <javac srcdir="${4jdk7src.dir}"
635     destdir="${build.4jdk7.classes.dir}"
636     debug="${build.debug}"
637     debuglevel="${build.debuglevel}"
638     deprecation="${build.deprecation}"
639     source="6"
640     classpath=""
641     bootclasspath="${bootclasspath7}"
642     includeAntRuntime="false"
643     includeJavaRuntime="false"
644     executable="${javac8}"
645     fork="true">
646    
647     <include name="**/*.java"/>
648     <compilerarg value="-Xprefer:source"/>
649     <compilerarg value="-XDignore.symbol.file=true"/>
650     <compilerarg value="-Xlint:all"/>
651     <compilerarg value="-Xdoclint:all/protected"/>
652     <compilerarg line="${build.args}"/>
653    
654     </javac>
655     </target>
656    
657 jsr166 1.116
658 jsr166 1.128 <target name="4jdk7jar"
659 jsr166 1.116 depends="4jdk7compile"
660     description="Builds library jar from compiled sources">
661    
662     <jar destfile="${4jdk7product.jar}">
663 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
664 jsr166 1.97 </jar>
665    
666 jsr166 1.92 </target>
667    
668    
669 jsr166 1.99 <target name="4jdk7-test-tck"
670 jsr166 1.128 depends="4jdk7jar"
671 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
672 jsr166 1.116
673 jsr166 1.97 <run-tck-tests
674 jsr166 1.116 target="7"
675     workdir="${build.4jdk7.dir}"
676 jsr166 1.132 classes="${4jdk7product.jar}">
677     <javac-elements>
678 jsr166 1.134 <!-- JDK8+ test classes -->
679 jsr166 1.137 <exclude name="*8Test.java"/>
680 jsr166 1.151 <exclude name="*9Test.java"/>
681 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
682     <exclude name="DoubleAdderTest.java"/>
683     <exclude name="LongAccumulatorTest.java"/>
684     <exclude name="LongAdderTest.java"/>
685 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
686 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
687 jsr166 1.132 <exclude name="StampedLockTest.java"/>
688     </javac-elements>
689     </run-tck-tests>
690 jsr166 1.97 </target>
691    
692    
693 jsr166 1.99 <target name="4jdk7-test-tck-junit"
694     depends="4jdk7compile"
695     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
696 jsr166 1.97
697     <junit printsummary="true"
698     showoutput="true"
699     errorProperty="junit.failed"
700     failureProperty="junit.failed"
701     includeantruntime="true"
702     jvm="${java7}"
703     fork="true">
704    
705 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
706 jsr166 1.97 <jvmarg value="-server"/>
707 jsr166 1.92
708 jsr166 1.97 <classpath>
709     <pathelement location="${junit.jar}"/>
710 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
711 jsr166 1.97 </classpath>
712 jsr166 1.92
713 jsr166 1.97 <formatter type="brief"/>
714 jsr166 1.92
715 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
716 jsr166 1.97 </test>
717 jsr166 1.92
718 jsr166 1.97 </junit>
719 jsr166 1.92 </target>
720    
721 jsr166 1.115 <target name="4jdk7-test-jtreg"
722 jsr166 1.135 depends="4jdk7jar"
723 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
724 jsr166 1.135 <run-jtreg-tests
725     target="7"
726     workdir="${build.4jdk7.dir}"
727 jsr166 1.165 classes="${4jdk7product.jar}"/>
728 jsr166 1.115 </target>
729    
730    
731     <target name="4jdk7-test"
732     depends="4jdk7-test-tck, 4jdk7-test-jtreg"
733     description="Runs tck and jtreg tests for jsr166-4jdk7">
734     </target>
735    
736 jsr166 1.92
737 jsr166 1.99 <target name="4jdk7docs"
738 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
739 jsr166 1.92
740 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
741     <mkdir dir="${4jdk7docs.dir}"/>
742 jsr166 1.92
743 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
744 jsr166 1.92 packagenames="none"
745 jsr166 1.152 link="${java7.api.url}"
746 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
747 jsr166 1.130 access="${build.javadoc.access}"
748 jsr166 1.119 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
749 jsr166 1.92 classpath=""
750 jsr166 1.99 executable="${javadoc7}">
751     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
752 jsr166 1.92 <include name="**/*.java"/>
753     </fileset>
754 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
755 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
756 jsr166 1.92 </javadoc>
757     </target>
758    
759    
760 jsr166 1.99 <target name="4jdk7dist"
761 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
762 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
763    
764    
765 jsr166 1.99 <target name="4jdk7clean"
766 jsr166 1.109 description="Removes all 4jdk7 build products">
767 jsr166 1.92
768 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
769 jsr166 1.92
770     </target>
771    
772    
773 jsr166 1.99 <target name="4jdk7dist-jar"
774 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
775 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
776     </target>
777 jsr166 1.92
778    
779 jsr166 1.125 <target name="4jdk7dist-docs"
780     depends="4jdk7clean, 4jdk7docs">
781 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
782 jsr166 1.92 </target>
783    
784 jsr166 1.109
785 dl 1.70 <!-- jsr166x -->
786    
787     <target name="jsr166xcompile"
788 jsr166 1.103 depends="configure-compiler"
789 jsr166 1.105 description="Compiles jsr166x sources to build dir">
790 dl 1.70
791 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
792 dl 1.70
793 jsr166 1.105 <javac srcdir="${topsrc.dir}"
794 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
795 jsr166 1.105 debug="${build.debug}"
796     debuglevel="${build.debuglevel}"
797     deprecation="${build.deprecation}"
798     classpath=""
799 jsr166 1.119 bootclasspath="${bootclasspath6}"
800 jsr166 1.107 source="5"
801 jsr166 1.105 includeAntRuntime="false"
802     includeJavaRuntime="false"
803     executable="${javac7}"
804     fork="true">
805 dl 1.70
806 jsr166 1.105 <include name="jsr166x/**/*.java"/>
807 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
808 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
809 jsr166 1.164 <compilerarg value="-Werror"/>
810 jsr166 1.118 <compilerarg line="${build.args}"/>
811 dl 1.70
812     </javac>
813     </target>
814    
815    
816 jsr166 1.128 <target name="jsr166xjar"
817 dl 1.70 depends="jsr166xcompile"
818     description="Builds library jar from compiled sources">
819    
820 jsr166 1.106 <jar destfile="${jsr166x.jar}">
821 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
822 dl 1.70 </jar>
823    
824     </target>
825    
826    
827     <target name="jsr166xdocs"
828 jsr166 1.102 description="Builds javadocs to dist dir">
829 dl 1.70
830 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
831     <mkdir dir="${jsr166xdocs.dir}"/>
832 dl 1.70
833 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
834 jsr166 1.107 packagenames="jsr166x.*"
835 jsr166 1.152 link="${java.api.url}"
836 jsr166 1.130 access="${build.javadoc.access}"
837 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
838     bootclasspath="${bootclasspath6}"
839 jsr166 1.107 source="5"
840 jsr166 1.118 executable="${javadoc7}">
841 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
842 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
843 dl 1.70
844 jsr166 1.118 </javadoc>
845 dl 1.70 </target>
846    
847    
848     <target name="jsr166xdist"
849 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
850 dl 1.70 description="Puts all distributable products in single hierarchy"/>
851    
852    
853     <target name="jsr166xclean"
854 jsr166 1.109 description="Removes all jsr166x build products">
855 dl 1.70
856     <delete dir="${build.jsr166x.dir}"/>
857    
858     </target>
859    
860    
861     <target name="jsr166xdist-jar"
862 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
863 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
864 jsr166 1.125 </target>
865 dl 1.70
866 jsr166 1.125 <target name="jsr166xdist-docs"
867     depends="jsr166xclean, jsr166xdocs">
868 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
869 dl 1.70 </target>
870    
871 dl 1.74 <!-- jsr166y -->
872    
873    
874     <target name="jsr166ycompile"
875 jsr166 1.103 depends="configure-compiler"
876 dl 1.74 description="Compiles jsr166y sources">
877    
878 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
879 dl 1.74
880 jsr166 1.103 <javac srcdir="${topsrc.dir}"
881 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
882 jsr166 1.103 debug="${build.debug}"
883     debuglevel="${build.debuglevel}"
884     deprecation="${build.deprecation}"
885 jsr166 1.107 source="6"
886 jsr166 1.103 classpath=""
887 jsr166 1.119 bootclasspath="${bootclasspath6}"
888 jsr166 1.103 includeAntRuntime="false"
889     includeJavaRuntime="false"
890     executable="${javac7}"
891     fork="true">
892 dl 1.74
893 jsr166 1.103 <include name="jsr166y/**/*.java"/>
894 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
895 jsr166 1.103 <compilerarg value="-Xlint:all"/>
896 jsr166 1.164 <compilerarg value="-Werror"/>
897 jsr166 1.118 <compilerarg line="${build.args}"/>
898    
899 dl 1.74 </javac>
900     </target>
901    
902    
903 jsr166 1.128 <target name="jsr166yjar"
904 dl 1.74 depends="jsr166ycompile"
905     description="Builds library jar from compiled sources">
906    
907 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
908 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
909 dl 1.74 </jar>
910    
911     </target>
912    
913    
914     <target name="jsr166ydocs"
915 jsr166 1.102 description="Builds javadocs to dist dir">
916 dl 1.74
917 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
918     <mkdir dir="${jsr166ydocs.dir}"/>
919 dl 1.74
920 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
921 jsr166 1.107 packagenames="jsr166y.*"
922 jsr166 1.152 link="${java.api.url}"
923 jsr166 1.130 access="${build.javadoc.access}"
924 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
925     bootclasspath="${bootclasspath6}"
926 jsr166 1.107 source="6"
927 jsr166 1.118 executable="${javadoc7}">
928 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
929 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
930 dl 1.74
931 jsr166 1.118 </javadoc>
932 dl 1.74 </target>
933    
934    
935     <target name="jsr166ydist"
936 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
937 dl 1.74 description="Puts all distributable products in single hierarchy"/>
938    
939    
940     <target name="jsr166yclean"
941 jsr166 1.109 description="Removes all jsr166y build products">
942 dl 1.74
943     <delete dir="${build.jsr166y.dir}"/>
944    
945     </target>
946    
947    
948     <target name="jsr166ydist-jar"
949 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
950 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
951 jsr166 1.125 </target>
952 dl 1.74
953 jsr166 1.125 <target name="jsr166ydist-docs"
954     depends="jsr166yclean, jsr166ydocs">
955 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
956 dl 1.74 </target>
957    
958 dl 1.90
959 dl 1.76 <!-- extra166y -->
960    
961    
962     <target name="extra166ycompile"
963 jsr166 1.128 depends="configure-compiler, jsr166yjar"
964 dl 1.76 description="Compiles extra166y sources">
965    
966 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
967 dl 1.76
968 jsr166 1.103 <javac srcdir="${topsrc.dir}"
969 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
970 jsr166 1.103 debug="${build.debug}"
971     debuglevel="${build.debuglevel}"
972     deprecation="${build.deprecation}"
973 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
974 jsr166 1.105 classpath=""
975 jsr166 1.107 source="6"
976 jsr166 1.103 includeAntRuntime="false"
977     includeJavaRuntime="false"
978     executable="${javac7}"
979     fork="true">
980 dl 1.76
981 jsr166 1.103 <include name="extra166y/**/*.java"/>
982 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
983 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
984 jsr166 1.164 <compilerarg value="-Werror"/>
985 jsr166 1.118 <compilerarg line="${build.args}"/>
986 dl 1.76
987     </javac>
988     </target>
989    
990    
991 jsr166 1.128 <target name="extra166yjar"
992 dl 1.76 depends="extra166ycompile"
993     description="Builds library jar from compiled sources">
994    
995 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
996 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
997 dl 1.76 </jar>
998    
999     </target>
1000    
1001    
1002     <target name="extra166ydocs"
1003 jsr166 1.107 description="Builds javadocs to build dir">
1004 dl 1.76
1005 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1006     <mkdir dir="${extra166ydocs.dir}"/>
1007 dl 1.76
1008 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1009 jsr166 1.107 packagenames="extra166y.*"
1010 jsr166 1.152 link="${java.api.url}"
1011 jsr166 1.130 access="${build.javadoc.access}"
1012 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1013     bootclasspath="${bootclasspath6}"
1014 jsr166 1.107 source="6"
1015 jsr166 1.118 executable="${javadoc7}">
1016 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1017 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1018 dl 1.76
1019 jsr166 1.118 </javadoc>
1020 dl 1.76 </target>
1021    
1022    
1023     <target name="extra166ydist"
1024 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1025 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1026    
1027    
1028     <target name="extra166yclean"
1029 jsr166 1.109 description="Removes all extra166y build products">
1030 dl 1.76
1031     <delete dir="${build.extra166y.dir}"/>
1032    
1033     </target>
1034    
1035    
1036     <target name="extra166ydist-jar"
1037 jsr166 1.128 depends="extra166yclean, extra166yjar">
1038 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1039 jsr166 1.125 </target>
1040 dl 1.76
1041 jsr166 1.125 <target name="extra166ydist-docs"
1042     depends="extra166yclean, extra166ydocs">
1043 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1044 dl 1.76 </target>
1045    
1046 dl 1.90 <!-- jsr166e -->
1047    
1048 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1049     <property name="build.jsr166e.javac" value="${javac6}"/>
1050    
1051 dl 1.90 <target name="jsr166ecompile"
1052 jsr166 1.94 depends="configure-compiler"
1053 dl 1.90 description="Compiles jsr166e sources">
1054    
1055 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1056 dl 1.90
1057 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1058 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1059 jsr166 1.94 debug="${build.debug}"
1060     debuglevel="${build.debuglevel}"
1061     deprecation="${build.deprecation}"
1062 jsr166 1.144 source="${build.jsr166e.java.version}"
1063 jsr166 1.94 classpath=""
1064     includeAntRuntime="false"
1065     includeJavaRuntime="false"
1066 jsr166 1.144 executable="${build.jsr166e.javac}"
1067 jsr166 1.94 fork="true">
1068 dl 1.90
1069 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1070 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1071 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1072 jsr166 1.164 <compilerarg value="-Werror"/>
1073 jsr166 1.118 <compilerarg line="${build.args}"/>
1074 dl 1.90
1075     </javac>
1076     </target>
1077    
1078 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1079     <target name="jsr166edoclint">
1080    
1081     <mkdir dir="${build.jsr166e.classes.dir}"/>
1082    
1083     <javac srcdir="${topsrc.dir}"
1084     destdir="${build.jsr166e.classes.dir}"
1085     debug="${build.debug}"
1086     debuglevel="${build.debuglevel}"
1087     deprecation="${build.deprecation}"
1088     source="${build.jsr166e.java.version}"
1089     classpath=""
1090     bootclasspath="${bootclasspath7}"
1091     includeAntRuntime="false"
1092     includeJavaRuntime="false"
1093     executable="${javac8}"
1094     fork="true">
1095    
1096     <include name="jsr166e/**/*.java"/>
1097     <compilerarg value="-XDignore.symbol.file=true"/>
1098     <compilerarg value="-Xlint:all"/>
1099 jsr166 1.164 <compilerarg value="-Werror"/>
1100 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1101    
1102     </javac>
1103     </target>
1104    
1105 dl 1.90
1106 jsr166 1.128 <target name="jsr166ejar"
1107 dl 1.90 depends="jsr166ecompile"
1108     description="Builds library jar from compiled sources">
1109    
1110 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1111 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1112 dl 1.90 </jar>
1113    
1114     </target>
1115    
1116    
1117     <target name="jsr166edocs"
1118 jsr166 1.107 description="Builds javadocs to build dir">
1119 dl 1.90
1120 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1121     <mkdir dir="${jsr166edocs.dir}"/>
1122 dl 1.90
1123 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1124 jsr166 1.107 packagenames="jsr166e.*"
1125 jsr166 1.152 link="${java.api.url}"
1126 jsr166 1.130 access="${build.javadoc.access}"
1127 jsr166 1.144 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1128     source="${build.jsr166e.java.version}"
1129 jsr166 1.118 executable="${javadoc7}">
1130 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1131 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1132    
1133 jsr166 1.96 </javadoc>
1134 dl 1.90 </target>
1135    
1136    
1137 jsr166 1.144 <target name="jsr166e-test-tck-one-java-version"
1138 jsr166 1.148 depends="jsr166ejar">
1139 jsr166 1.122
1140 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1141    
1142 jsr166 1.122 <run-tck-tests
1143     tck.src.dir="${test.src.dir}/tck-jsr166e"
1144 jsr166 1.144 target="${build.jsr166e.java.version}"
1145 jsr166 1.122 workdir="${build.jsr166e.dir}"
1146     classes="${jsr166e.jar}"/>
1147     </target>
1148    
1149 jsr166 1.144 <target name="jsr166e-test-tck"
1150     description="Runs tck tests for jsr166e for multiple java versions">
1151    
1152     <!-- <antcall target="clean"/> -->
1153     <!-- <antcall target="jsr166e-test-tck-one-java-version"> -->
1154     <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1155     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1156     <!-- </antcall> -->
1157    
1158     <antcall target="clean"/>
1159     <antcall target="jsr166e-test-tck-one-java-version">
1160     <param name="build.jsr166e.java.version" value="7"/>
1161     <param name="build.jsr166e.javac" value="${javac7}"/>
1162     </antcall>
1163    
1164     <antcall target="clean"/>
1165     <antcall target="jsr166e-test-tck-one-java-version">
1166     <param name="build.jsr166e.java.version" value="6"/>
1167     <param name="build.jsr166e.javac" value="${javac6}"/>
1168     </antcall>
1169     </target>
1170    
1171 jsr166 1.122
1172 jsr166 1.147 <target name="jsr166e-test"
1173     depends="jsr166e-test-tck"
1174     description="Runs all tests for jsr166e">
1175     </target>
1176    
1177 dl 1.90 <target name="jsr166edist"
1178 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1179 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1180    
1181    
1182     <target name="jsr166eclean"
1183 jsr166 1.109 description="Removes all jsr166e build products">
1184 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1185     </target>
1186    
1187    
1188     <target name="jsr166edist-jar"
1189 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1190 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1191 jsr166 1.125 </target>
1192 dl 1.90
1193 jsr166 1.125 <target name="jsr166edist-docs"
1194     depends="jsr166eclean, jsr166edocs">
1195 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1196 dl 1.90 </target>
1197    
1198 jsr166 1.130
1199     <!-- Find buglets that can be detected by static build tools -->
1200    
1201     <target name="lint">
1202     <antcall target="dists">
1203 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1204     </antcall>
1205     </target>
1206    
1207     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1208     <target name="lint-private">
1209     <antcall target="dist">
1210 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1211     </antcall>
1212     </target>
1213    
1214    
1215 tim 1.1 </project>