ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.206
Committed: Sun Mar 27 19:38:01 2016 UTC (8 years, 1 month ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.205: +10 -5 lines
Log Message:
sprinkle failonerror = "true" on most <javadoc> targets

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