ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.235
Committed: Sun Mar 19 01:37:51 2017 UTC (7 years, 1 month ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.234: +3 -2 lines
Log Message:
always run -Xdoclint with reference/private

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