ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.231
Committed: Sun Jan 29 20:19:00 2017 UTC (7 years, 2 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.230: +1 -0 lines
Log Message:
add testCommonPoolThreadContextClassLoader

File Contents

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