ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.212
Committed: Sat May 21 00:35:58 2016 UTC (7 years, 11 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.211: +3 -2 lines
Log Message:
build jsr166.jar correctly

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.210 <!-- Run 'ant -projecthelp' (default target) -->
42 jsr166 1.148 <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.209 <!-- The expected canonical location does not yet exist as of 2016-04 -->
190 jsr166 1.152 <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
191 jsr166 1.209 <property name="java9.docroot.url" value="http://http://download.java.net/java/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.211 <compilerarg value="-Xpatch:java.base=${build.classes.dir}/java.base" 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.211 <jvmarg value="-Xpatch:java.base=${build.classes.dir}/java.base" 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 jsr166 1.173 <jtreg dir="${jtreg@{target}.src.dir}"
331 jsr166 1.135 jdk="${jdk@{target}.home}"
332     workDir="@{workdir}/JTwork"
333     reportDir="@{workdir}/JTreport">
334 jsr166 1.165 <patternset refid="jdk@{target}.jtreg.tests"/>
335 jsr166 1.182 <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
336 jsr166 1.211 <arg value="-vmoption:-Xpatch:java.base=${build.classes.dir}/java.base" if:set="modules"/>
337 jsr166 1.135 <arg value="-agentvm"/>
338 jsr166 1.188 <arg value="-verbose:${jtreg.verbose}"/>
339 jsr166 1.135 <arg value="-vmoptions:-esa -ea"/>
340     <arg value="-automatic"/>
341     <arg value="-k:!ignore"/>
342     <arg line="@{jtregflags}"/>
343 jsr166 1.195 <arg line="${jtreg.flags}"/>
344 jsr166 1.135 </jtreg>
345     </sequential>
346     </macrodef>
347    
348 jsr166 1.65 <!-- ALoops classpath -->
349     <path id="loops.classpath">
350     <pathelement location="${build.loops.dir}"/>
351     </path>
352    
353 jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
354 jsr166 1.120 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
355 jsr166 1.100 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
356 tim 1.28
357 tim 1.59 <!-- Main targets -->
358 tim 1.28
359 jsr166 1.151 <property name="build.main.java.version" value="9"/>
360     <property name="build.main.javac" value="${javac9}"/>
361    
362 dl 1.80 <target name="dists"
363 jsr166 1.200 depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
364 dl 1.80 description="Builds all public jars and docs"/>
365 tim 1.11
366 tim 1.28 <target name="compile"
367 jsr166 1.100 depends="configure-compiler"
368 jsr166 1.102 description="Compiles src/main sources to build dir">
369 tim 1.27
370 jsr166 1.182 <local name="modules"/>
371     <condition property="modules">
372     <and>
373     <available file="${jdk9.home}/jmods" type="dir"/>
374     <equals arg1="9" arg2="${build.main.java.version}"/>
375     </and>
376     </condition>
377    
378     <local name="destdir"/>
379     <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>
380     <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>
381    
382     <mkdir dir="${destdir}"/>
383 tim 1.27
384 tim 1.60 <javac srcdir="${src.dir}"
385 jsr166 1.182 destdir="${destdir}"
386 jsr166 1.100 debug="${build.debug}"
387     debuglevel="${build.debuglevel}"
388     deprecation="${build.deprecation}"
389     classpath=""
390     includeAntRuntime="false"
391     includeJavaRuntime="false"
392 jsr166 1.151 executable="${build.main.javac}"
393 jsr166 1.100 fork="true">
394 tim 1.1
395 jsr166 1.68 <include name="**/*.java"/>
396 jsr166 1.182 <compilerarg value="-Xmodule:java.base" if:set="modules"/>
397 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
398 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
399 jsr166 1.100 <compilerarg value="-Xlint:all"/>
400 jsr166 1.164 <compilerarg value="-Werror"/>
401 jsr166 1.146 <compilerarg value="-Xdoclint:all/protected"/>
402     <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
403 dl 1.73 <compilerarg line="${build.args}"/>
404 tim 1.1
405     </javac>
406     </target>
407    
408    
409 tim 1.28 <target name="jar"
410 tim 1.59 depends="compile"
411 jsr166 1.205 description="Builds library jar for src/main from compiled sources">
412 jsr166 1.212 <local name="subdir"/>
413     <available property="subdir" file="${build.classes.dir}/java.base" type="dir" value="/java.base"/>
414 tim 1.59 <jar destfile="${product.jar}">
415 jsr166 1.212 <fileset dir="${build.classes.dir}${subdir}"/>
416 jsr166 1.178 <manifest>
417 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
418     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
419 jsr166 1.178 </manifest>
420 tim 1.59 </jar>
421     </target>
422    
423 tim 1.1
424 tim 1.59 <target name="docs"
425 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
426 tim 1.59
427 jsr166 1.127 <delete dir="${docs.dir}"/>
428     <mkdir dir="${docs.dir}"/>
429 tim 1.59
430 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
431     <!-- sourcepath for packages -->
432    
433 jsr166 1.127 <javadoc destdir="${docs.dir}"
434 jsr166 1.88 packagenames="none"
435 jsr166 1.152 link="${java9.api.url}"
436 jsr166 1.88 overview="${src.dir}/intro.html"
437 jsr166 1.130 access="${build.javadoc.access}"
438 jsr166 1.199 sourcepath="${src.dir}:${jdk9.src.dir}"
439 jsr166 1.100 classpath=""
440 jsr166 1.151 executable="${javadoc9}">
441 jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
442     <include name="**/*.java"/>
443     </fileset>
444 jsr166 1.152 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
445 jsr166 1.146 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
446 jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
447 jsr166 1.182 <!-- TODO <arg value="-Xmodule:java.base"/> -->
448 jsr166 1.100 <arg value="-tag"/>
449     <arg value="${javadoc.jls.option}"/>
450 dl 1.143 <arg value="-tag"/>
451     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
452     <arg value="-tag"/>
453     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
454     <arg value="-tag"/>
455 jsr166 1.144 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
456 jsr166 1.198 <!-- tags added in jdk9 -->
457     <arg value="-tag"/>
458     <arg value="revised:X"/>
459     <arg value="-tag"/>
460     <arg value="spec:X"/>
461 tim 1.59 </javadoc>
462     </target>
463    
464    
465 tim 1.28 <target name="dist"
466 jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
467 tim 1.16 description="Puts all distributable products in single hierarchy"/>
468 tim 1.1
469 tim 1.58
470 tim 1.42 <target name="release"
471     depends="dist"
472     description="Puts entire CVS tree, plus distribution productions, in a jar">
473    
474     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
475    
476     <jar basedir="${basedir}" destfile="${release.jar}">
477 tim 1.58 <!-- <exclude name="build/**"/> -->
478 tim 1.42 <exclude name="${release.jar}"/>
479     <exclude name="user.properties"/>
480     <exclude name="etc/notes/**"/>
481 tim 1.58 <exclude name="src/emulation/**"/>
482 tim 1.44 <exclude name="**/SyntaxTest.java"/>
483 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
484 jsr166 1.178 <manifest>
485 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
486     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
487 jsr166 1.178 </manifest>
488 tim 1.42 </jar>
489     </target>
490 tim 1.1
491 tim 1.59
492 tim 1.11 <target name="clean"
493     description="Removes all build products">
494 tim 1.27
495 tim 1.11 <delete dir="${build.dir}"/>
496 tim 1.27
497 tim 1.1 </target>
498    
499    
500 tim 1.11 <target name="dist-clean"
501     description="Removes all build and distribution products">
502 tim 1.27
503 jsr166 1.148 <delete dir="${build.dir}"/>
504 tim 1.11 <delete dir="${dist.dir}"/>
505 tim 1.27
506 tim 1.9 </target>
507 tim 1.10
508    
509 tim 1.28 <target name="dist-jar"
510     depends="clean, jar">
511 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
512 jsr166 1.125 </target>
513 tim 1.27
514 jsr166 1.125 <target name="dist-docs"
515     depends="clean, docs">
516 jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
517 tim 1.11 </target>
518    
519 jsr166 1.174 <target name="tck"
520 jsr166 1.131 depends="jar"
521 jsr166 1.205 description="Runs tck tests for src/main directly">
522 jsr166 1.131
523     <run-tck-tests
524 jsr166 1.151 target="${build.main.java.version}"
525 jsr166 1.131 workdir="${build.dir}"
526     classes="${product.jar}"/>
527     </target>
528 tim 1.1
529 jsr166 1.174 <target name="tck-parallelism-1"
530 jsr166 1.208 description="Runs tck with common pool parallelism 1">
531 jsr166 1.174 <antcall target="tck">
532 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
533     </antcall>
534     </target>
535    
536 jsr166 1.174 <target name="tck-parallelism-0"
537 jsr166 1.208 description="Runs tck with common pool parallelism 0">
538 jsr166 1.174 <antcall target="tck">
539 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
540     </antcall>
541     </target>
542    
543 jsr166 1.174 <target name="jtreg"
544 jsr166 1.135 depends="jar"
545 jsr166 1.205 description="Runs jtreg tests for src/main using the jtreg ant task">
546 jsr166 1.135 <run-jtreg-tests
547 jsr166 1.151 target="${build.main.java.version}"
548 jsr166 1.135 workdir="${build.dir}"
549     classes="${product.jar}"/>
550     </target>
551    
552 jsr166 1.142 <target name="test"
553 jsr166 1.208 depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
554 jsr166 1.205 description="Runs tck and jtreg tests for src/main">
555 jsr166 1.135 </target>
556    
557 jsr166 1.205 <!-- <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
558 jsr166 1.168
559 jsr166 1.205 <!-- <antcall target="jtreg"> -->
560     <!-- <param name="build.main.java.version" value="8"/> -->
561     <!-- <param name="build.main.javac" value="${javac8}"/> -->
562     <!-- </antcall> -->
563 jsr166 1.168
564 jsr166 1.205 <!-- </target> -->
565 jsr166 1.168
566 jsr166 1.205 <!-- <target name="test89" -->
567     <!-- description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
568 jsr166 1.151
569 jsr166 1.205 <!-- <antcall target="clean"/> -->
570     <!-- <antcall target="test"> -->
571     <!-- <param name="build.main.java.version" value="8"/> -->
572     <!-- <param name="build.main.javac" value="${javac8}"/> -->
573     <!-- </antcall> -->
574 jsr166 1.151
575 jsr166 1.205 <!-- <antcall target="clean"/> -->
576     <!-- <antcall target="test"> -->
577     <!-- <param name="build.main.java.version" value="9"/> -->
578     <!-- <param name="build.main.javac" value="${javac9}"/> -->
579     <!-- </antcall> -->
580 jsr166 1.151
581 jsr166 1.205 <!-- </target> -->
582 jsr166 1.151
583 tim 1.18
584    
585 tim 1.32 <target name="configure-compiler">
586 jsr166 1.180 <fail message="ant version too old">
587     <condition>
588     <not> <antversion atleast="1.9.1"/> </not>
589     </condition>
590     </fail>
591 tim 1.54
592     <property name="unchecked.option" value="-Xlint:unchecked"/>
593    
594     <condition property="warnunchecked.arg" value="${unchecked.option}">
595 tim 1.57 <istrue value="${build.warnunchecked}"/>
596 tim 1.32 </condition>
597    
598 tim 1.37 <property name="warnunchecked.arg" value=""/>
599 tim 1.34
600 tim 1.32
601     <!-- Common options in javac invocations -->
602 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
603 tim 1.33
604     </target>
605    
606    
607 tim 1.28
608 jsr166 1.65 <!-- Various demos and test programs -->
609    
610    
611 jsr166 1.203 <!-- description="Benchmark from Doug Lea's AQS paper" -->
612     <target name="loops" depends="configure-compiler">
613 jsr166 1.65
614     <mkdir dir="${build.loops.dir}"/>
615    
616     <javac srcdir="${loops.src.dir}"
617     destdir="${build.loops.dir}"
618     debug="${build.debug}"
619     debuglevel="${build.debuglevel}"
620     deprecation="${build.deprecation}"
621     source="${build.sourcelevel}"
622 jsr166 1.191 target="${build.sourcelevel}"
623 jsr166 1.65 fork="true">
624    
625     <compilerarg line="${build.args}"/>
626     <classpath refid="loops.classpath"/>
627 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
628 jsr166 1.65
629     </javac>
630    
631     <java classname="ALoops" fork="true">
632     <classpath refid="loops.classpath"/>
633     </java>
634    
635     </target>
636    
637    
638 jsr166 1.166 <target name="compile-test-loops" depends="jar"
639     description="compile all the perf tests in src/test/loops">
640    
641     <mkdir dir="${build.dir}/test/loops"/>
642    
643     <javac srcdir="${basedir}/src/test/loops"
644     destdir="${build.dir}/test/loops"
645     debug="${build.debug}"
646     debuglevel="${build.debuglevel}"
647     deprecation="${build.deprecation}"
648     includeAntRuntime="false"
649     includeJavaRuntime="false"
650     executable="${javac9}"
651     fork="true">
652    
653     <include name="*.java"/>
654     <compilerarg value="-XDignore.symbol.file=true"/>
655 jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
656 jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
657     <compilerarg line="${build.args}"/>
658    
659     </javac>
660    
661     </target>
662    
663    
664 jsr166 1.200 <!-- jsr166 4jdk8 -->
665    
666     <target name="4jdk8compile"
667     depends="configure-compiler"
668     description="Compiles src/jdk8 sources, targeting jdk8">
669    
670     <mkdir dir="${build.4jdk8.classes.dir}"/>
671    
672     <javac srcdir="${4jdk8src.dir}"
673     destdir="${build.4jdk8.classes.dir}"
674     debug="${build.debug}"
675     debuglevel="${build.debuglevel}"
676     deprecation="${build.deprecation}"
677     source="8"
678     target="8"
679     classpath=""
680     bootclasspath="${bootclasspath8}"
681     includeAntRuntime="false"
682     includeJavaRuntime="false"
683     executable="${javac8}"
684     fork="true">
685    
686     <include name="**/*.java"/>
687     <compilerarg value="-Xprefer:source"/>
688     <compilerarg value="-XDignore.symbol.file=true"/>
689     <compilerarg value="-Xlint:all"/>
690     <compilerarg value="-Werror"/>
691     <compilerarg line="${build.args}"/>
692    
693     </javac>
694     </target>
695    
696     <target name="4jdk8doclint"
697     depends="configure-compiler"
698     description="Finds doclint warnings">
699    
700     <mkdir dir="${build.4jdk8.classes.dir}"/>
701    
702     <javac srcdir="${4jdk8src.dir}"
703     destdir="${build.4jdk8.classes.dir}"
704     debug="${build.debug}"
705     debuglevel="${build.debuglevel}"
706     deprecation="${build.deprecation}"
707     source="8"
708     target="8"
709     classpath=""
710     bootclasspath="${bootclasspath8}"
711     includeAntRuntime="false"
712     includeJavaRuntime="false"
713     executable="${javac8}"
714     fork="true">
715    
716     <include name="**/*.java"/>
717     <compilerarg value="-Xprefer:source"/>
718     <compilerarg value="-XDignore.symbol.file=true"/>
719     <compilerarg value="-Xlint:all"/>
720     <compilerarg value="-Xdoclint:all/protected"/>
721     <compilerarg line="${build.args}"/>
722    
723     </javac>
724     </target>
725    
726    
727     <target name="4jdk8jar"
728     depends="4jdk8compile"
729     description="Builds library jar from compiled sources">
730    
731     <jar destfile="${4jdk8product.jar}">
732     <fileset dir="${build.4jdk8.classes.dir}"/>
733     <manifest>
734     <attribute name="Built-By" value="${user.name}"/>
735     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
736     </manifest>
737     </jar>
738    
739     </target>
740    
741    
742     <target name="4jdk8-tck"
743     depends="4jdk8jar"
744     description="Runs tck tests for jsr166-4jdk8 directly">
745    
746     <run-tck-tests
747     target="8"
748     workdir="${build.4jdk8.dir}"
749     classes="${4jdk8product.jar}">
750     <javac-elements>
751     <!-- JDK9+ test classes -->
752     <exclude name="*9Test.java"/>
753     <exclude name="*10Test.java"/>
754     </javac-elements>
755     </run-tck-tests>
756     </target>
757    
758    
759     <target name="4jdk8-jtreg"
760     depends="4jdk8jar"
761     description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
762     <run-jtreg-tests
763     target="8"
764     workdir="${build.4jdk8.dir}"
765     classes="${4jdk8product.jar}"/>
766     </target>
767    
768    
769     <target name="4jdk8-test"
770     depends="4jdk8-tck, 4jdk8-jtreg"
771     description="Runs tck and jtreg tests for jsr166-4jdk8">
772     </target>
773    
774    
775     <target name="4jdk8docs"
776     description="Builds javadocs for src/jdk8 to dist dir">
777    
778     <delete dir="${4jdk8docs.dir}"/>
779     <mkdir dir="${4jdk8docs.dir}"/>
780    
781     <javadoc destdir="${4jdk8docs.dir}"
782     packagenames="none"
783     link="${java8.api.url}"
784     overview="${4jdk8src.dir}/intro.html"
785     access="${build.javadoc.access}"
786     sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
787     classpath=""
788 jsr166 1.206 executable="${javadoc8}"
789     failonerror = "true">
790 jsr166 1.200 <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
791     <include name="**/*.java"/>
792     </fileset>
793     <arg line="-Xdocrootparent ${java8.docroot.url}"/>
794     <arg value="-XDignore.symbol.file=true"/>
795     <arg value="-tag"/>
796     <arg value="${javadoc.jls.option}"/>
797     <arg value="-tag"/>
798     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
799     <arg value="-tag"/>
800     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
801     <arg value="-tag"/>
802     <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
803     </javadoc>
804     </target>
805    
806    
807     <target name="4jdk8dist"
808     depends="4jdk8dist-jar, 4jdk8dist-docs"
809     description="Puts all distributable products in single hierarchy"/>
810    
811    
812     <target name="4jdk8clean"
813     description="Removes all 4jdk8 build products">
814    
815     <delete dir="${build.4jdk8.dir}"/>
816    
817     </target>
818    
819    
820     <target name="4jdk8dist-jar"
821     depends="4jdk8clean, 4jdk8jar">
822     <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
823     </target>
824    
825    
826     <target name="4jdk8dist-docs"
827     depends="4jdk8clean, 4jdk8docs">
828     <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
829     </target>
830    
831    
832    
833 jsr166 1.99 <!-- jsr166 4jdk7 -->
834 jsr166 1.92
835 jsr166 1.99 <target name="4jdk7compile"
836 jsr166 1.92 depends="configure-compiler"
837 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
838 jsr166 1.92
839 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
840 jsr166 1.92
841 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
842     destdir="${build.4jdk7.classes.dir}"
843 jsr166 1.92 debug="${build.debug}"
844     debuglevel="${build.debuglevel}"
845     deprecation="${build.deprecation}"
846 jsr166 1.107 source="6"
847 jsr166 1.190 target="6"
848 jsr166 1.92 classpath=""
849 jsr166 1.119 bootclasspath="${bootclasspath6}"
850 jsr166 1.92 includeAntRuntime="false"
851     includeJavaRuntime="false"
852 jsr166 1.97 executable="${javac7}"
853 jsr166 1.92 fork="true">
854    
855     <include name="**/*.java"/>
856 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
857 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
858     <compilerarg value="-Xlint:all"/>
859 jsr166 1.164 <compilerarg value="-Werror"/>
860 jsr166 1.118 <compilerarg line="${build.args}"/>
861 jsr166 1.92
862     </javac>
863 jsr166 1.118 </target>
864 jsr166 1.92
865 jsr166 1.149 <target name="4jdk7doclint"
866     depends="configure-compiler"
867     description="Finds doclint warnings">
868    
869     <mkdir dir="${build.4jdk7.classes.dir}"/>
870    
871     <javac srcdir="${4jdk7src.dir}"
872     destdir="${build.4jdk7.classes.dir}"
873     debug="${build.debug}"
874     debuglevel="${build.debuglevel}"
875     deprecation="${build.deprecation}"
876     source="6"
877 jsr166 1.190 target="6"
878 jsr166 1.149 classpath=""
879 jsr166 1.190 bootclasspath="${bootclasspath6}"
880 jsr166 1.149 includeAntRuntime="false"
881     includeJavaRuntime="false"
882     executable="${javac8}"
883     fork="true">
884    
885     <include name="**/*.java"/>
886     <compilerarg value="-Xprefer:source"/>
887     <compilerarg value="-XDignore.symbol.file=true"/>
888     <compilerarg value="-Xlint:all"/>
889     <compilerarg value="-Xdoclint:all/protected"/>
890     <compilerarg line="${build.args}"/>
891    
892     </javac>
893     </target>
894    
895 jsr166 1.116
896 jsr166 1.128 <target name="4jdk7jar"
897 jsr166 1.116 depends="4jdk7compile"
898     description="Builds library jar from compiled sources">
899    
900     <jar destfile="${4jdk7product.jar}">
901 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
902 jsr166 1.178 <manifest>
903 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
904     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
905 jsr166 1.178 </manifest>
906 jsr166 1.97 </jar>
907    
908 jsr166 1.92 </target>
909    
910    
911 jsr166 1.174 <target name="4jdk7-tck"
912 jsr166 1.128 depends="4jdk7jar"
913 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
914 jsr166 1.116
915 jsr166 1.97 <run-tck-tests
916 jsr166 1.116 target="7"
917     workdir="${build.4jdk7.dir}"
918 jsr166 1.132 classes="${4jdk7product.jar}">
919     <javac-elements>
920 jsr166 1.134 <!-- JDK8+ test classes -->
921 jsr166 1.137 <exclude name="*8Test.java"/>
922 jsr166 1.151 <exclude name="*9Test.java"/>
923 jsr166 1.176 <exclude name="*10Test.java"/>
924 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
925     <exclude name="DoubleAdderTest.java"/>
926     <exclude name="LongAccumulatorTest.java"/>
927     <exclude name="LongAdderTest.java"/>
928 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
929 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
930 jsr166 1.132 <exclude name="StampedLockTest.java"/>
931 jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
932 jsr166 1.132 </javac-elements>
933     </run-tck-tests>
934 jsr166 1.97 </target>
935    
936    
937 jsr166 1.203 <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
938 jsr166 1.174 <target name="4jdk7-tck-junit"
939 jsr166 1.203 depends="4jdk7compile">
940 jsr166 1.97
941     <junit printsummary="true"
942     showoutput="true"
943     errorProperty="junit.failed"
944     failureProperty="junit.failed"
945     includeantruntime="true"
946     jvm="${java7}"
947     fork="true">
948    
949 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
950 jsr166 1.97 <jvmarg value="-server"/>
951 jsr166 1.92
952 jsr166 1.97 <classpath>
953     <pathelement location="${junit.jar}"/>
954 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
955 jsr166 1.97 </classpath>
956 jsr166 1.92
957 jsr166 1.97 <formatter type="brief"/>
958 jsr166 1.92
959 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
960 jsr166 1.97 </test>
961 jsr166 1.92
962 jsr166 1.97 </junit>
963 jsr166 1.92 </target>
964    
965 jsr166 1.174 <target name="4jdk7-jtreg"
966 jsr166 1.135 depends="4jdk7jar"
967 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
968 jsr166 1.135 <run-jtreg-tests
969     target="7"
970     workdir="${build.4jdk7.dir}"
971 jsr166 1.165 classes="${4jdk7product.jar}"/>
972 jsr166 1.115 </target>
973    
974    
975     <target name="4jdk7-test"
976 jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
977 jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
978     </target>
979    
980 jsr166 1.92
981 jsr166 1.99 <target name="4jdk7docs"
982 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
983 jsr166 1.92
984 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
985     <mkdir dir="${4jdk7docs.dir}"/>
986 jsr166 1.92
987 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
988 jsr166 1.92 packagenames="none"
989 jsr166 1.152 link="${java7.api.url}"
990 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
991 jsr166 1.130 access="${build.javadoc.access}"
992 jsr166 1.199 sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
993 jsr166 1.92 classpath=""
994 jsr166 1.206 executable="${javadoc7}"
995     failonerror = "true">
996 jsr166 1.99 <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
997 jsr166 1.92 <include name="**/*.java"/>
998     </fileset>
999 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
1000 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
1001 jsr166 1.92 </javadoc>
1002     </target>
1003    
1004    
1005 jsr166 1.99 <target name="4jdk7dist"
1006 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
1007 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
1008    
1009    
1010 jsr166 1.99 <target name="4jdk7clean"
1011 jsr166 1.109 description="Removes all 4jdk7 build products">
1012 jsr166 1.92
1013 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
1014 jsr166 1.92
1015     </target>
1016    
1017    
1018 jsr166 1.99 <target name="4jdk7dist-jar"
1019 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
1020 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
1021     </target>
1022 jsr166 1.92
1023    
1024 jsr166 1.125 <target name="4jdk7dist-docs"
1025     depends="4jdk7clean, 4jdk7docs">
1026 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
1027 jsr166 1.92 </target>
1028    
1029 jsr166 1.109
1030 dl 1.70 <!-- jsr166x -->
1031    
1032     <target name="jsr166xcompile"
1033 jsr166 1.103 depends="configure-compiler"
1034 jsr166 1.105 description="Compiles jsr166x sources to build dir">
1035 dl 1.70
1036 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
1037 dl 1.70
1038 jsr166 1.105 <javac srcdir="${topsrc.dir}"
1039 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
1040 jsr166 1.105 debug="${build.debug}"
1041     debuglevel="${build.debuglevel}"
1042     deprecation="${build.deprecation}"
1043     classpath=""
1044 jsr166 1.119 bootclasspath="${bootclasspath6}"
1045 jsr166 1.107 source="5"
1046 jsr166 1.190 target="5"
1047 jsr166 1.105 includeAntRuntime="false"
1048     includeJavaRuntime="false"
1049     executable="${javac7}"
1050     fork="true">
1051 dl 1.70
1052 jsr166 1.105 <include name="jsr166x/**/*.java"/>
1053 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
1054 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1055 jsr166 1.164 <compilerarg value="-Werror"/>
1056 jsr166 1.118 <compilerarg line="${build.args}"/>
1057 dl 1.70
1058     </javac>
1059     </target>
1060    
1061    
1062 jsr166 1.128 <target name="jsr166xjar"
1063 dl 1.70 depends="jsr166xcompile"
1064     description="Builds library jar from compiled sources">
1065    
1066 jsr166 1.106 <jar destfile="${jsr166x.jar}">
1067 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
1068 jsr166 1.178 <manifest>
1069 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1070     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1071 jsr166 1.178 </manifest>
1072 dl 1.70 </jar>
1073    
1074     </target>
1075    
1076    
1077     <target name="jsr166xdocs"
1078 jsr166 1.102 description="Builds javadocs to dist dir">
1079 dl 1.70
1080 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
1081     <mkdir dir="${jsr166xdocs.dir}"/>
1082 dl 1.70
1083 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
1084 jsr166 1.107 packagenames="jsr166x.*"
1085 jsr166 1.152 link="${java.api.url}"
1086 jsr166 1.130 access="${build.javadoc.access}"
1087 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1088 jsr166 1.119 bootclasspath="${bootclasspath6}"
1089 jsr166 1.107 source="5"
1090 jsr166 1.206 executable="${javadoc7}"
1091     failonerror = "true">
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.206 executable="${javadoc7}"
1184     failonerror = "true">
1185 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1186 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1187 dl 1.74
1188 jsr166 1.118 </javadoc>
1189 dl 1.74 </target>
1190    
1191    
1192     <target name="jsr166ydist"
1193 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
1194 dl 1.74 description="Puts all distributable products in single hierarchy"/>
1195    
1196    
1197     <target name="jsr166yclean"
1198 jsr166 1.109 description="Removes all jsr166y build products">
1199 dl 1.74
1200     <delete dir="${build.jsr166y.dir}"/>
1201    
1202     </target>
1203    
1204    
1205     <target name="jsr166ydist-jar"
1206 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
1207 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1208 jsr166 1.125 </target>
1209 dl 1.74
1210 jsr166 1.125 <target name="jsr166ydist-docs"
1211     depends="jsr166yclean, jsr166ydocs">
1212 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1213 dl 1.74 </target>
1214    
1215 dl 1.90
1216 dl 1.76 <!-- extra166y -->
1217    
1218    
1219     <target name="extra166ycompile"
1220 jsr166 1.128 depends="configure-compiler, jsr166yjar"
1221 dl 1.76 description="Compiles extra166y sources">
1222    
1223 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
1224 dl 1.76
1225 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1226 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
1227 jsr166 1.103 debug="${build.debug}"
1228     debuglevel="${build.debuglevel}"
1229     deprecation="${build.deprecation}"
1230 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1231 jsr166 1.105 classpath=""
1232 jsr166 1.107 source="6"
1233 jsr166 1.190 target="6"
1234 jsr166 1.103 includeAntRuntime="false"
1235     includeJavaRuntime="false"
1236     executable="${javac7}"
1237     fork="true">
1238 dl 1.76
1239 jsr166 1.103 <include name="extra166y/**/*.java"/>
1240 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1241 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1242 jsr166 1.164 <compilerarg value="-Werror"/>
1243 jsr166 1.118 <compilerarg line="${build.args}"/>
1244 dl 1.76
1245     </javac>
1246     </target>
1247    
1248    
1249 jsr166 1.128 <target name="extra166yjar"
1250 dl 1.76 depends="extra166ycompile"
1251     description="Builds library jar from compiled sources">
1252    
1253 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1254 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1255 jsr166 1.178 <manifest>
1256 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1257     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1258 jsr166 1.178 </manifest>
1259 dl 1.76 </jar>
1260    
1261     </target>
1262    
1263    
1264     <target name="extra166ydocs"
1265 jsr166 1.107 description="Builds javadocs to build dir">
1266 dl 1.76
1267 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1268     <mkdir dir="${extra166ydocs.dir}"/>
1269 dl 1.76
1270 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1271 jsr166 1.107 packagenames="extra166y.*"
1272 jsr166 1.152 link="${java.api.url}"
1273 jsr166 1.130 access="${build.javadoc.access}"
1274 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1275 jsr166 1.119 bootclasspath="${bootclasspath6}"
1276 jsr166 1.107 source="6"
1277 jsr166 1.118 executable="${javadoc7}">
1278 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1279 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1280 dl 1.76
1281 jsr166 1.118 </javadoc>
1282 dl 1.76 </target>
1283    
1284    
1285     <target name="extra166ydist"
1286 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1287 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1288    
1289    
1290     <target name="extra166yclean"
1291 jsr166 1.109 description="Removes all extra166y build products">
1292 dl 1.76
1293     <delete dir="${build.extra166y.dir}"/>
1294    
1295     </target>
1296    
1297    
1298     <target name="extra166ydist-jar"
1299 jsr166 1.128 depends="extra166yclean, extra166yjar">
1300 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1301 jsr166 1.125 </target>
1302 dl 1.76
1303 jsr166 1.125 <target name="extra166ydist-docs"
1304     depends="extra166yclean, extra166ydocs">
1305 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1306 dl 1.76 </target>
1307    
1308 dl 1.90 <!-- jsr166e -->
1309    
1310 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1311     <property name="build.jsr166e.javac" value="${javac6}"/>
1312    
1313 dl 1.90 <target name="jsr166ecompile"
1314 jsr166 1.94 depends="configure-compiler"
1315 dl 1.90 description="Compiles jsr166e sources">
1316    
1317 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1318 dl 1.90
1319 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1320 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1321 jsr166 1.94 debug="${build.debug}"
1322     debuglevel="${build.debuglevel}"
1323     deprecation="${build.deprecation}"
1324 jsr166 1.144 source="${build.jsr166e.java.version}"
1325 jsr166 1.190 target="${build.jsr166e.java.version}"
1326 jsr166 1.94 classpath=""
1327     includeAntRuntime="false"
1328     includeJavaRuntime="false"
1329 jsr166 1.144 executable="${build.jsr166e.javac}"
1330 jsr166 1.94 fork="true">
1331 dl 1.90
1332 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1333 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1334 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1335 jsr166 1.164 <compilerarg value="-Werror"/>
1336 jsr166 1.118 <compilerarg line="${build.args}"/>
1337 dl 1.90
1338     </javac>
1339     </target>
1340    
1341 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1342     <target name="jsr166edoclint">
1343    
1344     <mkdir dir="${build.jsr166e.classes.dir}"/>
1345    
1346     <javac srcdir="${topsrc.dir}"
1347     destdir="${build.jsr166e.classes.dir}"
1348     debug="${build.debug}"
1349     debuglevel="${build.debuglevel}"
1350     deprecation="${build.deprecation}"
1351     source="${build.jsr166e.java.version}"
1352 jsr166 1.190 target="${build.jsr166e.java.version}"
1353 jsr166 1.150 classpath=""
1354 jsr166 1.190 bootclasspath="${bootclasspath6}"
1355 jsr166 1.150 includeAntRuntime="false"
1356     includeJavaRuntime="false"
1357     executable="${javac8}"
1358     fork="true">
1359    
1360     <include name="jsr166e/**/*.java"/>
1361     <compilerarg value="-XDignore.symbol.file=true"/>
1362     <compilerarg value="-Xlint:all"/>
1363 jsr166 1.164 <compilerarg value="-Werror"/>
1364 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1365    
1366     </javac>
1367     </target>
1368    
1369 dl 1.90
1370 jsr166 1.128 <target name="jsr166ejar"
1371 dl 1.90 depends="jsr166ecompile"
1372     description="Builds library jar from compiled sources">
1373    
1374 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1375 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1376 jsr166 1.178 <manifest>
1377 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1378     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1379 jsr166 1.178 </manifest>
1380 dl 1.90 </jar>
1381    
1382     </target>
1383    
1384    
1385     <target name="jsr166edocs"
1386 jsr166 1.107 description="Builds javadocs to build dir">
1387 dl 1.90
1388 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1389     <mkdir dir="${jsr166edocs.dir}"/>
1390 dl 1.90
1391 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1392 jsr166 1.107 packagenames="jsr166e.*"
1393 jsr166 1.152 link="${java.api.url}"
1394 jsr166 1.130 access="${build.javadoc.access}"
1395 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1396 jsr166 1.144 source="${build.jsr166e.java.version}"
1397 jsr166 1.206 executable="${javadoc7}"
1398     failonerror = "true">
1399 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1400 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1401    
1402 jsr166 1.96 </javadoc>
1403 dl 1.90 </target>
1404    
1405    
1406 jsr166 1.174 <target name="jsr166e-tck-one-java-version"
1407 jsr166 1.148 depends="jsr166ejar">
1408 jsr166 1.122
1409 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1410    
1411 jsr166 1.122 <run-tck-tests
1412     tck.src.dir="${test.src.dir}/tck-jsr166e"
1413 jsr166 1.144 target="${build.jsr166e.java.version}"
1414 jsr166 1.122 workdir="${build.jsr166e.dir}"
1415     classes="${jsr166e.jar}"/>
1416     </target>
1417    
1418 jsr166 1.174 <target name="jsr166e-tck"
1419 jsr166 1.144 description="Runs tck tests for jsr166e for multiple java versions">
1420    
1421     <!-- <antcall target="clean"/> -->
1422 jsr166 1.174 <!-- <antcall target="jsr166e-tck-one-java-version"> -->
1423 jsr166 1.144 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1424     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1425     <!-- </antcall> -->
1426    
1427     <antcall target="clean"/>
1428 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1429 jsr166 1.144 <param name="build.jsr166e.java.version" value="7"/>
1430     <param name="build.jsr166e.javac" value="${javac7}"/>
1431     </antcall>
1432    
1433     <antcall target="clean"/>
1434 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1435 jsr166 1.144 <param name="build.jsr166e.java.version" value="6"/>
1436     <param name="build.jsr166e.javac" value="${javac6}"/>
1437     </antcall>
1438     </target>
1439    
1440 jsr166 1.122
1441 jsr166 1.147 <target name="jsr166e-test"
1442 jsr166 1.174 depends="jsr166e-tck"
1443 jsr166 1.147 description="Runs all tests for jsr166e">
1444     </target>
1445    
1446 dl 1.90 <target name="jsr166edist"
1447 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1448 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1449    
1450    
1451     <target name="jsr166eclean"
1452 jsr166 1.109 description="Removes all jsr166e build products">
1453 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1454     </target>
1455    
1456    
1457     <target name="jsr166edist-jar"
1458 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1459 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1460 jsr166 1.125 </target>
1461 dl 1.90
1462 jsr166 1.125 <target name="jsr166edist-docs"
1463     depends="jsr166eclean, jsr166edocs">
1464 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1465 dl 1.90 </target>
1466    
1467 jsr166 1.130
1468     <!-- Find buglets that can be detected by static build tools -->
1469    
1470     <target name="lint">
1471     <antcall target="dists">
1472 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1473     </antcall>
1474     </target>
1475    
1476     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1477     <target name="lint-private">
1478     <antcall target="dist">
1479 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1480     </antcall>
1481     </target>
1482    
1483    
1484 tim 1.1 </project>