ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.215
Committed: Mon Aug 29 23:38:30 2016 UTC (7 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.214: +1 -1 lines
Log Message:
fix typo for java9.docroot.url

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