/[cvs]/jsr166/build.xml
ViewVC logotype

Annotation of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.230 - (hide annotations)
Fri Jan 13 01:22:13 2017 UTC (2 years, 11 months ago) by jsr166
Branch: MAIN
Changes since 1.229: +3 -3 lines
File MIME type: text/xml
update guava version

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

dl@cs.oswego.edu
ViewVC Help
Powered by ViewVC 1.1.27