ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.186
Committed: Wed Sep 30 18:12:20 2015 UTC (8 years, 6 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.185: +1 -1 lines
Log Message:
Run jtreg with "-verbose:nopass,fail,error"

File Contents

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