ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.204
Committed: Sat Mar 26 17:21:13 2016 UTC (8 years, 1 month ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.203: +0 -5 lines
Log Message:
delete obsolete Contended.class hack

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     description="Builds library jar from compiled sources">
416    
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     description="Runs tck tests for main directly">
525    
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     description="Runs jtreg tests for main using the jtreg ant task">
549     <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.135 description="Runs tck and jtreg tests for main">
558     </target>
559    
560 jsr166 1.168 <target name="jtreg8" description="Runs jtreg tests with jdk8">
561    
562     <antcall target="jtreg">
563     <param name="build.main.java.version" value="8"/>
564     <param name="build.main.javac" value="${javac8}"/>
565     </antcall>
566    
567     </target>
568    
569 jsr166 1.151 <target name="test89"
570     description="Runs tck and jtreg tests for main for multiple java versions">
571    
572     <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    
578     <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    
584     </target>
585    
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     executable="${javadoc8}">
792     <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
793     <include name="**/*.java"/>
794     </fileset>
795     <arg line="-Xdocrootparent ${java8.docroot.url}"/>
796     <arg value="-XDignore.symbol.file=true"/>
797     <arg value="-tag"/>
798     <arg value="${javadoc.jls.option}"/>
799     <arg value="-tag"/>
800     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
801     <arg value="-tag"/>
802     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
803     <arg value="-tag"/>
804     <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
805     </javadoc>
806     </target>
807    
808    
809     <target name="4jdk8dist"
810     depends="4jdk8dist-jar, 4jdk8dist-docs"
811     description="Puts all distributable products in single hierarchy"/>
812    
813    
814     <target name="4jdk8clean"
815     description="Removes all 4jdk8 build products">
816    
817     <delete dir="${build.4jdk8.dir}"/>
818    
819     </target>
820    
821    
822     <target name="4jdk8dist-jar"
823     depends="4jdk8clean, 4jdk8jar">
824     <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
825     </target>
826    
827    
828     <target name="4jdk8dist-docs"
829     depends="4jdk8clean, 4jdk8docs">
830     <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
831     </target>
832    
833    
834    
835 jsr166 1.99 <!-- jsr166 4jdk7 -->
836 jsr166 1.92
837 jsr166 1.99 <target name="4jdk7compile"
838 jsr166 1.92 depends="configure-compiler"
839 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
840 jsr166 1.92
841 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
842 jsr166 1.92
843 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
844     destdir="${build.4jdk7.classes.dir}"
845 jsr166 1.92 debug="${build.debug}"
846     debuglevel="${build.debuglevel}"
847     deprecation="${build.deprecation}"
848 jsr166 1.107 source="6"
849 jsr166 1.190 target="6"
850 jsr166 1.92 classpath=""
851 jsr166 1.119 bootclasspath="${bootclasspath6}"
852 jsr166 1.92 includeAntRuntime="false"
853     includeJavaRuntime="false"
854 jsr166 1.97 executable="${javac7}"
855 jsr166 1.92 fork="true">
856    
857     <include name="**/*.java"/>
858 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
859 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
860     <compilerarg value="-Xlint:all"/>
861 jsr166 1.164 <compilerarg value="-Werror"/>
862 jsr166 1.118 <compilerarg line="${build.args}"/>
863 jsr166 1.92
864     </javac>
865 jsr166 1.118 </target>
866 jsr166 1.92
867 jsr166 1.149 <target name="4jdk7doclint"
868     depends="configure-compiler"
869     description="Finds doclint warnings">
870    
871     <mkdir dir="${build.4jdk7.classes.dir}"/>
872    
873     <javac srcdir="${4jdk7src.dir}"
874     destdir="${build.4jdk7.classes.dir}"
875     debug="${build.debug}"
876     debuglevel="${build.debuglevel}"
877     deprecation="${build.deprecation}"
878     source="6"
879 jsr166 1.190 target="6"
880 jsr166 1.149 classpath=""
881 jsr166 1.190 bootclasspath="${bootclasspath6}"
882 jsr166 1.149 includeAntRuntime="false"
883     includeJavaRuntime="false"
884     executable="${javac8}"
885     fork="true">
886    
887     <include name="**/*.java"/>
888     <compilerarg value="-Xprefer:source"/>
889     <compilerarg value="-XDignore.symbol.file=true"/>
890     <compilerarg value="-Xlint:all"/>
891     <compilerarg value="-Xdoclint:all/protected"/>
892     <compilerarg line="${build.args}"/>
893    
894     </javac>
895     </target>
896    
897 jsr166 1.116
898 jsr166 1.128 <target name="4jdk7jar"
899 jsr166 1.116 depends="4jdk7compile"
900     description="Builds library jar from compiled sources">
901    
902     <jar destfile="${4jdk7product.jar}">
903 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
904 jsr166 1.178 <manifest>
905 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
906     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
907 jsr166 1.178 </manifest>
908 jsr166 1.97 </jar>
909    
910 jsr166 1.92 </target>
911    
912    
913 jsr166 1.174 <target name="4jdk7-tck"
914 jsr166 1.128 depends="4jdk7jar"
915 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
916 jsr166 1.116
917 jsr166 1.97 <run-tck-tests
918 jsr166 1.116 target="7"
919     workdir="${build.4jdk7.dir}"
920 jsr166 1.132 classes="${4jdk7product.jar}">
921     <javac-elements>
922 jsr166 1.134 <!-- JDK8+ test classes -->
923 jsr166 1.137 <exclude name="*8Test.java"/>
924 jsr166 1.151 <exclude name="*9Test.java"/>
925 jsr166 1.176 <exclude name="*10Test.java"/>
926 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
927     <exclude name="DoubleAdderTest.java"/>
928     <exclude name="LongAccumulatorTest.java"/>
929     <exclude name="LongAdderTest.java"/>
930 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
931 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
932 jsr166 1.132 <exclude name="StampedLockTest.java"/>
933 jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
934 jsr166 1.132 </javac-elements>
935     </run-tck-tests>
936 jsr166 1.97 </target>
937    
938    
939 jsr166 1.203 <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
940 jsr166 1.174 <target name="4jdk7-tck-junit"
941 jsr166 1.203 depends="4jdk7compile">
942 jsr166 1.97
943     <junit printsummary="true"
944     showoutput="true"
945     errorProperty="junit.failed"
946     failureProperty="junit.failed"
947     includeantruntime="true"
948     jvm="${java7}"
949     fork="true">
950    
951 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
952 jsr166 1.97 <jvmarg value="-server"/>
953 jsr166 1.92
954 jsr166 1.97 <classpath>
955     <pathelement location="${junit.jar}"/>
956 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
957 jsr166 1.97 </classpath>
958 jsr166 1.92
959 jsr166 1.97 <formatter type="brief"/>
960 jsr166 1.92
961 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
962 jsr166 1.97 </test>
963 jsr166 1.92
964 jsr166 1.97 </junit>
965 jsr166 1.92 </target>
966    
967 jsr166 1.174 <target name="4jdk7-jtreg"
968 jsr166 1.135 depends="4jdk7jar"
969 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
970 jsr166 1.135 <run-jtreg-tests
971     target="7"
972     workdir="${build.4jdk7.dir}"
973 jsr166 1.165 classes="${4jdk7product.jar}"/>
974 jsr166 1.115 </target>
975    
976    
977     <target name="4jdk7-test"
978 jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
979 jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
980     </target>
981    
982 jsr166 1.92
983 jsr166 1.99 <target name="4jdk7docs"
984 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
985 jsr166 1.92
986 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
987     <mkdir dir="${4jdk7docs.dir}"/>
988 jsr166 1.92
989 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
990 jsr166 1.92 packagenames="none"
991 jsr166 1.152 link="${java7.api.url}"
992 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
993 jsr166 1.130 access="${build.javadoc.access}"
994 jsr166 1.199 sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
995 jsr166 1.92 classpath=""
996 jsr166 1.99 executable="${javadoc7}">
997     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
998 jsr166 1.92 <include name="**/*.java"/>
999     </fileset>
1000 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
1001 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
1002 jsr166 1.92 </javadoc>
1003     </target>
1004    
1005    
1006 jsr166 1.99 <target name="4jdk7dist"
1007 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
1008 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
1009    
1010    
1011 jsr166 1.99 <target name="4jdk7clean"
1012 jsr166 1.109 description="Removes all 4jdk7 build products">
1013 jsr166 1.92
1014 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
1015 jsr166 1.92
1016     </target>
1017    
1018    
1019 jsr166 1.99 <target name="4jdk7dist-jar"
1020 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
1021 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
1022     </target>
1023 jsr166 1.92
1024    
1025 jsr166 1.125 <target name="4jdk7dist-docs"
1026     depends="4jdk7clean, 4jdk7docs">
1027 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
1028 jsr166 1.92 </target>
1029    
1030 jsr166 1.109
1031 dl 1.70 <!-- jsr166x -->
1032    
1033     <target name="jsr166xcompile"
1034 jsr166 1.103 depends="configure-compiler"
1035 jsr166 1.105 description="Compiles jsr166x sources to build dir">
1036 dl 1.70
1037 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
1038 dl 1.70
1039 jsr166 1.105 <javac srcdir="${topsrc.dir}"
1040 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
1041 jsr166 1.105 debug="${build.debug}"
1042     debuglevel="${build.debuglevel}"
1043     deprecation="${build.deprecation}"
1044     classpath=""
1045 jsr166 1.119 bootclasspath="${bootclasspath6}"
1046 jsr166 1.107 source="5"
1047 jsr166 1.190 target="5"
1048 jsr166 1.105 includeAntRuntime="false"
1049     includeJavaRuntime="false"
1050     executable="${javac7}"
1051     fork="true">
1052 dl 1.70
1053 jsr166 1.105 <include name="jsr166x/**/*.java"/>
1054 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
1055 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1056 jsr166 1.164 <compilerarg value="-Werror"/>
1057 jsr166 1.118 <compilerarg line="${build.args}"/>
1058 dl 1.70
1059     </javac>
1060     </target>
1061    
1062    
1063 jsr166 1.128 <target name="jsr166xjar"
1064 dl 1.70 depends="jsr166xcompile"
1065     description="Builds library jar from compiled sources">
1066    
1067 jsr166 1.106 <jar destfile="${jsr166x.jar}">
1068 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
1069 jsr166 1.178 <manifest>
1070 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1071     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1072 jsr166 1.178 </manifest>
1073 dl 1.70 </jar>
1074    
1075     </target>
1076    
1077    
1078     <target name="jsr166xdocs"
1079 jsr166 1.102 description="Builds javadocs to dist dir">
1080 dl 1.70
1081 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
1082     <mkdir dir="${jsr166xdocs.dir}"/>
1083 dl 1.70
1084 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
1085 jsr166 1.107 packagenames="jsr166x.*"
1086 jsr166 1.152 link="${java.api.url}"
1087 jsr166 1.130 access="${build.javadoc.access}"
1088 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1089 jsr166 1.119 bootclasspath="${bootclasspath6}"
1090 jsr166 1.107 source="5"
1091 jsr166 1.118 executable="${javadoc7}">
1092 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1093 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1094 dl 1.70
1095 jsr166 1.118 </javadoc>
1096 dl 1.70 </target>
1097    
1098    
1099     <target name="jsr166xdist"
1100 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
1101 dl 1.70 description="Puts all distributable products in single hierarchy"/>
1102    
1103    
1104     <target name="jsr166xclean"
1105 jsr166 1.109 description="Removes all jsr166x build products">
1106 dl 1.70
1107     <delete dir="${build.jsr166x.dir}"/>
1108    
1109     </target>
1110    
1111    
1112     <target name="jsr166xdist-jar"
1113 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
1114 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
1115 jsr166 1.125 </target>
1116 dl 1.70
1117 jsr166 1.125 <target name="jsr166xdist-docs"
1118     depends="jsr166xclean, jsr166xdocs">
1119 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
1120 dl 1.70 </target>
1121    
1122 dl 1.74 <!-- jsr166y -->
1123    
1124    
1125     <target name="jsr166ycompile"
1126 jsr166 1.103 depends="configure-compiler"
1127 dl 1.74 description="Compiles jsr166y sources">
1128    
1129 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
1130 dl 1.74
1131 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1132 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
1133 jsr166 1.103 debug="${build.debug}"
1134     debuglevel="${build.debuglevel}"
1135     deprecation="${build.deprecation}"
1136 jsr166 1.107 source="6"
1137 jsr166 1.189 target="6"
1138 jsr166 1.103 classpath=""
1139 jsr166 1.119 bootclasspath="${bootclasspath6}"
1140 jsr166 1.103 includeAntRuntime="false"
1141     includeJavaRuntime="false"
1142     executable="${javac7}"
1143     fork="true">
1144 dl 1.74
1145 jsr166 1.103 <include name="jsr166y/**/*.java"/>
1146 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1147 jsr166 1.103 <compilerarg value="-Xlint:all"/>
1148 jsr166 1.164 <compilerarg value="-Werror"/>
1149 jsr166 1.118 <compilerarg line="${build.args}"/>
1150    
1151 dl 1.74 </javac>
1152     </target>
1153    
1154    
1155 jsr166 1.128 <target name="jsr166yjar"
1156 dl 1.74 depends="jsr166ycompile"
1157     description="Builds library jar from compiled sources">
1158    
1159 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
1160 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
1161 jsr166 1.178 <manifest>
1162 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1163     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1164 jsr166 1.178 </manifest>
1165 dl 1.74 </jar>
1166    
1167     </target>
1168    
1169    
1170     <target name="jsr166ydocs"
1171 jsr166 1.102 description="Builds javadocs to dist dir">
1172 dl 1.74
1173 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
1174     <mkdir dir="${jsr166ydocs.dir}"/>
1175 dl 1.74
1176 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
1177 jsr166 1.107 packagenames="jsr166y.*"
1178 jsr166 1.152 link="${java.api.url}"
1179 jsr166 1.130 access="${build.javadoc.access}"
1180 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1181 jsr166 1.119 bootclasspath="${bootclasspath6}"
1182 jsr166 1.107 source="6"
1183 jsr166 1.118 executable="${javadoc7}">
1184 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1185 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1186 dl 1.74
1187 jsr166 1.118 </javadoc>
1188 dl 1.74 </target>
1189    
1190    
1191     <target name="jsr166ydist"
1192 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
1193 dl 1.74 description="Puts all distributable products in single hierarchy"/>
1194    
1195    
1196     <target name="jsr166yclean"
1197 jsr166 1.109 description="Removes all jsr166y build products">
1198 dl 1.74
1199     <delete dir="${build.jsr166y.dir}"/>
1200    
1201     </target>
1202    
1203    
1204     <target name="jsr166ydist-jar"
1205 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
1206 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1207 jsr166 1.125 </target>
1208 dl 1.74
1209 jsr166 1.125 <target name="jsr166ydist-docs"
1210     depends="jsr166yclean, jsr166ydocs">
1211 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1212 dl 1.74 </target>
1213    
1214 dl 1.90
1215 dl 1.76 <!-- extra166y -->
1216    
1217    
1218     <target name="extra166ycompile"
1219 jsr166 1.128 depends="configure-compiler, jsr166yjar"
1220 dl 1.76 description="Compiles extra166y sources">
1221    
1222 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
1223 dl 1.76
1224 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1225 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
1226 jsr166 1.103 debug="${build.debug}"
1227     debuglevel="${build.debuglevel}"
1228     deprecation="${build.deprecation}"
1229 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1230 jsr166 1.105 classpath=""
1231 jsr166 1.107 source="6"
1232 jsr166 1.190 target="6"
1233 jsr166 1.103 includeAntRuntime="false"
1234     includeJavaRuntime="false"
1235     executable="${javac7}"
1236     fork="true">
1237 dl 1.76
1238 jsr166 1.103 <include name="extra166y/**/*.java"/>
1239 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1240 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1241 jsr166 1.164 <compilerarg value="-Werror"/>
1242 jsr166 1.118 <compilerarg line="${build.args}"/>
1243 dl 1.76
1244     </javac>
1245     </target>
1246    
1247    
1248 jsr166 1.128 <target name="extra166yjar"
1249 dl 1.76 depends="extra166ycompile"
1250     description="Builds library jar from compiled sources">
1251    
1252 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1253 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1254 jsr166 1.178 <manifest>
1255 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1256     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1257 jsr166 1.178 </manifest>
1258 dl 1.76 </jar>
1259    
1260     </target>
1261    
1262    
1263     <target name="extra166ydocs"
1264 jsr166 1.107 description="Builds javadocs to build dir">
1265 dl 1.76
1266 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1267     <mkdir dir="${extra166ydocs.dir}"/>
1268 dl 1.76
1269 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1270 jsr166 1.107 packagenames="extra166y.*"
1271 jsr166 1.152 link="${java.api.url}"
1272 jsr166 1.130 access="${build.javadoc.access}"
1273 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1274 jsr166 1.119 bootclasspath="${bootclasspath6}"
1275 jsr166 1.107 source="6"
1276 jsr166 1.118 executable="${javadoc7}">
1277 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1278 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1279 dl 1.76
1280 jsr166 1.118 </javadoc>
1281 dl 1.76 </target>
1282    
1283    
1284     <target name="extra166ydist"
1285 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1286 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1287    
1288    
1289     <target name="extra166yclean"
1290 jsr166 1.109 description="Removes all extra166y build products">
1291 dl 1.76
1292     <delete dir="${build.extra166y.dir}"/>
1293    
1294     </target>
1295    
1296    
1297     <target name="extra166ydist-jar"
1298 jsr166 1.128 depends="extra166yclean, extra166yjar">
1299 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1300 jsr166 1.125 </target>
1301 dl 1.76
1302 jsr166 1.125 <target name="extra166ydist-docs"
1303     depends="extra166yclean, extra166ydocs">
1304 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1305 dl 1.76 </target>
1306    
1307 dl 1.90 <!-- jsr166e -->
1308    
1309 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1310     <property name="build.jsr166e.javac" value="${javac6}"/>
1311    
1312 dl 1.90 <target name="jsr166ecompile"
1313 jsr166 1.94 depends="configure-compiler"
1314 dl 1.90 description="Compiles jsr166e sources">
1315    
1316 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1317 dl 1.90
1318 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1319 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1320 jsr166 1.94 debug="${build.debug}"
1321     debuglevel="${build.debuglevel}"
1322     deprecation="${build.deprecation}"
1323 jsr166 1.144 source="${build.jsr166e.java.version}"
1324 jsr166 1.190 target="${build.jsr166e.java.version}"
1325 jsr166 1.94 classpath=""
1326     includeAntRuntime="false"
1327     includeJavaRuntime="false"
1328 jsr166 1.144 executable="${build.jsr166e.javac}"
1329 jsr166 1.94 fork="true">
1330 dl 1.90
1331 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1332 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1333 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1334 jsr166 1.164 <compilerarg value="-Werror"/>
1335 jsr166 1.118 <compilerarg line="${build.args}"/>
1336 dl 1.90
1337     </javac>
1338     </target>
1339    
1340 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1341     <target name="jsr166edoclint">
1342    
1343     <mkdir dir="${build.jsr166e.classes.dir}"/>
1344    
1345     <javac srcdir="${topsrc.dir}"
1346     destdir="${build.jsr166e.classes.dir}"
1347     debug="${build.debug}"
1348     debuglevel="${build.debuglevel}"
1349     deprecation="${build.deprecation}"
1350     source="${build.jsr166e.java.version}"
1351 jsr166 1.190 target="${build.jsr166e.java.version}"
1352 jsr166 1.150 classpath=""
1353 jsr166 1.190 bootclasspath="${bootclasspath6}"
1354 jsr166 1.150 includeAntRuntime="false"
1355     includeJavaRuntime="false"
1356     executable="${javac8}"
1357     fork="true">
1358    
1359     <include name="jsr166e/**/*.java"/>
1360     <compilerarg value="-XDignore.symbol.file=true"/>
1361     <compilerarg value="-Xlint:all"/>
1362 jsr166 1.164 <compilerarg value="-Werror"/>
1363 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1364    
1365     </javac>
1366     </target>
1367    
1368 dl 1.90
1369 jsr166 1.128 <target name="jsr166ejar"
1370 dl 1.90 depends="jsr166ecompile"
1371     description="Builds library jar from compiled sources">
1372    
1373 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1374 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1375 jsr166 1.178 <manifest>
1376 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1377     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1378 jsr166 1.178 </manifest>
1379 dl 1.90 </jar>
1380    
1381     </target>
1382    
1383    
1384     <target name="jsr166edocs"
1385 jsr166 1.107 description="Builds javadocs to build dir">
1386 dl 1.90
1387 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1388     <mkdir dir="${jsr166edocs.dir}"/>
1389 dl 1.90
1390 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1391 jsr166 1.107 packagenames="jsr166e.*"
1392 jsr166 1.152 link="${java.api.url}"
1393 jsr166 1.130 access="${build.javadoc.access}"
1394 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1395 jsr166 1.144 source="${build.jsr166e.java.version}"
1396 jsr166 1.118 executable="${javadoc7}">
1397 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1398 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1399    
1400 jsr166 1.96 </javadoc>
1401 dl 1.90 </target>
1402    
1403    
1404 jsr166 1.174 <target name="jsr166e-tck-one-java-version"
1405 jsr166 1.148 depends="jsr166ejar">
1406 jsr166 1.122
1407 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1408    
1409 jsr166 1.122 <run-tck-tests
1410     tck.src.dir="${test.src.dir}/tck-jsr166e"
1411 jsr166 1.144 target="${build.jsr166e.java.version}"
1412 jsr166 1.122 workdir="${build.jsr166e.dir}"
1413     classes="${jsr166e.jar}"/>
1414     </target>
1415    
1416 jsr166 1.174 <target name="jsr166e-tck"
1417 jsr166 1.144 description="Runs tck tests for jsr166e for multiple java versions">
1418    
1419     <!-- <antcall target="clean"/> -->
1420 jsr166 1.174 <!-- <antcall target="jsr166e-tck-one-java-version"> -->
1421 jsr166 1.144 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1422     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1423     <!-- </antcall> -->
1424    
1425     <antcall target="clean"/>
1426 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1427 jsr166 1.144 <param name="build.jsr166e.java.version" value="7"/>
1428     <param name="build.jsr166e.javac" value="${javac7}"/>
1429     </antcall>
1430    
1431     <antcall target="clean"/>
1432 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1433 jsr166 1.144 <param name="build.jsr166e.java.version" value="6"/>
1434     <param name="build.jsr166e.javac" value="${javac6}"/>
1435     </antcall>
1436     </target>
1437    
1438 jsr166 1.122
1439 jsr166 1.147 <target name="jsr166e-test"
1440 jsr166 1.174 depends="jsr166e-tck"
1441 jsr166 1.147 description="Runs all tests for jsr166e">
1442     </target>
1443    
1444 dl 1.90 <target name="jsr166edist"
1445 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1446 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1447    
1448    
1449     <target name="jsr166eclean"
1450 jsr166 1.109 description="Removes all jsr166e build products">
1451 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1452     </target>
1453    
1454    
1455     <target name="jsr166edist-jar"
1456 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1457 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1458 jsr166 1.125 </target>
1459 dl 1.90
1460 jsr166 1.125 <target name="jsr166edist-docs"
1461     depends="jsr166eclean, jsr166edocs">
1462 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1463 dl 1.90 </target>
1464    
1465 jsr166 1.130
1466     <!-- Find buglets that can be detected by static build tools -->
1467    
1468     <target name="lint">
1469     <antcall target="dists">
1470 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1471     </antcall>
1472     </target>
1473    
1474     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1475     <target name="lint-private">
1476     <antcall target="dist">
1477 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1478     </antcall>
1479     </target>
1480    
1481    
1482 tim 1.1 </project>