ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.209
Committed: Sun Apr 17 18:51:48 2016 UTC (8 years ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.208: +2 -2 lines
Log Message:
incorporate gratuitous change to jdk9 docs location

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.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.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 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.196 <arg value="-Xpatch:${build.classes.dir}" 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 tim 1.59
413     <jar destfile="${product.jar}">
414     <fileset dir="${build.classes.dir}"/>
415 jsr166 1.178 <manifest>
416 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
417     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
418 jsr166 1.178 </manifest>
419 tim 1.59 </jar>
420     </target>
421    
422 tim 1.1
423 tim 1.59 <target name="docs"
424 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
425 tim 1.59
426 jsr166 1.127 <delete dir="${docs.dir}"/>
427     <mkdir dir="${docs.dir}"/>
428 tim 1.59
429 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
430     <!-- sourcepath for packages -->
431    
432 jsr166 1.127 <javadoc destdir="${docs.dir}"
433 jsr166 1.88 packagenames="none"
434 jsr166 1.152 link="${java9.api.url}"
435 jsr166 1.88 overview="${src.dir}/intro.html"
436 jsr166 1.130 access="${build.javadoc.access}"
437 jsr166 1.199 sourcepath="${src.dir}:${jdk9.src.dir}"
438 jsr166 1.100 classpath=""
439 jsr166 1.151 executable="${javadoc9}">
440 jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
441     <include name="**/*.java"/>
442     </fileset>
443 jsr166 1.152 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
444 jsr166 1.146 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
445 jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
446 jsr166 1.182 <!-- TODO <arg value="-Xmodule:java.base"/> -->
447 jsr166 1.100 <arg value="-tag"/>
448     <arg value="${javadoc.jls.option}"/>
449 dl 1.143 <arg value="-tag"/>
450     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
451     <arg value="-tag"/>
452     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
453     <arg value="-tag"/>
454 jsr166 1.144 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
455 jsr166 1.198 <!-- tags added in jdk9 -->
456     <arg value="-tag"/>
457     <arg value="revised:X"/>
458     <arg value="-tag"/>
459     <arg value="spec:X"/>
460 tim 1.59 </javadoc>
461     </target>
462    
463    
464 tim 1.28 <target name="dist"
465 jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
466 tim 1.16 description="Puts all distributable products in single hierarchy"/>
467 tim 1.1
468 tim 1.58
469 tim 1.42 <target name="release"
470     depends="dist"
471     description="Puts entire CVS tree, plus distribution productions, in a jar">
472    
473     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
474    
475     <jar basedir="${basedir}" destfile="${release.jar}">
476 tim 1.58 <!-- <exclude name="build/**"/> -->
477 tim 1.42 <exclude name="${release.jar}"/>
478     <exclude name="user.properties"/>
479     <exclude name="etc/notes/**"/>
480 tim 1.58 <exclude name="src/emulation/**"/>
481 tim 1.44 <exclude name="**/SyntaxTest.java"/>
482 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
483 jsr166 1.178 <manifest>
484 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
485     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
486 jsr166 1.178 </manifest>
487 tim 1.42 </jar>
488     </target>
489 tim 1.1
490 tim 1.59
491 tim 1.11 <target name="clean"
492     description="Removes all build products">
493 tim 1.27
494 tim 1.11 <delete dir="${build.dir}"/>
495 tim 1.27
496 tim 1.1 </target>
497    
498    
499 tim 1.11 <target name="dist-clean"
500     description="Removes all build and distribution products">
501 tim 1.27
502 jsr166 1.148 <delete dir="${build.dir}"/>
503 tim 1.11 <delete dir="${dist.dir}"/>
504 tim 1.27
505 tim 1.9 </target>
506 tim 1.10
507    
508 tim 1.28 <target name="dist-jar"
509     depends="clean, jar">
510 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
511 jsr166 1.125 </target>
512 tim 1.27
513 jsr166 1.125 <target name="dist-docs"
514     depends="clean, docs">
515 jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
516 tim 1.11 </target>
517    
518 jsr166 1.174 <target name="tck"
519 jsr166 1.131 depends="jar"
520 jsr166 1.205 description="Runs tck tests for src/main directly">
521 jsr166 1.131
522     <run-tck-tests
523 jsr166 1.151 target="${build.main.java.version}"
524 jsr166 1.131 workdir="${build.dir}"
525     classes="${product.jar}"/>
526     </target>
527 tim 1.1
528 jsr166 1.174 <target name="tck-parallelism-1"
529 jsr166 1.208 description="Runs tck with common pool parallelism 1">
530 jsr166 1.174 <antcall target="tck">
531 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
532     </antcall>
533     </target>
534    
535 jsr166 1.174 <target name="tck-parallelism-0"
536 jsr166 1.208 description="Runs tck with common pool parallelism 0">
537 jsr166 1.174 <antcall target="tck">
538 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
539     </antcall>
540     </target>
541    
542 jsr166 1.174 <target name="jtreg"
543 jsr166 1.135 depends="jar"
544 jsr166 1.205 description="Runs jtreg tests for src/main using the jtreg ant task">
545 jsr166 1.135 <run-jtreg-tests
546 jsr166 1.151 target="${build.main.java.version}"
547 jsr166 1.135 workdir="${build.dir}"
548     classes="${product.jar}"/>
549     </target>
550    
551 jsr166 1.142 <target name="test"
552 jsr166 1.208 depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
553 jsr166 1.205 description="Runs tck and jtreg tests for src/main">
554 jsr166 1.135 </target>
555    
556 jsr166 1.205 <!-- <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
557 jsr166 1.168
558 jsr166 1.205 <!-- <antcall target="jtreg"> -->
559     <!-- <param name="build.main.java.version" value="8"/> -->
560     <!-- <param name="build.main.javac" value="${javac8}"/> -->
561     <!-- </antcall> -->
562 jsr166 1.168
563 jsr166 1.205 <!-- </target> -->
564 jsr166 1.168
565 jsr166 1.205 <!-- <target name="test89" -->
566     <!-- description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
567 jsr166 1.151
568 jsr166 1.205 <!-- <antcall target="clean"/> -->
569     <!-- <antcall target="test"> -->
570     <!-- <param name="build.main.java.version" value="8"/> -->
571     <!-- <param name="build.main.javac" value="${javac8}"/> -->
572     <!-- </antcall> -->
573 jsr166 1.151
574 jsr166 1.205 <!-- <antcall target="clean"/> -->
575     <!-- <antcall target="test"> -->
576     <!-- <param name="build.main.java.version" value="9"/> -->
577     <!-- <param name="build.main.javac" value="${javac9}"/> -->
578     <!-- </antcall> -->
579 jsr166 1.151
580 jsr166 1.205 <!-- </target> -->
581 jsr166 1.151
582 tim 1.18
583    
584 tim 1.32 <target name="configure-compiler">
585 jsr166 1.180 <fail message="ant version too old">
586     <condition>
587     <not> <antversion atleast="1.9.1"/> </not>
588     </condition>
589     </fail>
590 tim 1.54
591     <property name="unchecked.option" value="-Xlint:unchecked"/>
592    
593     <condition property="warnunchecked.arg" value="${unchecked.option}">
594 tim 1.57 <istrue value="${build.warnunchecked}"/>
595 tim 1.32 </condition>
596    
597 tim 1.37 <property name="warnunchecked.arg" value=""/>
598 tim 1.34
599 tim 1.32
600     <!-- Common options in javac invocations -->
601 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
602 tim 1.33
603     </target>
604    
605    
606 tim 1.28
607 jsr166 1.65 <!-- Various demos and test programs -->
608    
609    
610 jsr166 1.203 <!-- description="Benchmark from Doug Lea's AQS paper" -->
611     <target name="loops" depends="configure-compiler">
612 jsr166 1.65
613     <mkdir dir="${build.loops.dir}"/>
614    
615     <javac srcdir="${loops.src.dir}"
616     destdir="${build.loops.dir}"
617     debug="${build.debug}"
618     debuglevel="${build.debuglevel}"
619     deprecation="${build.deprecation}"
620     source="${build.sourcelevel}"
621 jsr166 1.191 target="${build.sourcelevel}"
622 jsr166 1.65 fork="true">
623    
624     <compilerarg line="${build.args}"/>
625     <classpath refid="loops.classpath"/>
626 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
627 jsr166 1.65
628     </javac>
629    
630     <java classname="ALoops" fork="true">
631     <classpath refid="loops.classpath"/>
632     </java>
633    
634     </target>
635    
636    
637 jsr166 1.166 <target name="compile-test-loops" depends="jar"
638     description="compile all the perf tests in src/test/loops">
639    
640     <mkdir dir="${build.dir}/test/loops"/>
641    
642     <javac srcdir="${basedir}/src/test/loops"
643     destdir="${build.dir}/test/loops"
644     debug="${build.debug}"
645     debuglevel="${build.debuglevel}"
646     deprecation="${build.deprecation}"
647     includeAntRuntime="false"
648     includeJavaRuntime="false"
649     executable="${javac9}"
650     fork="true">
651    
652     <include name="*.java"/>
653     <compilerarg value="-XDignore.symbol.file=true"/>
654 jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
655 jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
656     <compilerarg line="${build.args}"/>
657    
658     </javac>
659    
660     </target>
661    
662    
663 jsr166 1.200 <!-- jsr166 4jdk8 -->
664    
665     <target name="4jdk8compile"
666     depends="configure-compiler"
667     description="Compiles src/jdk8 sources, targeting jdk8">
668    
669     <mkdir dir="${build.4jdk8.classes.dir}"/>
670    
671     <javac srcdir="${4jdk8src.dir}"
672     destdir="${build.4jdk8.classes.dir}"
673     debug="${build.debug}"
674     debuglevel="${build.debuglevel}"
675     deprecation="${build.deprecation}"
676     source="8"
677     target="8"
678     classpath=""
679     bootclasspath="${bootclasspath8}"
680     includeAntRuntime="false"
681     includeJavaRuntime="false"
682     executable="${javac8}"
683     fork="true">
684    
685     <include name="**/*.java"/>
686     <compilerarg value="-Xprefer:source"/>
687     <compilerarg value="-XDignore.symbol.file=true"/>
688     <compilerarg value="-Xlint:all"/>
689     <compilerarg value="-Werror"/>
690     <compilerarg line="${build.args}"/>
691    
692     </javac>
693     </target>
694    
695     <target name="4jdk8doclint"
696     depends="configure-compiler"
697     description="Finds doclint warnings">
698    
699     <mkdir dir="${build.4jdk8.classes.dir}"/>
700    
701     <javac srcdir="${4jdk8src.dir}"
702     destdir="${build.4jdk8.classes.dir}"
703     debug="${build.debug}"
704     debuglevel="${build.debuglevel}"
705     deprecation="${build.deprecation}"
706     source="8"
707     target="8"
708     classpath=""
709     bootclasspath="${bootclasspath8}"
710     includeAntRuntime="false"
711     includeJavaRuntime="false"
712     executable="${javac8}"
713     fork="true">
714    
715     <include name="**/*.java"/>
716     <compilerarg value="-Xprefer:source"/>
717     <compilerarg value="-XDignore.symbol.file=true"/>
718     <compilerarg value="-Xlint:all"/>
719     <compilerarg value="-Xdoclint:all/protected"/>
720     <compilerarg line="${build.args}"/>
721    
722     </javac>
723     </target>
724    
725    
726     <target name="4jdk8jar"
727     depends="4jdk8compile"
728     description="Builds library jar from compiled sources">
729    
730     <jar destfile="${4jdk8product.jar}">
731     <fileset dir="${build.4jdk8.classes.dir}"/>
732     <manifest>
733     <attribute name="Built-By" value="${user.name}"/>
734     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
735     </manifest>
736     </jar>
737    
738     </target>
739    
740    
741     <target name="4jdk8-tck"
742     depends="4jdk8jar"
743     description="Runs tck tests for jsr166-4jdk8 directly">
744    
745     <run-tck-tests
746     target="8"
747     workdir="${build.4jdk8.dir}"
748     classes="${4jdk8product.jar}">
749     <javac-elements>
750     <!-- JDK9+ test classes -->
751     <exclude name="*9Test.java"/>
752     <exclude name="*10Test.java"/>
753     </javac-elements>
754     </run-tck-tests>
755     </target>
756    
757    
758     <target name="4jdk8-jtreg"
759     depends="4jdk8jar"
760     description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
761     <run-jtreg-tests
762     target="8"
763     workdir="${build.4jdk8.dir}"
764     classes="${4jdk8product.jar}"/>
765     </target>
766    
767    
768     <target name="4jdk8-test"
769     depends="4jdk8-tck, 4jdk8-jtreg"
770     description="Runs tck and jtreg tests for jsr166-4jdk8">
771     </target>
772    
773    
774     <target name="4jdk8docs"
775     description="Builds javadocs for src/jdk8 to dist dir">
776    
777     <delete dir="${4jdk8docs.dir}"/>
778     <mkdir dir="${4jdk8docs.dir}"/>
779    
780     <javadoc destdir="${4jdk8docs.dir}"
781     packagenames="none"
782     link="${java8.api.url}"
783     overview="${4jdk8src.dir}/intro.html"
784     access="${build.javadoc.access}"
785     sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
786     classpath=""
787 jsr166 1.206 executable="${javadoc8}"
788     failonerror = "true">
789 jsr166 1.200 <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
790     <include name="**/*.java"/>
791     </fileset>
792     <arg line="-Xdocrootparent ${java8.docroot.url}"/>
793     <arg value="-XDignore.symbol.file=true"/>
794     <arg value="-tag"/>
795     <arg value="${javadoc.jls.option}"/>
796     <arg value="-tag"/>
797     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
798     <arg value="-tag"/>
799     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
800     <arg value="-tag"/>
801     <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
802     </javadoc>
803     </target>
804    
805    
806     <target name="4jdk8dist"
807     depends="4jdk8dist-jar, 4jdk8dist-docs"
808     description="Puts all distributable products in single hierarchy"/>
809    
810    
811     <target name="4jdk8clean"
812     description="Removes all 4jdk8 build products">
813    
814     <delete dir="${build.4jdk8.dir}"/>
815    
816     </target>
817    
818    
819     <target name="4jdk8dist-jar"
820     depends="4jdk8clean, 4jdk8jar">
821     <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
822     </target>
823    
824    
825     <target name="4jdk8dist-docs"
826     depends="4jdk8clean, 4jdk8docs">
827     <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
828     </target>
829    
830    
831    
832 jsr166 1.99 <!-- jsr166 4jdk7 -->
833 jsr166 1.92
834 jsr166 1.99 <target name="4jdk7compile"
835 jsr166 1.92 depends="configure-compiler"
836 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
837 jsr166 1.92
838 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
839 jsr166 1.92
840 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
841     destdir="${build.4jdk7.classes.dir}"
842 jsr166 1.92 debug="${build.debug}"
843     debuglevel="${build.debuglevel}"
844     deprecation="${build.deprecation}"
845 jsr166 1.107 source="6"
846 jsr166 1.190 target="6"
847 jsr166 1.92 classpath=""
848 jsr166 1.119 bootclasspath="${bootclasspath6}"
849 jsr166 1.92 includeAntRuntime="false"
850     includeJavaRuntime="false"
851 jsr166 1.97 executable="${javac7}"
852 jsr166 1.92 fork="true">
853    
854     <include name="**/*.java"/>
855 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
856 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
857     <compilerarg value="-Xlint:all"/>
858 jsr166 1.164 <compilerarg value="-Werror"/>
859 jsr166 1.118 <compilerarg line="${build.args}"/>
860 jsr166 1.92
861     </javac>
862 jsr166 1.118 </target>
863 jsr166 1.92
864 jsr166 1.149 <target name="4jdk7doclint"
865     depends="configure-compiler"
866     description="Finds doclint warnings">
867    
868     <mkdir dir="${build.4jdk7.classes.dir}"/>
869    
870     <javac srcdir="${4jdk7src.dir}"
871     destdir="${build.4jdk7.classes.dir}"
872     debug="${build.debug}"
873     debuglevel="${build.debuglevel}"
874     deprecation="${build.deprecation}"
875     source="6"
876 jsr166 1.190 target="6"
877 jsr166 1.149 classpath=""
878 jsr166 1.190 bootclasspath="${bootclasspath6}"
879 jsr166 1.149 includeAntRuntime="false"
880     includeJavaRuntime="false"
881     executable="${javac8}"
882     fork="true">
883    
884     <include name="**/*.java"/>
885     <compilerarg value="-Xprefer:source"/>
886     <compilerarg value="-XDignore.symbol.file=true"/>
887     <compilerarg value="-Xlint:all"/>
888     <compilerarg value="-Xdoclint:all/protected"/>
889     <compilerarg line="${build.args}"/>
890    
891     </javac>
892     </target>
893    
894 jsr166 1.116
895 jsr166 1.128 <target name="4jdk7jar"
896 jsr166 1.116 depends="4jdk7compile"
897     description="Builds library jar from compiled sources">
898    
899     <jar destfile="${4jdk7product.jar}">
900 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
901 jsr166 1.178 <manifest>
902 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
903     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
904 jsr166 1.178 </manifest>
905 jsr166 1.97 </jar>
906    
907 jsr166 1.92 </target>
908    
909    
910 jsr166 1.174 <target name="4jdk7-tck"
911 jsr166 1.128 depends="4jdk7jar"
912 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
913 jsr166 1.116
914 jsr166 1.97 <run-tck-tests
915 jsr166 1.116 target="7"
916     workdir="${build.4jdk7.dir}"
917 jsr166 1.132 classes="${4jdk7product.jar}">
918     <javac-elements>
919 jsr166 1.134 <!-- JDK8+ test classes -->
920 jsr166 1.137 <exclude name="*8Test.java"/>
921 jsr166 1.151 <exclude name="*9Test.java"/>
922 jsr166 1.176 <exclude name="*10Test.java"/>
923 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
924     <exclude name="DoubleAdderTest.java"/>
925     <exclude name="LongAccumulatorTest.java"/>
926     <exclude name="LongAdderTest.java"/>
927 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
928 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
929 jsr166 1.132 <exclude name="StampedLockTest.java"/>
930 jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
931 jsr166 1.132 </javac-elements>
932     </run-tck-tests>
933 jsr166 1.97 </target>
934    
935    
936 jsr166 1.203 <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
937 jsr166 1.174 <target name="4jdk7-tck-junit"
938 jsr166 1.203 depends="4jdk7compile">
939 jsr166 1.97
940     <junit printsummary="true"
941     showoutput="true"
942     errorProperty="junit.failed"
943     failureProperty="junit.failed"
944     includeantruntime="true"
945     jvm="${java7}"
946     fork="true">
947    
948 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
949 jsr166 1.97 <jvmarg value="-server"/>
950 jsr166 1.92
951 jsr166 1.97 <classpath>
952     <pathelement location="${junit.jar}"/>
953 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
954 jsr166 1.97 </classpath>
955 jsr166 1.92
956 jsr166 1.97 <formatter type="brief"/>
957 jsr166 1.92
958 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
959 jsr166 1.97 </test>
960 jsr166 1.92
961 jsr166 1.97 </junit>
962 jsr166 1.92 </target>
963    
964 jsr166 1.174 <target name="4jdk7-jtreg"
965 jsr166 1.135 depends="4jdk7jar"
966 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
967 jsr166 1.135 <run-jtreg-tests
968     target="7"
969     workdir="${build.4jdk7.dir}"
970 jsr166 1.165 classes="${4jdk7product.jar}"/>
971 jsr166 1.115 </target>
972    
973    
974     <target name="4jdk7-test"
975 jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
976 jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
977     </target>
978    
979 jsr166 1.92
980 jsr166 1.99 <target name="4jdk7docs"
981 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
982 jsr166 1.92
983 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
984     <mkdir dir="${4jdk7docs.dir}"/>
985 jsr166 1.92
986 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
987 jsr166 1.92 packagenames="none"
988 jsr166 1.152 link="${java7.api.url}"
989 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
990 jsr166 1.130 access="${build.javadoc.access}"
991 jsr166 1.199 sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
992 jsr166 1.92 classpath=""
993 jsr166 1.206 executable="${javadoc7}"
994     failonerror = "true">
995 jsr166 1.99 <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
996 jsr166 1.92 <include name="**/*.java"/>
997     </fileset>
998 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
999 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
1000 jsr166 1.92 </javadoc>
1001     </target>
1002    
1003    
1004 jsr166 1.99 <target name="4jdk7dist"
1005 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
1006 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
1007    
1008    
1009 jsr166 1.99 <target name="4jdk7clean"
1010 jsr166 1.109 description="Removes all 4jdk7 build products">
1011 jsr166 1.92
1012 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
1013 jsr166 1.92
1014     </target>
1015    
1016    
1017 jsr166 1.99 <target name="4jdk7dist-jar"
1018 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
1019 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
1020     </target>
1021 jsr166 1.92
1022    
1023 jsr166 1.125 <target name="4jdk7dist-docs"
1024     depends="4jdk7clean, 4jdk7docs">
1025 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
1026 jsr166 1.92 </target>
1027    
1028 jsr166 1.109
1029 dl 1.70 <!-- jsr166x -->
1030    
1031     <target name="jsr166xcompile"
1032 jsr166 1.103 depends="configure-compiler"
1033 jsr166 1.105 description="Compiles jsr166x sources to build dir">
1034 dl 1.70
1035 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
1036 dl 1.70
1037 jsr166 1.105 <javac srcdir="${topsrc.dir}"
1038 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
1039 jsr166 1.105 debug="${build.debug}"
1040     debuglevel="${build.debuglevel}"
1041     deprecation="${build.deprecation}"
1042     classpath=""
1043 jsr166 1.119 bootclasspath="${bootclasspath6}"
1044 jsr166 1.107 source="5"
1045 jsr166 1.190 target="5"
1046 jsr166 1.105 includeAntRuntime="false"
1047     includeJavaRuntime="false"
1048     executable="${javac7}"
1049     fork="true">
1050 dl 1.70
1051 jsr166 1.105 <include name="jsr166x/**/*.java"/>
1052 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
1053 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1054 jsr166 1.164 <compilerarg value="-Werror"/>
1055 jsr166 1.118 <compilerarg line="${build.args}"/>
1056 dl 1.70
1057     </javac>
1058     </target>
1059    
1060    
1061 jsr166 1.128 <target name="jsr166xjar"
1062 dl 1.70 depends="jsr166xcompile"
1063     description="Builds library jar from compiled sources">
1064    
1065 jsr166 1.106 <jar destfile="${jsr166x.jar}">
1066 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
1067 jsr166 1.178 <manifest>
1068 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1069     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1070 jsr166 1.178 </manifest>
1071 dl 1.70 </jar>
1072    
1073     </target>
1074    
1075    
1076     <target name="jsr166xdocs"
1077 jsr166 1.102 description="Builds javadocs to dist dir">
1078 dl 1.70
1079 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
1080     <mkdir dir="${jsr166xdocs.dir}"/>
1081 dl 1.70
1082 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
1083 jsr166 1.107 packagenames="jsr166x.*"
1084 jsr166 1.152 link="${java.api.url}"
1085 jsr166 1.130 access="${build.javadoc.access}"
1086 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1087 jsr166 1.119 bootclasspath="${bootclasspath6}"
1088 jsr166 1.107 source="5"
1089 jsr166 1.206 executable="${javadoc7}"
1090     failonerror = "true">
1091 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1092 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1093 dl 1.70
1094 jsr166 1.118 </javadoc>
1095 dl 1.70 </target>
1096    
1097    
1098     <target name="jsr166xdist"
1099 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
1100 dl 1.70 description="Puts all distributable products in single hierarchy"/>
1101    
1102    
1103     <target name="jsr166xclean"
1104 jsr166 1.109 description="Removes all jsr166x build products">
1105 dl 1.70
1106     <delete dir="${build.jsr166x.dir}"/>
1107    
1108     </target>
1109    
1110    
1111     <target name="jsr166xdist-jar"
1112 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
1113 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
1114 jsr166 1.125 </target>
1115 dl 1.70
1116 jsr166 1.125 <target name="jsr166xdist-docs"
1117     depends="jsr166xclean, jsr166xdocs">
1118 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
1119 dl 1.70 </target>
1120    
1121 dl 1.74 <!-- jsr166y -->
1122    
1123    
1124     <target name="jsr166ycompile"
1125 jsr166 1.103 depends="configure-compiler"
1126 dl 1.74 description="Compiles jsr166y sources">
1127    
1128 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
1129 dl 1.74
1130 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1131 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
1132 jsr166 1.103 debug="${build.debug}"
1133     debuglevel="${build.debuglevel}"
1134     deprecation="${build.deprecation}"
1135 jsr166 1.107 source="6"
1136 jsr166 1.189 target="6"
1137 jsr166 1.103 classpath=""
1138 jsr166 1.119 bootclasspath="${bootclasspath6}"
1139 jsr166 1.103 includeAntRuntime="false"
1140     includeJavaRuntime="false"
1141     executable="${javac7}"
1142     fork="true">
1143 dl 1.74
1144 jsr166 1.103 <include name="jsr166y/**/*.java"/>
1145 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1146 jsr166 1.103 <compilerarg value="-Xlint:all"/>
1147 jsr166 1.164 <compilerarg value="-Werror"/>
1148 jsr166 1.118 <compilerarg line="${build.args}"/>
1149    
1150 dl 1.74 </javac>
1151     </target>
1152    
1153    
1154 jsr166 1.128 <target name="jsr166yjar"
1155 dl 1.74 depends="jsr166ycompile"
1156     description="Builds library jar from compiled sources">
1157    
1158 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
1159 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
1160 jsr166 1.178 <manifest>
1161 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1162     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1163 jsr166 1.178 </manifest>
1164 dl 1.74 </jar>
1165    
1166     </target>
1167    
1168    
1169     <target name="jsr166ydocs"
1170 jsr166 1.102 description="Builds javadocs to dist dir">
1171 dl 1.74
1172 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
1173     <mkdir dir="${jsr166ydocs.dir}"/>
1174 dl 1.74
1175 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
1176 jsr166 1.107 packagenames="jsr166y.*"
1177 jsr166 1.152 link="${java.api.url}"
1178 jsr166 1.130 access="${build.javadoc.access}"
1179 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1180 jsr166 1.119 bootclasspath="${bootclasspath6}"
1181 jsr166 1.107 source="6"
1182 jsr166 1.206 executable="${javadoc7}"
1183     failonerror = "true">
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.206 executable="${javadoc7}"
1397     failonerror = "true">
1398 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1399 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1400    
1401 jsr166 1.96 </javadoc>
1402 dl 1.90 </target>
1403    
1404    
1405 jsr166 1.174 <target name="jsr166e-tck-one-java-version"
1406 jsr166 1.148 depends="jsr166ejar">
1407 jsr166 1.122
1408 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1409    
1410 jsr166 1.122 <run-tck-tests
1411     tck.src.dir="${test.src.dir}/tck-jsr166e"
1412 jsr166 1.144 target="${build.jsr166e.java.version}"
1413 jsr166 1.122 workdir="${build.jsr166e.dir}"
1414     classes="${jsr166e.jar}"/>
1415     </target>
1416    
1417 jsr166 1.174 <target name="jsr166e-tck"
1418 jsr166 1.144 description="Runs tck tests for jsr166e for multiple java versions">
1419    
1420     <!-- <antcall target="clean"/> -->
1421 jsr166 1.174 <!-- <antcall target="jsr166e-tck-one-java-version"> -->
1422 jsr166 1.144 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1423     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1424     <!-- </antcall> -->
1425    
1426     <antcall target="clean"/>
1427 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1428 jsr166 1.144 <param name="build.jsr166e.java.version" value="7"/>
1429     <param name="build.jsr166e.javac" value="${javac7}"/>
1430     </antcall>
1431    
1432     <antcall target="clean"/>
1433 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1434 jsr166 1.144 <param name="build.jsr166e.java.version" value="6"/>
1435     <param name="build.jsr166e.javac" value="${javac6}"/>
1436     </antcall>
1437     </target>
1438    
1439 jsr166 1.122
1440 jsr166 1.147 <target name="jsr166e-test"
1441 jsr166 1.174 depends="jsr166e-tck"
1442 jsr166 1.147 description="Runs all tests for jsr166e">
1443     </target>
1444    
1445 dl 1.90 <target name="jsr166edist"
1446 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1447 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1448    
1449    
1450     <target name="jsr166eclean"
1451 jsr166 1.109 description="Removes all jsr166e build products">
1452 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1453     </target>
1454    
1455    
1456     <target name="jsr166edist-jar"
1457 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1458 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1459 jsr166 1.125 </target>
1460 dl 1.90
1461 jsr166 1.125 <target name="jsr166edist-docs"
1462     depends="jsr166eclean, jsr166edocs">
1463 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1464 dl 1.90 </target>
1465    
1466 jsr166 1.130
1467     <!-- Find buglets that can be detected by static build tools -->
1468    
1469     <target name="lint">
1470     <antcall target="dists">
1471 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1472     </antcall>
1473     </target>
1474    
1475     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1476     <target name="lint-private">
1477     <antcall target="dist">
1478 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1479     </antcall>
1480     </target>
1481    
1482    
1483 tim 1.1 </project>