ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.213
Committed: Sat Jun 4 23:49:29 2016 UTC (7 years, 10 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.212: +7 -0 lines
Log Message:
Add ant target tck-security-manager to test tck with security manager

File Contents

# User Rev Content
1 jsr166 1.177 <project name="jsr166" default="usage"
2     xmlns:if="ant:if" xmlns:unless="ant:unless">
3 tim 1.1
4     <description>
5 tim 1.29 ------------------------------------------------------------------------------
6     Build file for JSR-166
7 tim 1.18
8 tim 1.29 Usage: ant [target]
9    
10 jsr166 1.202 See http://gee.cs.oswego.edu/dl/concurrency-interest/index.html for
11     more details.
12    
13 tim 1.29 User-specific settings are read from user.properties.
14 tim 1.32 See user.properties.sample for an explanation of some useful settings.
15 jsr166 1.98
16     The repository contains all dependencies except for ant and the JDK
17     itself. Because the JDK version matters and because different
18     targets require different JDKs, we assume that users have created a
19     hierarchy containing:
20     $HOME/jdk/jdk6
21     $HOME/jdk/jdk7
22     $HOME/jdk/jdk8
23 jsr166 1.151 $HOME/jdk/jdk9
24 jsr166 1.99 where each of the above is a JDK or a symlink to same, and
25     $HOME/jdk/src/jdk6
26     $HOME/jdk/src/jdk7
27     $HOME/jdk/src/jdk8
28 jsr166 1.151 $HOME/jdk/src/jdk9
29 jsr166 1.99 where each of the above is a complete JDK source tree
30     (e.g. mercurial forest) or a symlink to same.
31 jsr166 1.159
32     Alternatively, define ant variables thus:
33 jsr166 1.199 ant -Djdk$N.home=... -Djdk$N.src.home=...
34 jsr166 1.159 for $N in 6 7 8 9 ...
35 jsr166 1.182
36 jsr166 1.202 As of 2016-03, the sources in src/main are for jdk9+ only. The "docs"
37     target is currently broken.
38 tim 1.29 ------------------------------------------------------------------------------
39 tim 1.18 </description>
40 tim 1.11
41 jsr166 1.210 <!-- Run 'ant -projecthelp' (default target) -->
42 jsr166 1.148 <target name="usage">
43 jsr166 1.129 <java classname="org.apache.tools.ant.Main">
44     <arg value="-projecthelp" />
45     </java>
46 tim 1.29 </target>
47 tim 1.3
48 jsr166 1.177 <!-- HOWTO printf debug: <echo message="prop=${prop}"/> -->
49 tim 1.11
50 tim 1.27 <!-- User-specific settings -->
51 tim 1.23 <property file="user.properties"/>
52 tim 1.27
53 tim 1.1
54     <!-- Compilation options -->
55 jsr166 1.114 <property name="build.sourcelevel" value="6"/>
56 tim 1.1 <property name="build.debug" value="true"/>
57     <property name="build.debuglevel" value="source,lines,vars"/>
58 tim 1.13 <property name="build.deprecation" value="false"/>
59 jsr166 1.130 <property name="build.javadoc.access" value="protected"/>
60 tim 1.1
61     <!-- Build locations -->
62 jsr166 1.79 <property name="build.dir" location="build"/>
63     <property name="build.classes.dir" location="${build.dir}/classes"/>
64     <property name="build.testcases.dir" location="${build.dir}/testcases"/>
65     <property name="build.loops.dir" location="${build.dir}/loops"/>
66     <property name="build.reports.dir" location="${build.dir}/reports"/>
67 jsr166 1.92
68 jsr166 1.109 <property name="build.4jdk7.dir" location="${build.dir}/jsr166-4jdk7"/>
69     <property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/>
70 jsr166 1.113 <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
71 jsr166 1.109 <property name="build.4jdk7.docs.dir" location="${build.4jdk7.dir}/docs"/>
72 jsr166 1.92
73 jsr166 1.200 <property name="build.4jdk8.dir" location="${build.dir}/jsr166-4jdk8"/>
74     <property name="build.4jdk8.classes.dir" location="${build.4jdk8.dir}/classes"/>
75     <property name="build.4jdk8.tck.classes.dir" location="${build.4jdk8.dir}/tck-classes"/>
76     <property name="build.4jdk8.docs.dir" location="${build.4jdk8.dir}/docs"/>
77    
78 jsr166 1.79 <property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/>
79     <property name="build.jsr166y.dir" location="${build.dir}/jsr166y"/>
80 dl 1.90 <property name="build.jsr166e.dir" location="${build.dir}/jsr166e"/>
81 jsr166 1.79 <property name="build.extra166y.dir" location="${build.dir}/extra166y"/>
82 dl 1.76
83 jsr166 1.126 <property name="build.jsr166x.classes.dir" location="${build.jsr166x.dir}/classes"/>
84     <property name="build.jsr166y.classes.dir" location="${build.jsr166y.dir}/classes"/>
85     <property name="build.jsr166e.classes.dir" location="${build.jsr166e.dir}/classes"/>
86     <property name="build.extra166y.classes.dir" location="${build.extra166y.dir}/classes"/>
87 jsr166 1.114
88 jsr166 1.118 <!-- JDK locations -->
89 jsr166 1.92 <property name="jdks.home" location="${user.home}/jdk"/>
90 jsr166 1.93
91     <macrodef name="defjdklocations">
92     <attribute name="v"/>
93     <sequential>
94 jsr166 1.199 <property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/>
95     <property name="java@{v}" location="${jdk@{v}.home}/bin/java"/>
96     <property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/>
97     <property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/>
98     <property name="jdk@{v}.src.home" location="${jdks.home}/src/jdk@{v}"/>
99 jsr166 1.181 <local name="have.java.base"/>
100     <available property="have.java.base"
101 jsr166 1.199 file="${jdk@{v}.src.home}/jdk/src/java.base/share/classes" type="dir"/>
102     <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/java.base/share/classes"
103 jsr166 1.181 if:set="have.java.base"/>
104 jsr166 1.199 <property name="jdk@{v}.src.dir" location="${jdk@{v}.src.home}/jdk/src/share/classes"
105 jsr166 1.181 unless:set="have.java.base"/>
106 jsr166 1.182 <local name="modules"/>
107     <available property="modules" file="${jdk@{v}.home}/jmods" type="dir"/>
108 jsr166 1.118 <local name="boot.jar.dir"/>
109 jsr166 1.182 <property name="boot.jar.dir" location="${jdk@{v}.home}/jre/lib" unless:set="modules"/>
110     <path id="bootclasspath@{v}" unless:set="modules">
111 jsr166 1.118 <pathelement path="${boot.jar.dir}/resources.jar"/>
112     <pathelement path="${boot.jar.dir}/rt.jar"/>
113     <pathelement path="${boot.jar.dir}/jsse.jar"/>
114     <pathelement path="${boot.jar.dir}/jce.jar"/>
115     <pathelement path="${boot.jar.dir}/charsets.jar"/>
116     </path>
117 jsr166 1.182 <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}" unless:set="modules"/>
118 jsr166 1.93 </sequential>
119     </macrodef>
120    
121 jsr166 1.125 <macrodef name="mirror-dir">
122     <attribute name="src"/>
123     <attribute name="dst"/>
124     <sequential>
125     <delete dir="@{dst}"/>
126     <mkdir dir="@{dst}"/>
127     <copy todir="@{dst}" preservelastmodified="true">
128     <fileset dir="@{src}"/>
129     </copy>
130     </sequential>
131     </macrodef>
132    
133 jsr166 1.93 <defjdklocations v="6"/>
134     <defjdklocations v="7"/>
135     <defjdklocations v="8"/>
136 jsr166 1.151 <defjdklocations v="9"/>
137 jsr166 1.92
138 tim 1.1 <!-- Source locations -->
139 tim 1.22 <property name="src.dir" location="${basedir}/src/main"/>
140     <property name="test.src.dir" location="${basedir}/src/test"/>
141 jsr166 1.65 <property name="loops.src.dir" location="${basedir}/src/loops"/>
142 tim 1.60 <property name="tck.src.dir" location="${test.src.dir}/tck"/>
143 jsr166 1.173 <property name="jtreg7.src.dir" location="${test.src.dir}/jtreg-jdk7"/>
144 jsr166 1.200 <property name="jtreg8.src.dir" location="${test.src.dir}/jtreg-jdk8"/>
145 jsr166 1.173 <property name="jtreg9.src.dir" location="${test.src.dir}/jtreg"/>
146     <property name="jtreg.src.dir" location="${jtreg9.src.dir}"/>
147 tim 1.1 <property name="lib.dir" location="${basedir}/lib"/>
148 tim 1.9 <property name="dist.dir" location="${basedir}/dist"/>
149 dl 1.70 <property name="topsrc.dir" location="${basedir}/src"/>
150 jsr166 1.99 <property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/>
151 jsr166 1.200 <property name="4jdk8src.dir" location="${topsrc.dir}/jdk8"/>
152 jsr166 1.92 <property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/>
153     <property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/>
154     <property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/>
155     <property name="extra166ysrc.dir" location="${topsrc.dir}/extra166y"/>
156 jsr166 1.91
157 jsr166 1.125 <!-- Javadoc locations -->
158 jsr166 1.127 <property name="docs.dir" location="${build.dir}/docs"/>
159     <property name="4jdk7docs.dir" location="${build.4jdk7.dir}/docs"/>
160 jsr166 1.200 <property name="4jdk8docs.dir" location="${build.4jdk8.dir}/docs"/>
161 jsr166 1.127 <property name="jsr166xdocs.dir" location="${build.jsr166x.dir}/docs"/>
162     <property name="jsr166ydocs.dir" location="${build.jsr166y.dir}/docs"/>
163     <property name="jsr166edocs.dir" location="${build.jsr166e.dir}/docs"/>
164     <property name="extra166ydocs.dir" location="${build.extra166y.dir}/docs"/>
165    
166     <property name="dist.docs.dir" location="${dist.dir}/docs"/>
167     <property name="dist.4jdk7docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/>
168 jsr166 1.200 <property name="dist.4jdk8docs.dir" location="${dist.dir}/jsr166-4jdk8docs"/>
169 jsr166 1.127 <property name="dist.jsr166xdocs.dir" location="${dist.dir}/jsr166xdocs"/>
170     <property name="dist.jsr166ydocs.dir" location="${dist.dir}/jsr166ydocs"/>
171     <property name="dist.jsr166edocs.dir" location="${dist.dir}/jsr166edocs"/>
172     <property name="dist.extra166ydocs.dir" location="${dist.dir}/extra166ydocs"/>
173 tim 1.1
174     <!-- Jar locations -->
175 jsr166 1.109 <property name="product.jar" location="${build.dir}/jsr166.jar"/>
176     <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
177 jsr166 1.200 <property name="4jdk8product.jar" location="${build.4jdk8.dir}/jsr166-4jdk8.jar"/>
178 jsr166 1.109 <property name="jsr166x.jar" location="${build.jsr166x.dir}/jsr166x.jar"/>
179     <property name="jsr166y.jar" location="${build.jsr166y.dir}/jsr166y.jar"/>
180     <property name="jsr166e.jar" location="${build.jsr166e.dir}/jsr166e.jar"/>
181     <property name="extra166y.jar" location="${build.extra166y.dir}/extra166y.jar"/>
182 jsr166 1.106 <property name="junit.jar" location="${lib.dir}/junit.jar"/>
183 jsr166 1.65
184 jsr166 1.152 <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
185     <property name="java5.docroot.url" value="http://docs.oracle.com/javase/1.5.0/docs"/>
186     <property name="java6.docroot.url" value="http://docs.oracle.com/javase/6/docs"/>
187     <property name="java7.docroot.url" value="http://docs.oracle.com/javase/7/docs"/>
188 jsr166 1.157 <property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/>
189 jsr166 1.209 <!-- The expected canonical location does not yet exist as of 2016-04 -->
190 jsr166 1.152 <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
191 jsr166 1.209 <property name="java9.docroot.url" value="http://http://download.java.net/java/jdk9/docs"/>
192 jsr166 1.152 <!-- Default jdk doc location (latest stable release seems best) -->
193 jsr166 1.157 <property name="java.docroot.url" value="${java8.docroot.url}"/>
194 jsr166 1.151
195 jsr166 1.152 <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
196     <property name="java5.api.url" value="${java5.docroot.url}/api/"/>
197     <property name="java6.api.url" value="${java6.docroot.url}/api/"/>
198     <property name="java7.api.url" value="${java7.docroot.url}/api/"/>
199     <property name="java8.api.url" value="${java8.docroot.url}/api/"/>
200     <property name="java9.api.url" value="${java9.docroot.url}/api/"/>
201     <property name="java.api.url" value="${java.docroot.url}/api/"/>
202 jsr166 1.91
203 jsr166 1.115 <!-- Define the "jtreg" task -->
204     <!-- See the docs in "jtreg -onlineHelp" -->
205     <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
206     classpath="${lib.dir}/jtreg.jar" />
207    
208 jsr166 1.183 <!-- Tck options; see JSR166TestCase.java
209     To profile a single tck test class:
210     ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
211     To stress test a single tck test class:
212     ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
213     To stress test a single tck test method:
214     ant -Djsr166.tckTestClass=RecursiveTaskTest -Djsr166.runsPerTest=1000 -Djsr166.methodFilter=testAbnormalInvokeAll3 tck
215     -->
216     <property name="jsr166.tckTestClass" value="JSR166TestCase"/>
217 jsr166 1.118 <macrodef name="run-tck-tests">
218 jsr166 1.122 <attribute name="tck.src.dir" default="${tck.src.dir}"/>
219 jsr166 1.118 <attribute name="target"/>
220 jsr166 1.138 <attribute name="compile-target" default="@{target}"/>
221 jsr166 1.118 <attribute name="workdir"/>
222 jsr166 1.122 <attribute name="classes"/>
223 dl 1.201 <!--
224     <attribute name="jvmflags" default="-XX:+UseParallelGC -XX:-UseBiasedLocking -ea -esa -Djsr166.testImplementationDetails=true"/>
225     -->
226     <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
227 jsr166 1.132 <element name="javac-elements" optional="true"/>
228 jsr166 1.182
229 jsr166 1.118 <sequential>
230    
231 jsr166 1.182 <local name="modules"/>
232     <condition property="modules">
233     <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>
234     </condition>
235    
236 jsr166 1.118 <mkdir dir="@{workdir}/tck-classes"/>
237    
238 jsr166 1.122 <javac srcdir="@{tck.src.dir}"
239 jsr166 1.118 destdir="@{workdir}/tck-classes"
240     debug="${build.debug}"
241     debuglevel="${build.debuglevel}"
242     deprecation="${build.deprecation}"
243 jsr166 1.138 source="@{compile-target}"
244     target="@{compile-target}"
245 jsr166 1.118 classpath="${junit.jar}"
246     includeAntRuntime="false"
247     includeJavaRuntime="false"
248 jsr166 1.138 executable="${javac@{compile-target}}"
249 jsr166 1.118 fork="true">
250    
251 jsr166 1.121 <include name="*.java"/>
252 jsr166 1.118 <compilerarg value="-XDignore.symbol.file=true"/>
253 jsr166 1.187 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
254 jsr166 1.182 <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
255 jsr166 1.211 <compilerarg value="-Xpatch:java.base=${build.classes.dir}/java.base" if:set="modules"/>
256 jsr166 1.118 <compilerarg line="${build.args}"/>
257 jsr166 1.132 <javac-elements/>
258 jsr166 1.118
259     </javac>
260    
261 jsr166 1.140 <java classname="${jsr166.tckTestClass}"
262 jsr166 1.118 failonerror="true"
263     jvm="${java@{target}}"
264     fork="true">
265 jsr166 1.182 <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
266 jsr166 1.211 <jvmarg value="-Xpatch:java.base=${build.classes.dir}/java.base" if:set="modules"/>
267 jsr166 1.118 <jvmarg line="@{jvmflags}"/>
268 jsr166 1.160
269 jsr166 1.174 <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
270 jsr166 1.183 <syspropertyset id="system-properties-used-by-tck">
271 jsr166 1.160 <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
272 jsr166 1.184 <propertyref prefix="jsr166."/>
273 jsr166 1.197 <propertyref name="test.timeout.factor"/>
274 jsr166 1.160 </syspropertyset>
275    
276 jsr166 1.118 <classpath>
277     <pathelement location="${junit.jar}"/>
278     <pathelement location="@{workdir}/tck-classes"/>
279     </classpath>
280     </java>
281    
282     </sequential>
283     </macrodef>
284    
285 jsr166 1.165 <!-- Define jtreg test sets for different jdk versions -->
286 jsr166 1.173 <fileset dir="${jtreg9.src.dir}">
287 jsr166 1.165 <patternset id="jdk9.jtreg.tests">
288     <include name="**/*.java"/>
289     </patternset>
290     </fileset>
291    
292 jsr166 1.173 <fileset dir="${jtreg8.src.dir}">
293 jsr166 1.165 <patternset id="jdk8.jtreg.tests">
294     <include name="**/*.java"/>
295 jsr166 1.173 <exclude name="**/SpliteratorCharacteristics.java"/>
296 jsr166 1.168 <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->
297 jsr166 1.173 <exclude name="**/GCDuringIteration.java"/>
298 jsr166 1.165 </patternset>
299     </fileset>
300    
301 jsr166 1.173 <fileset dir="${jtreg7.src.dir}">
302 jsr166 1.165 <patternset id="jdk7.jtreg.tests">
303     <include name="**/*.java"/>
304     </patternset>
305     </fileset>
306    
307 jsr166 1.195 <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
308     <property name="jtreg.flags" value=""/>
309    
310 jsr166 1.135 <macrodef name="run-jtreg-tests">
311 jsr166 1.174 <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
312 jsr166 1.135 <attribute name="source" default="7"/>
313     <attribute name="target"/>
314     <attribute name="workdir"/>
315     <attribute name="classes"/>
316     <attribute name="jtregflags" default=""/>
317 jsr166 1.182
318 jsr166 1.135 <sequential>
319 jsr166 1.182
320 jsr166 1.188 <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
321     <property name="jtreg.verbose" value="nopass,fail,error"/>
322    
323 jsr166 1.182 <local name="modules"/>
324     <condition property="modules">
325     <available file="${jdk@{target}.home}/jmods" type="dir"/>
326     </condition>
327    
328 jsr166 1.135 <delete dir="@{workdir}/JTwork" quiet="true"/>
329     <delete dir="@{workdir}/JTreport" quiet="true"/>
330 jsr166 1.173 <jtreg dir="${jtreg@{target}.src.dir}"
331 jsr166 1.135 jdk="${jdk@{target}.home}"
332     workDir="@{workdir}/JTwork"
333     reportDir="@{workdir}/JTreport">
334 jsr166 1.165 <patternset refid="jdk@{target}.jtreg.tests"/>
335 jsr166 1.182 <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
336 jsr166 1.211 <arg value="-vmoption:-Xpatch:java.base=${build.classes.dir}/java.base" if:set="modules"/>
337 jsr166 1.135 <arg value="-agentvm"/>
338 jsr166 1.188 <arg value="-verbose:${jtreg.verbose}"/>
339 jsr166 1.135 <arg value="-vmoptions:-esa -ea"/>
340     <arg value="-automatic"/>
341     <arg value="-k:!ignore"/>
342     <arg line="@{jtregflags}"/>
343 jsr166 1.195 <arg line="${jtreg.flags}"/>
344 jsr166 1.135 </jtreg>
345     </sequential>
346     </macrodef>
347    
348 jsr166 1.65 <!-- ALoops classpath -->
349     <path id="loops.classpath">
350     <pathelement location="${build.loops.dir}"/>
351     </path>
352    
353 jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
354 jsr166 1.120 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
355 jsr166 1.100 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
356 tim 1.28
357 tim 1.59 <!-- Main targets -->
358 tim 1.28
359 jsr166 1.151 <property name="build.main.java.version" value="9"/>
360     <property name="build.main.javac" value="${javac9}"/>
361    
362 dl 1.80 <target name="dists"
363 jsr166 1.200 depends="dist, 4jdk8dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
364 dl 1.80 description="Builds all public jars and docs"/>
365 tim 1.11
366 tim 1.28 <target name="compile"
367 jsr166 1.100 depends="configure-compiler"
368 jsr166 1.102 description="Compiles src/main sources to build dir">
369 tim 1.27
370 jsr166 1.182 <local name="modules"/>
371     <condition property="modules">
372     <and>
373     <available file="${jdk9.home}/jmods" type="dir"/>
374     <equals arg1="9" arg2="${build.main.java.version}"/>
375     </and>
376     </condition>
377    
378     <local name="destdir"/>
379     <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>
380     <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>
381    
382     <mkdir dir="${destdir}"/>
383 tim 1.27
384 tim 1.60 <javac srcdir="${src.dir}"
385 jsr166 1.182 destdir="${destdir}"
386 jsr166 1.100 debug="${build.debug}"
387     debuglevel="${build.debuglevel}"
388     deprecation="${build.deprecation}"
389     classpath=""
390     includeAntRuntime="false"
391     includeJavaRuntime="false"
392 jsr166 1.151 executable="${build.main.javac}"
393 jsr166 1.100 fork="true">
394 tim 1.1
395 jsr166 1.68 <include name="**/*.java"/>
396 jsr166 1.182 <compilerarg value="-Xmodule:java.base" if:set="modules"/>
397 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
398 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
399 jsr166 1.100 <compilerarg value="-Xlint:all"/>
400 jsr166 1.164 <compilerarg value="-Werror"/>
401 jsr166 1.146 <compilerarg value="-Xdoclint:all/protected"/>
402     <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
403 dl 1.73 <compilerarg line="${build.args}"/>
404 tim 1.1
405     </javac>
406     </target>
407    
408    
409 tim 1.28 <target name="jar"
410 tim 1.59 depends="compile"
411 jsr166 1.205 description="Builds library jar for src/main from compiled sources">
412 jsr166 1.212 <local name="subdir"/>
413     <available property="subdir" file="${build.classes.dir}/java.base" type="dir" value="/java.base"/>
414 tim 1.59 <jar destfile="${product.jar}">
415 jsr166 1.212 <fileset dir="${build.classes.dir}${subdir}"/>
416 jsr166 1.178 <manifest>
417 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
418     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
419 jsr166 1.178 </manifest>
420 tim 1.59 </jar>
421     </target>
422    
423 tim 1.1
424 tim 1.59 <target name="docs"
425 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
426 tim 1.59
427 jsr166 1.127 <delete dir="${docs.dir}"/>
428     <mkdir dir="${docs.dir}"/>
429 tim 1.59
430 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
431     <!-- sourcepath for packages -->
432    
433 jsr166 1.127 <javadoc destdir="${docs.dir}"
434 jsr166 1.88 packagenames="none"
435 jsr166 1.152 link="${java9.api.url}"
436 jsr166 1.88 overview="${src.dir}/intro.html"
437 jsr166 1.130 access="${build.javadoc.access}"
438 jsr166 1.199 sourcepath="${src.dir}:${jdk9.src.dir}"
439 jsr166 1.100 classpath=""
440 jsr166 1.151 executable="${javadoc9}">
441 jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
442     <include name="**/*.java"/>
443     </fileset>
444 jsr166 1.152 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
445 jsr166 1.146 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
446 jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
447 jsr166 1.182 <!-- TODO <arg value="-Xmodule:java.base"/> -->
448 jsr166 1.100 <arg value="-tag"/>
449     <arg value="${javadoc.jls.option}"/>
450 dl 1.143 <arg value="-tag"/>
451     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
452     <arg value="-tag"/>
453     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
454     <arg value="-tag"/>
455 jsr166 1.144 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
456 jsr166 1.198 <!-- tags added in jdk9 -->
457     <arg value="-tag"/>
458     <arg value="revised:X"/>
459     <arg value="-tag"/>
460     <arg value="spec:X"/>
461 tim 1.59 </javadoc>
462     </target>
463    
464    
465 tim 1.28 <target name="dist"
466 jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
467 tim 1.16 description="Puts all distributable products in single hierarchy"/>
468 tim 1.1
469 tim 1.58
470 tim 1.42 <target name="release"
471     depends="dist"
472     description="Puts entire CVS tree, plus distribution productions, in a jar">
473    
474     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
475    
476     <jar basedir="${basedir}" destfile="${release.jar}">
477 tim 1.58 <!-- <exclude name="build/**"/> -->
478 tim 1.42 <exclude name="${release.jar}"/>
479     <exclude name="user.properties"/>
480     <exclude name="etc/notes/**"/>
481 tim 1.58 <exclude name="src/emulation/**"/>
482 tim 1.44 <exclude name="**/SyntaxTest.java"/>
483 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
484 jsr166 1.178 <manifest>
485 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
486     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
487 jsr166 1.178 </manifest>
488 tim 1.42 </jar>
489     </target>
490 tim 1.1
491 tim 1.59
492 tim 1.11 <target name="clean"
493     description="Removes all build products">
494 tim 1.27
495 tim 1.11 <delete dir="${build.dir}"/>
496 tim 1.27
497 tim 1.1 </target>
498    
499    
500 tim 1.11 <target name="dist-clean"
501     description="Removes all build and distribution products">
502 tim 1.27
503 jsr166 1.148 <delete dir="${build.dir}"/>
504 tim 1.11 <delete dir="${dist.dir}"/>
505 tim 1.27
506 tim 1.9 </target>
507 tim 1.10
508    
509 tim 1.28 <target name="dist-jar"
510     depends="clean, jar">
511 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
512 jsr166 1.125 </target>
513 tim 1.27
514 jsr166 1.125 <target name="dist-docs"
515     depends="clean, docs">
516 jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
517 tim 1.11 </target>
518    
519 jsr166 1.174 <target name="tck"
520 jsr166 1.131 depends="jar"
521 jsr166 1.205 description="Runs tck tests for src/main directly">
522 jsr166 1.131
523     <run-tck-tests
524 jsr166 1.151 target="${build.main.java.version}"
525 jsr166 1.131 workdir="${build.dir}"
526     classes="${product.jar}"/>
527     </target>
528 tim 1.1
529 jsr166 1.174 <target name="tck-parallelism-1"
530 jsr166 1.208 description="Runs tck with common pool parallelism 1">
531 jsr166 1.174 <antcall target="tck">
532 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
533     </antcall>
534     </target>
535    
536 jsr166 1.174 <target name="tck-parallelism-0"
537 jsr166 1.208 description="Runs tck with common pool parallelism 0">
538 jsr166 1.174 <antcall target="tck">
539 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
540     </antcall>
541     </target>
542    
543 jsr166 1.213 <target name="tck-security-manager"
544     description="Runs tck with a security manager">
545     <antcall target="tck">
546     <param name="jsr166.useSecurityManager" value="true"/>
547     </antcall>
548     </target>
549    
550 jsr166 1.174 <target name="jtreg"
551 jsr166 1.135 depends="jar"
552 jsr166 1.205 description="Runs jtreg tests for src/main using the jtreg ant task">
553 jsr166 1.135 <run-jtreg-tests
554 jsr166 1.151 target="${build.main.java.version}"
555 jsr166 1.135 workdir="${build.dir}"
556     classes="${product.jar}"/>
557     </target>
558    
559 jsr166 1.142 <target name="test"
560 jsr166 1.208 depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
561 jsr166 1.205 description="Runs tck and jtreg tests for src/main">
562 jsr166 1.135 </target>
563    
564 jsr166 1.205 <!-- <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
565 jsr166 1.168
566 jsr166 1.205 <!-- <antcall target="jtreg"> -->
567     <!-- <param name="build.main.java.version" value="8"/> -->
568     <!-- <param name="build.main.javac" value="${javac8}"/> -->
569     <!-- </antcall> -->
570 jsr166 1.168
571 jsr166 1.205 <!-- </target> -->
572 jsr166 1.168
573 jsr166 1.205 <!-- <target name="test89" -->
574     <!-- description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
575 jsr166 1.151
576 jsr166 1.205 <!-- <antcall target="clean"/> -->
577     <!-- <antcall target="test"> -->
578     <!-- <param name="build.main.java.version" value="8"/> -->
579     <!-- <param name="build.main.javac" value="${javac8}"/> -->
580     <!-- </antcall> -->
581 jsr166 1.151
582 jsr166 1.205 <!-- <antcall target="clean"/> -->
583     <!-- <antcall target="test"> -->
584     <!-- <param name="build.main.java.version" value="9"/> -->
585     <!-- <param name="build.main.javac" value="${javac9}"/> -->
586     <!-- </antcall> -->
587 jsr166 1.151
588 jsr166 1.205 <!-- </target> -->
589 jsr166 1.151
590 tim 1.18
591    
592 tim 1.32 <target name="configure-compiler">
593 jsr166 1.180 <fail message="ant version too old">
594     <condition>
595     <not> <antversion atleast="1.9.1"/> </not>
596     </condition>
597     </fail>
598 tim 1.54
599     <property name="unchecked.option" value="-Xlint:unchecked"/>
600    
601     <condition property="warnunchecked.arg" value="${unchecked.option}">
602 tim 1.57 <istrue value="${build.warnunchecked}"/>
603 tim 1.32 </condition>
604    
605 tim 1.37 <property name="warnunchecked.arg" value=""/>
606 tim 1.34
607 tim 1.32
608     <!-- Common options in javac invocations -->
609 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
610 tim 1.33
611     </target>
612    
613    
614 tim 1.28
615 jsr166 1.65 <!-- Various demos and test programs -->
616    
617    
618 jsr166 1.203 <!-- description="Benchmark from Doug Lea's AQS paper" -->
619     <target name="loops" depends="configure-compiler">
620 jsr166 1.65
621     <mkdir dir="${build.loops.dir}"/>
622    
623     <javac srcdir="${loops.src.dir}"
624     destdir="${build.loops.dir}"
625     debug="${build.debug}"
626     debuglevel="${build.debuglevel}"
627     deprecation="${build.deprecation}"
628     source="${build.sourcelevel}"
629 jsr166 1.191 target="${build.sourcelevel}"
630 jsr166 1.65 fork="true">
631    
632     <compilerarg line="${build.args}"/>
633     <classpath refid="loops.classpath"/>
634 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
635 jsr166 1.65
636     </javac>
637    
638     <java classname="ALoops" fork="true">
639     <classpath refid="loops.classpath"/>
640     </java>
641    
642     </target>
643    
644    
645 jsr166 1.166 <target name="compile-test-loops" depends="jar"
646     description="compile all the perf tests in src/test/loops">
647    
648     <mkdir dir="${build.dir}/test/loops"/>
649    
650     <javac srcdir="${basedir}/src/test/loops"
651     destdir="${build.dir}/test/loops"
652     debug="${build.debug}"
653     debuglevel="${build.debuglevel}"
654     deprecation="${build.deprecation}"
655     includeAntRuntime="false"
656     includeJavaRuntime="false"
657     executable="${javac9}"
658     fork="true">
659    
660     <include name="*.java"/>
661     <compilerarg value="-XDignore.symbol.file=true"/>
662 jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
663 jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
664     <compilerarg line="${build.args}"/>
665    
666     </javac>
667    
668     </target>
669    
670    
671 jsr166 1.200 <!-- jsr166 4jdk8 -->
672    
673     <target name="4jdk8compile"
674     depends="configure-compiler"
675     description="Compiles src/jdk8 sources, targeting jdk8">
676    
677     <mkdir dir="${build.4jdk8.classes.dir}"/>
678    
679     <javac srcdir="${4jdk8src.dir}"
680     destdir="${build.4jdk8.classes.dir}"
681     debug="${build.debug}"
682     debuglevel="${build.debuglevel}"
683     deprecation="${build.deprecation}"
684     source="8"
685     target="8"
686     classpath=""
687     bootclasspath="${bootclasspath8}"
688     includeAntRuntime="false"
689     includeJavaRuntime="false"
690     executable="${javac8}"
691     fork="true">
692    
693     <include name="**/*.java"/>
694     <compilerarg value="-Xprefer:source"/>
695     <compilerarg value="-XDignore.symbol.file=true"/>
696     <compilerarg value="-Xlint:all"/>
697     <compilerarg value="-Werror"/>
698     <compilerarg line="${build.args}"/>
699    
700     </javac>
701     </target>
702    
703     <target name="4jdk8doclint"
704     depends="configure-compiler"
705     description="Finds doclint warnings">
706    
707     <mkdir dir="${build.4jdk8.classes.dir}"/>
708    
709     <javac srcdir="${4jdk8src.dir}"
710     destdir="${build.4jdk8.classes.dir}"
711     debug="${build.debug}"
712     debuglevel="${build.debuglevel}"
713     deprecation="${build.deprecation}"
714     source="8"
715     target="8"
716     classpath=""
717     bootclasspath="${bootclasspath8}"
718     includeAntRuntime="false"
719     includeJavaRuntime="false"
720     executable="${javac8}"
721     fork="true">
722    
723     <include name="**/*.java"/>
724     <compilerarg value="-Xprefer:source"/>
725     <compilerarg value="-XDignore.symbol.file=true"/>
726     <compilerarg value="-Xlint:all"/>
727     <compilerarg value="-Xdoclint:all/protected"/>
728     <compilerarg line="${build.args}"/>
729    
730     </javac>
731     </target>
732    
733    
734     <target name="4jdk8jar"
735     depends="4jdk8compile"
736     description="Builds library jar from compiled sources">
737    
738     <jar destfile="${4jdk8product.jar}">
739     <fileset dir="${build.4jdk8.classes.dir}"/>
740     <manifest>
741     <attribute name="Built-By" value="${user.name}"/>
742     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
743     </manifest>
744     </jar>
745    
746     </target>
747    
748    
749     <target name="4jdk8-tck"
750     depends="4jdk8jar"
751     description="Runs tck tests for jsr166-4jdk8 directly">
752    
753     <run-tck-tests
754     target="8"
755     workdir="${build.4jdk8.dir}"
756     classes="${4jdk8product.jar}">
757     <javac-elements>
758     <!-- JDK9+ test classes -->
759     <exclude name="*9Test.java"/>
760     <exclude name="*10Test.java"/>
761     </javac-elements>
762     </run-tck-tests>
763     </target>
764    
765    
766     <target name="4jdk8-jtreg"
767     depends="4jdk8jar"
768     description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
769     <run-jtreg-tests
770     target="8"
771     workdir="${build.4jdk8.dir}"
772     classes="${4jdk8product.jar}"/>
773     </target>
774    
775    
776     <target name="4jdk8-test"
777     depends="4jdk8-tck, 4jdk8-jtreg"
778     description="Runs tck and jtreg tests for jsr166-4jdk8">
779     </target>
780    
781    
782     <target name="4jdk8docs"
783     description="Builds javadocs for src/jdk8 to dist dir">
784    
785     <delete dir="${4jdk8docs.dir}"/>
786     <mkdir dir="${4jdk8docs.dir}"/>
787    
788     <javadoc destdir="${4jdk8docs.dir}"
789     packagenames="none"
790     link="${java8.api.url}"
791     overview="${4jdk8src.dir}/intro.html"
792     access="${build.javadoc.access}"
793     sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
794     classpath=""
795 jsr166 1.206 executable="${javadoc8}"
796     failonerror = "true">
797 jsr166 1.200 <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
798     <include name="**/*.java"/>
799     </fileset>
800     <arg line="-Xdocrootparent ${java8.docroot.url}"/>
801     <arg value="-XDignore.symbol.file=true"/>
802     <arg value="-tag"/>
803     <arg value="${javadoc.jls.option}"/>
804     <arg value="-tag"/>
805     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
806     <arg value="-tag"/>
807     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
808     <arg value="-tag"/>
809     <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
810     </javadoc>
811     </target>
812    
813    
814     <target name="4jdk8dist"
815     depends="4jdk8dist-jar, 4jdk8dist-docs"
816     description="Puts all distributable products in single hierarchy"/>
817    
818    
819     <target name="4jdk8clean"
820     description="Removes all 4jdk8 build products">
821    
822     <delete dir="${build.4jdk8.dir}"/>
823    
824     </target>
825    
826    
827     <target name="4jdk8dist-jar"
828     depends="4jdk8clean, 4jdk8jar">
829     <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
830     </target>
831    
832    
833     <target name="4jdk8dist-docs"
834     depends="4jdk8clean, 4jdk8docs">
835     <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
836     </target>
837    
838    
839    
840 jsr166 1.99 <!-- jsr166 4jdk7 -->
841 jsr166 1.92
842 jsr166 1.99 <target name="4jdk7compile"
843 jsr166 1.92 depends="configure-compiler"
844 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
845 jsr166 1.92
846 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
847 jsr166 1.92
848 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
849     destdir="${build.4jdk7.classes.dir}"
850 jsr166 1.92 debug="${build.debug}"
851     debuglevel="${build.debuglevel}"
852     deprecation="${build.deprecation}"
853 jsr166 1.107 source="6"
854 jsr166 1.190 target="6"
855 jsr166 1.92 classpath=""
856 jsr166 1.119 bootclasspath="${bootclasspath6}"
857 jsr166 1.92 includeAntRuntime="false"
858     includeJavaRuntime="false"
859 jsr166 1.97 executable="${javac7}"
860 jsr166 1.92 fork="true">
861    
862     <include name="**/*.java"/>
863 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
864 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
865     <compilerarg value="-Xlint:all"/>
866 jsr166 1.164 <compilerarg value="-Werror"/>
867 jsr166 1.118 <compilerarg line="${build.args}"/>
868 jsr166 1.92
869     </javac>
870 jsr166 1.118 </target>
871 jsr166 1.92
872 jsr166 1.149 <target name="4jdk7doclint"
873     depends="configure-compiler"
874     description="Finds doclint warnings">
875    
876     <mkdir dir="${build.4jdk7.classes.dir}"/>
877    
878     <javac srcdir="${4jdk7src.dir}"
879     destdir="${build.4jdk7.classes.dir}"
880     debug="${build.debug}"
881     debuglevel="${build.debuglevel}"
882     deprecation="${build.deprecation}"
883     source="6"
884 jsr166 1.190 target="6"
885 jsr166 1.149 classpath=""
886 jsr166 1.190 bootclasspath="${bootclasspath6}"
887 jsr166 1.149 includeAntRuntime="false"
888     includeJavaRuntime="false"
889     executable="${javac8}"
890     fork="true">
891    
892     <include name="**/*.java"/>
893     <compilerarg value="-Xprefer:source"/>
894     <compilerarg value="-XDignore.symbol.file=true"/>
895     <compilerarg value="-Xlint:all"/>
896     <compilerarg value="-Xdoclint:all/protected"/>
897     <compilerarg line="${build.args}"/>
898    
899     </javac>
900     </target>
901    
902 jsr166 1.116
903 jsr166 1.128 <target name="4jdk7jar"
904 jsr166 1.116 depends="4jdk7compile"
905     description="Builds library jar from compiled sources">
906    
907     <jar destfile="${4jdk7product.jar}">
908 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
909 jsr166 1.178 <manifest>
910 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
911     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
912 jsr166 1.178 </manifest>
913 jsr166 1.97 </jar>
914    
915 jsr166 1.92 </target>
916    
917    
918 jsr166 1.174 <target name="4jdk7-tck"
919 jsr166 1.128 depends="4jdk7jar"
920 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
921 jsr166 1.116
922 jsr166 1.97 <run-tck-tests
923 jsr166 1.116 target="7"
924     workdir="${build.4jdk7.dir}"
925 jsr166 1.132 classes="${4jdk7product.jar}">
926     <javac-elements>
927 jsr166 1.134 <!-- JDK8+ test classes -->
928 jsr166 1.137 <exclude name="*8Test.java"/>
929 jsr166 1.151 <exclude name="*9Test.java"/>
930 jsr166 1.176 <exclude name="*10Test.java"/>
931 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
932     <exclude name="DoubleAdderTest.java"/>
933     <exclude name="LongAccumulatorTest.java"/>
934     <exclude name="LongAdderTest.java"/>
935 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
936 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
937 jsr166 1.132 <exclude name="StampedLockTest.java"/>
938 jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
939 jsr166 1.132 </javac-elements>
940     </run-tck-tests>
941 jsr166 1.97 </target>
942    
943    
944 jsr166 1.203 <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
945 jsr166 1.174 <target name="4jdk7-tck-junit"
946 jsr166 1.203 depends="4jdk7compile">
947 jsr166 1.97
948     <junit printsummary="true"
949     showoutput="true"
950     errorProperty="junit.failed"
951     failureProperty="junit.failed"
952     includeantruntime="true"
953     jvm="${java7}"
954     fork="true">
955    
956 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
957 jsr166 1.97 <jvmarg value="-server"/>
958 jsr166 1.92
959 jsr166 1.97 <classpath>
960     <pathelement location="${junit.jar}"/>
961 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
962 jsr166 1.97 </classpath>
963 jsr166 1.92
964 jsr166 1.97 <formatter type="brief"/>
965 jsr166 1.92
966 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
967 jsr166 1.97 </test>
968 jsr166 1.92
969 jsr166 1.97 </junit>
970 jsr166 1.92 </target>
971    
972 jsr166 1.174 <target name="4jdk7-jtreg"
973 jsr166 1.135 depends="4jdk7jar"
974 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
975 jsr166 1.135 <run-jtreg-tests
976     target="7"
977     workdir="${build.4jdk7.dir}"
978 jsr166 1.165 classes="${4jdk7product.jar}"/>
979 jsr166 1.115 </target>
980    
981    
982     <target name="4jdk7-test"
983 jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
984 jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
985     </target>
986    
987 jsr166 1.92
988 jsr166 1.99 <target name="4jdk7docs"
989 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
990 jsr166 1.92
991 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
992     <mkdir dir="${4jdk7docs.dir}"/>
993 jsr166 1.92
994 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
995 jsr166 1.92 packagenames="none"
996 jsr166 1.152 link="${java7.api.url}"
997 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
998 jsr166 1.130 access="${build.javadoc.access}"
999 jsr166 1.199 sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
1000 jsr166 1.92 classpath=""
1001 jsr166 1.206 executable="${javadoc7}"
1002     failonerror = "true">
1003 jsr166 1.99 <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
1004 jsr166 1.92 <include name="**/*.java"/>
1005     </fileset>
1006 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
1007 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
1008 jsr166 1.92 </javadoc>
1009     </target>
1010    
1011    
1012 jsr166 1.99 <target name="4jdk7dist"
1013 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
1014 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
1015    
1016    
1017 jsr166 1.99 <target name="4jdk7clean"
1018 jsr166 1.109 description="Removes all 4jdk7 build products">
1019 jsr166 1.92
1020 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
1021 jsr166 1.92
1022     </target>
1023    
1024    
1025 jsr166 1.99 <target name="4jdk7dist-jar"
1026 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
1027 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
1028     </target>
1029 jsr166 1.92
1030    
1031 jsr166 1.125 <target name="4jdk7dist-docs"
1032     depends="4jdk7clean, 4jdk7docs">
1033 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
1034 jsr166 1.92 </target>
1035    
1036 jsr166 1.109
1037 dl 1.70 <!-- jsr166x -->
1038    
1039     <target name="jsr166xcompile"
1040 jsr166 1.103 depends="configure-compiler"
1041 jsr166 1.105 description="Compiles jsr166x sources to build dir">
1042 dl 1.70
1043 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
1044 dl 1.70
1045 jsr166 1.105 <javac srcdir="${topsrc.dir}"
1046 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
1047 jsr166 1.105 debug="${build.debug}"
1048     debuglevel="${build.debuglevel}"
1049     deprecation="${build.deprecation}"
1050     classpath=""
1051 jsr166 1.119 bootclasspath="${bootclasspath6}"
1052 jsr166 1.107 source="5"
1053 jsr166 1.190 target="5"
1054 jsr166 1.105 includeAntRuntime="false"
1055     includeJavaRuntime="false"
1056     executable="${javac7}"
1057     fork="true">
1058 dl 1.70
1059 jsr166 1.105 <include name="jsr166x/**/*.java"/>
1060 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
1061 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1062 jsr166 1.164 <compilerarg value="-Werror"/>
1063 jsr166 1.118 <compilerarg line="${build.args}"/>
1064 dl 1.70
1065     </javac>
1066     </target>
1067    
1068    
1069 jsr166 1.128 <target name="jsr166xjar"
1070 dl 1.70 depends="jsr166xcompile"
1071     description="Builds library jar from compiled sources">
1072    
1073 jsr166 1.106 <jar destfile="${jsr166x.jar}">
1074 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
1075 jsr166 1.178 <manifest>
1076 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1077     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1078 jsr166 1.178 </manifest>
1079 dl 1.70 </jar>
1080    
1081     </target>
1082    
1083    
1084     <target name="jsr166xdocs"
1085 jsr166 1.102 description="Builds javadocs to dist dir">
1086 dl 1.70
1087 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
1088     <mkdir dir="${jsr166xdocs.dir}"/>
1089 dl 1.70
1090 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
1091 jsr166 1.107 packagenames="jsr166x.*"
1092 jsr166 1.152 link="${java.api.url}"
1093 jsr166 1.130 access="${build.javadoc.access}"
1094 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1095 jsr166 1.119 bootclasspath="${bootclasspath6}"
1096 jsr166 1.107 source="5"
1097 jsr166 1.206 executable="${javadoc7}"
1098     failonerror = "true">
1099 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1100 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1101 dl 1.70
1102 jsr166 1.118 </javadoc>
1103 dl 1.70 </target>
1104    
1105    
1106     <target name="jsr166xdist"
1107 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
1108 dl 1.70 description="Puts all distributable products in single hierarchy"/>
1109    
1110    
1111     <target name="jsr166xclean"
1112 jsr166 1.109 description="Removes all jsr166x build products">
1113 dl 1.70
1114     <delete dir="${build.jsr166x.dir}"/>
1115    
1116     </target>
1117    
1118    
1119     <target name="jsr166xdist-jar"
1120 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
1121 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
1122 jsr166 1.125 </target>
1123 dl 1.70
1124 jsr166 1.125 <target name="jsr166xdist-docs"
1125     depends="jsr166xclean, jsr166xdocs">
1126 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
1127 dl 1.70 </target>
1128    
1129 dl 1.74 <!-- jsr166y -->
1130    
1131    
1132     <target name="jsr166ycompile"
1133 jsr166 1.103 depends="configure-compiler"
1134 dl 1.74 description="Compiles jsr166y sources">
1135    
1136 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
1137 dl 1.74
1138 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1139 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
1140 jsr166 1.103 debug="${build.debug}"
1141     debuglevel="${build.debuglevel}"
1142     deprecation="${build.deprecation}"
1143 jsr166 1.107 source="6"
1144 jsr166 1.189 target="6"
1145 jsr166 1.103 classpath=""
1146 jsr166 1.119 bootclasspath="${bootclasspath6}"
1147 jsr166 1.103 includeAntRuntime="false"
1148     includeJavaRuntime="false"
1149     executable="${javac7}"
1150     fork="true">
1151 dl 1.74
1152 jsr166 1.103 <include name="jsr166y/**/*.java"/>
1153 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1154 jsr166 1.103 <compilerarg value="-Xlint:all"/>
1155 jsr166 1.164 <compilerarg value="-Werror"/>
1156 jsr166 1.118 <compilerarg line="${build.args}"/>
1157    
1158 dl 1.74 </javac>
1159     </target>
1160    
1161    
1162 jsr166 1.128 <target name="jsr166yjar"
1163 dl 1.74 depends="jsr166ycompile"
1164     description="Builds library jar from compiled sources">
1165    
1166 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
1167 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
1168 jsr166 1.178 <manifest>
1169 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1170     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1171 jsr166 1.178 </manifest>
1172 dl 1.74 </jar>
1173    
1174     </target>
1175    
1176    
1177     <target name="jsr166ydocs"
1178 jsr166 1.102 description="Builds javadocs to dist dir">
1179 dl 1.74
1180 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
1181     <mkdir dir="${jsr166ydocs.dir}"/>
1182 dl 1.74
1183 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
1184 jsr166 1.107 packagenames="jsr166y.*"
1185 jsr166 1.152 link="${java.api.url}"
1186 jsr166 1.130 access="${build.javadoc.access}"
1187 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1188 jsr166 1.119 bootclasspath="${bootclasspath6}"
1189 jsr166 1.107 source="6"
1190 jsr166 1.206 executable="${javadoc7}"
1191     failonerror = "true">
1192 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1193 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1194 dl 1.74
1195 jsr166 1.118 </javadoc>
1196 dl 1.74 </target>
1197    
1198    
1199     <target name="jsr166ydist"
1200 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
1201 dl 1.74 description="Puts all distributable products in single hierarchy"/>
1202    
1203    
1204     <target name="jsr166yclean"
1205 jsr166 1.109 description="Removes all jsr166y build products">
1206 dl 1.74
1207     <delete dir="${build.jsr166y.dir}"/>
1208    
1209     </target>
1210    
1211    
1212     <target name="jsr166ydist-jar"
1213 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
1214 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1215 jsr166 1.125 </target>
1216 dl 1.74
1217 jsr166 1.125 <target name="jsr166ydist-docs"
1218     depends="jsr166yclean, jsr166ydocs">
1219 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1220 dl 1.74 </target>
1221    
1222 dl 1.90
1223 dl 1.76 <!-- extra166y -->
1224    
1225    
1226     <target name="extra166ycompile"
1227 jsr166 1.128 depends="configure-compiler, jsr166yjar"
1228 dl 1.76 description="Compiles extra166y sources">
1229    
1230 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
1231 dl 1.76
1232 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1233 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
1234 jsr166 1.103 debug="${build.debug}"
1235     debuglevel="${build.debuglevel}"
1236     deprecation="${build.deprecation}"
1237 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1238 jsr166 1.105 classpath=""
1239 jsr166 1.107 source="6"
1240 jsr166 1.190 target="6"
1241 jsr166 1.103 includeAntRuntime="false"
1242     includeJavaRuntime="false"
1243     executable="${javac7}"
1244     fork="true">
1245 dl 1.76
1246 jsr166 1.103 <include name="extra166y/**/*.java"/>
1247 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1248 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1249 jsr166 1.164 <compilerarg value="-Werror"/>
1250 jsr166 1.118 <compilerarg line="${build.args}"/>
1251 dl 1.76
1252     </javac>
1253     </target>
1254    
1255    
1256 jsr166 1.128 <target name="extra166yjar"
1257 dl 1.76 depends="extra166ycompile"
1258     description="Builds library jar from compiled sources">
1259    
1260 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1261 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1262 jsr166 1.178 <manifest>
1263 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1264     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1265 jsr166 1.178 </manifest>
1266 dl 1.76 </jar>
1267    
1268     </target>
1269    
1270    
1271     <target name="extra166ydocs"
1272 jsr166 1.107 description="Builds javadocs to build dir">
1273 dl 1.76
1274 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1275     <mkdir dir="${extra166ydocs.dir}"/>
1276 dl 1.76
1277 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1278 jsr166 1.107 packagenames="extra166y.*"
1279 jsr166 1.152 link="${java.api.url}"
1280 jsr166 1.130 access="${build.javadoc.access}"
1281 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1282 jsr166 1.119 bootclasspath="${bootclasspath6}"
1283 jsr166 1.107 source="6"
1284 jsr166 1.118 executable="${javadoc7}">
1285 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1286 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1287 dl 1.76
1288 jsr166 1.118 </javadoc>
1289 dl 1.76 </target>
1290    
1291    
1292     <target name="extra166ydist"
1293 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1294 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1295    
1296    
1297     <target name="extra166yclean"
1298 jsr166 1.109 description="Removes all extra166y build products">
1299 dl 1.76
1300     <delete dir="${build.extra166y.dir}"/>
1301    
1302     </target>
1303    
1304    
1305     <target name="extra166ydist-jar"
1306 jsr166 1.128 depends="extra166yclean, extra166yjar">
1307 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1308 jsr166 1.125 </target>
1309 dl 1.76
1310 jsr166 1.125 <target name="extra166ydist-docs"
1311     depends="extra166yclean, extra166ydocs">
1312 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1313 dl 1.76 </target>
1314    
1315 dl 1.90 <!-- jsr166e -->
1316    
1317 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1318     <property name="build.jsr166e.javac" value="${javac6}"/>
1319    
1320 dl 1.90 <target name="jsr166ecompile"
1321 jsr166 1.94 depends="configure-compiler"
1322 dl 1.90 description="Compiles jsr166e sources">
1323    
1324 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1325 dl 1.90
1326 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1327 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1328 jsr166 1.94 debug="${build.debug}"
1329     debuglevel="${build.debuglevel}"
1330     deprecation="${build.deprecation}"
1331 jsr166 1.144 source="${build.jsr166e.java.version}"
1332 jsr166 1.190 target="${build.jsr166e.java.version}"
1333 jsr166 1.94 classpath=""
1334     includeAntRuntime="false"
1335     includeJavaRuntime="false"
1336 jsr166 1.144 executable="${build.jsr166e.javac}"
1337 jsr166 1.94 fork="true">
1338 dl 1.90
1339 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1340 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1341 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1342 jsr166 1.164 <compilerarg value="-Werror"/>
1343 jsr166 1.118 <compilerarg line="${build.args}"/>
1344 dl 1.90
1345     </javac>
1346     </target>
1347    
1348 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1349     <target name="jsr166edoclint">
1350    
1351     <mkdir dir="${build.jsr166e.classes.dir}"/>
1352    
1353     <javac srcdir="${topsrc.dir}"
1354     destdir="${build.jsr166e.classes.dir}"
1355     debug="${build.debug}"
1356     debuglevel="${build.debuglevel}"
1357     deprecation="${build.deprecation}"
1358     source="${build.jsr166e.java.version}"
1359 jsr166 1.190 target="${build.jsr166e.java.version}"
1360 jsr166 1.150 classpath=""
1361 jsr166 1.190 bootclasspath="${bootclasspath6}"
1362 jsr166 1.150 includeAntRuntime="false"
1363     includeJavaRuntime="false"
1364     executable="${javac8}"
1365     fork="true">
1366    
1367     <include name="jsr166e/**/*.java"/>
1368     <compilerarg value="-XDignore.symbol.file=true"/>
1369     <compilerarg value="-Xlint:all"/>
1370 jsr166 1.164 <compilerarg value="-Werror"/>
1371 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1372    
1373     </javac>
1374     </target>
1375    
1376 dl 1.90
1377 jsr166 1.128 <target name="jsr166ejar"
1378 dl 1.90 depends="jsr166ecompile"
1379     description="Builds library jar from compiled sources">
1380    
1381 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1382 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1383 jsr166 1.178 <manifest>
1384 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1385     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1386 jsr166 1.178 </manifest>
1387 dl 1.90 </jar>
1388    
1389     </target>
1390    
1391    
1392     <target name="jsr166edocs"
1393 jsr166 1.107 description="Builds javadocs to build dir">
1394 dl 1.90
1395 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1396     <mkdir dir="${jsr166edocs.dir}"/>
1397 dl 1.90
1398 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1399 jsr166 1.107 packagenames="jsr166e.*"
1400 jsr166 1.152 link="${java.api.url}"
1401 jsr166 1.130 access="${build.javadoc.access}"
1402 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1403 jsr166 1.144 source="${build.jsr166e.java.version}"
1404 jsr166 1.206 executable="${javadoc7}"
1405     failonerror = "true">
1406 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1407 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1408    
1409 jsr166 1.96 </javadoc>
1410 dl 1.90 </target>
1411    
1412    
1413 jsr166 1.174 <target name="jsr166e-tck-one-java-version"
1414 jsr166 1.148 depends="jsr166ejar">
1415 jsr166 1.122
1416 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1417    
1418 jsr166 1.122 <run-tck-tests
1419     tck.src.dir="${test.src.dir}/tck-jsr166e"
1420 jsr166 1.144 target="${build.jsr166e.java.version}"
1421 jsr166 1.122 workdir="${build.jsr166e.dir}"
1422     classes="${jsr166e.jar}"/>
1423     </target>
1424    
1425 jsr166 1.174 <target name="jsr166e-tck"
1426 jsr166 1.144 description="Runs tck tests for jsr166e for multiple java versions">
1427    
1428     <!-- <antcall target="clean"/> -->
1429 jsr166 1.174 <!-- <antcall target="jsr166e-tck-one-java-version"> -->
1430 jsr166 1.144 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1431     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1432     <!-- </antcall> -->
1433    
1434     <antcall target="clean"/>
1435 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1436 jsr166 1.144 <param name="build.jsr166e.java.version" value="7"/>
1437     <param name="build.jsr166e.javac" value="${javac7}"/>
1438     </antcall>
1439    
1440     <antcall target="clean"/>
1441 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1442 jsr166 1.144 <param name="build.jsr166e.java.version" value="6"/>
1443     <param name="build.jsr166e.javac" value="${javac6}"/>
1444     </antcall>
1445     </target>
1446    
1447 jsr166 1.122
1448 jsr166 1.147 <target name="jsr166e-test"
1449 jsr166 1.174 depends="jsr166e-tck"
1450 jsr166 1.147 description="Runs all tests for jsr166e">
1451     </target>
1452    
1453 dl 1.90 <target name="jsr166edist"
1454 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1455 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1456    
1457    
1458     <target name="jsr166eclean"
1459 jsr166 1.109 description="Removes all jsr166e build products">
1460 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1461     </target>
1462    
1463    
1464     <target name="jsr166edist-jar"
1465 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1466 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1467 jsr166 1.125 </target>
1468 dl 1.90
1469 jsr166 1.125 <target name="jsr166edist-docs"
1470     depends="jsr166eclean, jsr166edocs">
1471 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1472 dl 1.90 </target>
1473    
1474 jsr166 1.130
1475     <!-- Find buglets that can be detected by static build tools -->
1476    
1477     <target name="lint">
1478     <antcall target="dists">
1479 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1480     </antcall>
1481     </target>
1482    
1483     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1484     <target name="lint-private">
1485     <antcall target="dist">
1486 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1487     </antcall>
1488     </target>
1489    
1490    
1491 tim 1.1 </project>