ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.216
Committed: Tue Aug 30 00:01:22 2016 UTC (7 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.215: +3 -2 lines
Log Message:
make jdk9 docs target work again!

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