ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.236
Committed: Mon Mar 20 00:03:57 2017 UTC (7 years, 1 month ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.235: +92 -1 lines
Log Message:
add experimental errorprone support

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 jsr166 1.236 classes="${product.jar}">
541     <javac-elements>
542     <compilerarg value="-Werror"/>
543     </javac-elements>
544     </run-tck-tests>
545 jsr166 1.131 </target>
546 tim 1.1
547 jsr166 1.174 <target name="tck-parallelism-1"
548 jsr166 1.208 description="Runs tck with common pool parallelism 1">
549 jsr166 1.174 <antcall target="tck">
550 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
551     </antcall>
552     </target>
553    
554 jsr166 1.174 <target name="tck-parallelism-0"
555 jsr166 1.208 description="Runs tck with common pool parallelism 0">
556 jsr166 1.174 <antcall target="tck">
557 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
558     </antcall>
559     </target>
560    
561 jsr166 1.213 <target name="tck-security-manager"
562     description="Runs tck with a security manager">
563     <antcall target="tck">
564     <param name="jsr166.useSecurityManager" value="true"/>
565     </antcall>
566     </target>
567    
568 jsr166 1.174 <target name="jtreg"
569 jsr166 1.135 depends="jar"
570 jsr166 1.205 description="Runs jtreg tests for src/main using the jtreg ant task">
571 jsr166 1.135 <run-jtreg-tests
572 jsr166 1.151 target="${build.main.java.version}"
573 jsr166 1.135 workdir="${build.dir}"
574     classes="${product.jar}"/>
575     </target>
576    
577 jsr166 1.142 <target name="test"
578 jsr166 1.208 depends="tck, tck-parallelism-1, tck-parallelism-0, jtreg"
579 jsr166 1.205 description="Runs tck and jtreg tests for src/main">
580 jsr166 1.135 </target>
581    
582 jsr166 1.205 <!-- <target name="jtreg8" description="Runs jtreg tests with jdk8"> -->
583 jsr166 1.168
584 jsr166 1.205 <!-- <antcall target="jtreg"> -->
585     <!-- <param name="build.main.java.version" value="8"/> -->
586     <!-- <param name="build.main.javac" value="${javac8}"/> -->
587     <!-- </antcall> -->
588 jsr166 1.168
589 jsr166 1.205 <!-- </target> -->
590 jsr166 1.168
591 jsr166 1.205 <!-- <target name="test89" -->
592     <!-- description="Runs tck and jtreg tests for src/main for multiple java versions"> -->
593 jsr166 1.151
594 jsr166 1.205 <!-- <antcall target="clean"/> -->
595     <!-- <antcall target="test"> -->
596     <!-- <param name="build.main.java.version" value="8"/> -->
597     <!-- <param name="build.main.javac" value="${javac8}"/> -->
598     <!-- </antcall> -->
599 jsr166 1.151
600 jsr166 1.205 <!-- <antcall target="clean"/> -->
601     <!-- <antcall target="test"> -->
602     <!-- <param name="build.main.java.version" value="9"/> -->
603     <!-- <param name="build.main.javac" value="${javac9}"/> -->
604     <!-- </antcall> -->
605 jsr166 1.151
606 jsr166 1.205 <!-- </target> -->
607 jsr166 1.151
608 tim 1.18
609    
610 tim 1.32 <target name="configure-compiler">
611 jsr166 1.180 <fail message="ant version too old">
612     <condition>
613     <not> <antversion atleast="1.9.1"/> </not>
614     </condition>
615     </fail>
616 tim 1.54
617     <property name="unchecked.option" value="-Xlint:unchecked"/>
618    
619     <condition property="warnunchecked.arg" value="${unchecked.option}">
620 tim 1.57 <istrue value="${build.warnunchecked}"/>
621 tim 1.32 </condition>
622    
623 tim 1.37 <property name="warnunchecked.arg" value=""/>
624 tim 1.34
625 tim 1.32
626     <!-- Common options in javac invocations -->
627 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
628 tim 1.33
629     </target>
630    
631    
632 tim 1.28
633 jsr166 1.65 <!-- Various demos and test programs -->
634    
635    
636 jsr166 1.203 <!-- description="Benchmark from Doug Lea's AQS paper" -->
637     <target name="loops" depends="configure-compiler">
638 jsr166 1.65
639     <mkdir dir="${build.loops.dir}"/>
640    
641     <javac srcdir="${loops.src.dir}"
642     destdir="${build.loops.dir}"
643     debug="${build.debug}"
644     debuglevel="${build.debuglevel}"
645     deprecation="${build.deprecation}"
646     source="${build.sourcelevel}"
647 jsr166 1.191 target="${build.sourcelevel}"
648 jsr166 1.219 encoding="ASCII"
649 jsr166 1.65 fork="true">
650    
651     <compilerarg line="${build.args}"/>
652     <classpath refid="loops.classpath"/>
653 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
654 jsr166 1.65
655     </javac>
656    
657     <java classname="ALoops" fork="true">
658     <classpath refid="loops.classpath"/>
659     </java>
660    
661     </target>
662    
663    
664 jsr166 1.166 <target name="compile-test-loops" depends="jar"
665     description="compile all the perf tests in src/test/loops">
666    
667     <mkdir dir="${build.dir}/test/loops"/>
668    
669     <javac srcdir="${basedir}/src/test/loops"
670     destdir="${build.dir}/test/loops"
671     debug="${build.debug}"
672     debuglevel="${build.debuglevel}"
673     deprecation="${build.deprecation}"
674     includeAntRuntime="false"
675     includeJavaRuntime="false"
676 jsr166 1.219 encoding="ASCII"
677 jsr166 1.166 executable="${javac9}"
678     fork="true">
679    
680     <include name="*.java"/>
681     <compilerarg value="-XDignore.symbol.file=true"/>
682 jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
683 jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
684     <compilerarg line="${build.args}"/>
685    
686     </javac>
687    
688     </target>
689    
690    
691 jsr166 1.200 <!-- jsr166 4jdk8 -->
692    
693     <target name="4jdk8compile"
694     depends="configure-compiler"
695     description="Compiles src/jdk8 sources, targeting jdk8">
696    
697     <mkdir dir="${build.4jdk8.classes.dir}"/>
698    
699     <javac srcdir="${4jdk8src.dir}"
700     destdir="${build.4jdk8.classes.dir}"
701     debug="${build.debug}"
702     debuglevel="${build.debuglevel}"
703     deprecation="${build.deprecation}"
704     source="8"
705     target="8"
706     classpath=""
707     bootclasspath="${bootclasspath8}"
708     includeAntRuntime="false"
709     includeJavaRuntime="false"
710 jsr166 1.219 encoding="ASCII"
711 jsr166 1.200 executable="${javac8}"
712     fork="true">
713    
714     <include name="**/*.java"/>
715     <compilerarg value="-Xprefer:source"/>
716     <compilerarg value="-XDignore.symbol.file=true"/>
717     <compilerarg value="-Xlint:all"/>
718     <compilerarg value="-Werror"/>
719     <compilerarg line="${build.args}"/>
720    
721     </javac>
722     </target>
723    
724     <target name="4jdk8doclint"
725     depends="configure-compiler"
726     description="Finds doclint warnings">
727    
728     <mkdir dir="${build.4jdk8.classes.dir}"/>
729    
730     <javac srcdir="${4jdk8src.dir}"
731     destdir="${build.4jdk8.classes.dir}"
732     debug="${build.debug}"
733     debuglevel="${build.debuglevel}"
734     deprecation="${build.deprecation}"
735     source="8"
736     target="8"
737     classpath=""
738     bootclasspath="${bootclasspath8}"
739     includeAntRuntime="false"
740     includeJavaRuntime="false"
741 jsr166 1.219 encoding="ASCII"
742 jsr166 1.200 executable="${javac8}"
743     fork="true">
744    
745     <include name="**/*.java"/>
746     <compilerarg value="-Xprefer:source"/>
747     <compilerarg value="-XDignore.symbol.file=true"/>
748     <compilerarg value="-Xlint:all"/>
749 jsr166 1.235 <compilerarg value="-Xdoclint:all/protected,reference/private"/>
750 jsr166 1.200 <compilerarg line="${build.args}"/>
751    
752     </javac>
753     </target>
754    
755    
756     <target name="4jdk8jar"
757     depends="4jdk8compile"
758     description="Builds library jar from compiled sources">
759    
760     <jar destfile="${4jdk8product.jar}">
761     <fileset dir="${build.4jdk8.classes.dir}"/>
762     <manifest>
763     <attribute name="Built-By" value="${user.name}"/>
764     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
765     </manifest>
766     </jar>
767    
768     </target>
769    
770    
771     <target name="4jdk8-tck"
772     depends="4jdk8jar"
773     description="Runs tck tests for jsr166-4jdk8 directly">
774    
775     <run-tck-tests
776     target="8"
777     workdir="${build.4jdk8.dir}"
778     classes="${4jdk8product.jar}">
779     <javac-elements>
780     <!-- JDK9+ test classes -->
781     <exclude name="*9Test.java"/>
782     <exclude name="*10Test.java"/>
783 jsr166 1.236 <compilerarg value="-Werror"/>
784 jsr166 1.200 </javac-elements>
785     </run-tck-tests>
786     </target>
787    
788    
789     <target name="4jdk8-jtreg"
790     depends="4jdk8jar"
791     description="Runs jtreg tests for jsr166-4jdk8 using the jtreg ant task">
792     <run-jtreg-tests
793     target="8"
794     workdir="${build.4jdk8.dir}"
795     classes="${4jdk8product.jar}"/>
796     </target>
797    
798    
799     <target name="4jdk8-test"
800     depends="4jdk8-tck, 4jdk8-jtreg"
801     description="Runs tck and jtreg tests for jsr166-4jdk8">
802     </target>
803    
804    
805     <target name="4jdk8docs"
806     description="Builds javadocs for src/jdk8 to dist dir">
807    
808     <delete dir="${4jdk8docs.dir}"/>
809     <mkdir dir="${4jdk8docs.dir}"/>
810    
811     <javadoc destdir="${4jdk8docs.dir}"
812     packagenames="none"
813     link="${java8.api.url}"
814     overview="${4jdk8src.dir}/intro.html"
815     access="${build.javadoc.access}"
816     sourcepath="${4jdk8src.dir}:${jdk8.src.dir}"
817     classpath=""
818 jsr166 1.206 executable="${javadoc8}"
819     failonerror = "true">
820 jsr166 1.200 <fileset dir="${4jdk8src.dir}" defaultexcludes="yes">
821     <include name="**/*.java"/>
822     </fileset>
823     <arg line="-Xdocrootparent ${java8.docroot.url}"/>
824     <arg value="-XDignore.symbol.file=true"/>
825     <arg value="-tag"/>
826     <arg value="${javadoc.jls.option}"/>
827 jsr166 1.220 <!-- @apiNote currently unused -->
828     <!-- <arg value="-tag"/> -->
829     <!-- <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/> -->
830 jsr166 1.200 <arg value="-tag"/>
831     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
832     <arg value="-tag"/>
833     <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
834     </javadoc>
835     </target>
836    
837    
838     <target name="4jdk8dist"
839     depends="4jdk8dist-jar, 4jdk8dist-docs"
840     description="Puts all distributable products in single hierarchy"/>
841    
842    
843     <target name="4jdk8clean"
844     description="Removes all 4jdk8 build products">
845    
846     <delete dir="${build.4jdk8.dir}"/>
847    
848     </target>
849    
850    
851     <target name="4jdk8dist-jar"
852     depends="4jdk8clean, 4jdk8jar">
853     <copy file="${4jdk8product.jar}" todir="${dist.dir}"/>
854     </target>
855    
856    
857     <target name="4jdk8dist-docs"
858     depends="4jdk8clean, 4jdk8docs">
859     <mirror-dir src="${4jdk8docs.dir}" dst="${dist.4jdk8docs.dir}"/>
860     </target>
861    
862    
863    
864 jsr166 1.99 <!-- jsr166 4jdk7 -->
865 jsr166 1.92
866 jsr166 1.99 <target name="4jdk7compile"
867 jsr166 1.92 depends="configure-compiler"
868 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
869 jsr166 1.92
870 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
871 jsr166 1.92
872 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
873     destdir="${build.4jdk7.classes.dir}"
874 jsr166 1.92 debug="${build.debug}"
875     debuglevel="${build.debuglevel}"
876     deprecation="${build.deprecation}"
877 jsr166 1.107 source="6"
878 jsr166 1.190 target="6"
879 jsr166 1.92 classpath=""
880 jsr166 1.119 bootclasspath="${bootclasspath6}"
881 jsr166 1.92 includeAntRuntime="false"
882     includeJavaRuntime="false"
883 jsr166 1.219 encoding="ASCII"
884 jsr166 1.97 executable="${javac7}"
885 jsr166 1.92 fork="true">
886    
887     <include name="**/*.java"/>
888 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
889 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
890     <compilerarg value="-Xlint:all"/>
891 jsr166 1.164 <compilerarg value="-Werror"/>
892 jsr166 1.118 <compilerarg line="${build.args}"/>
893 jsr166 1.92
894     </javac>
895 jsr166 1.118 </target>
896 jsr166 1.92
897 jsr166 1.149 <target name="4jdk7doclint"
898     depends="configure-compiler"
899     description="Finds doclint warnings">
900    
901     <mkdir dir="${build.4jdk7.classes.dir}"/>
902    
903     <javac srcdir="${4jdk7src.dir}"
904     destdir="${build.4jdk7.classes.dir}"
905     debug="${build.debug}"
906     debuglevel="${build.debuglevel}"
907     deprecation="${build.deprecation}"
908     source="6"
909 jsr166 1.190 target="6"
910 jsr166 1.149 classpath=""
911 jsr166 1.190 bootclasspath="${bootclasspath6}"
912 jsr166 1.149 includeAntRuntime="false"
913     includeJavaRuntime="false"
914 jsr166 1.219 encoding="ASCII"
915 jsr166 1.149 executable="${javac8}"
916     fork="true">
917    
918     <include name="**/*.java"/>
919     <compilerarg value="-Xprefer:source"/>
920     <compilerarg value="-XDignore.symbol.file=true"/>
921     <compilerarg value="-Xlint:all"/>
922     <compilerarg value="-Xdoclint:all/protected"/>
923     <compilerarg line="${build.args}"/>
924    
925     </javac>
926     </target>
927    
928 jsr166 1.116
929 jsr166 1.128 <target name="4jdk7jar"
930 jsr166 1.116 depends="4jdk7compile"
931     description="Builds library jar from compiled sources">
932    
933     <jar destfile="${4jdk7product.jar}">
934 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
935 jsr166 1.178 <manifest>
936 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
937     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
938 jsr166 1.178 </manifest>
939 jsr166 1.97 </jar>
940    
941 jsr166 1.92 </target>
942    
943    
944 jsr166 1.174 <target name="4jdk7-tck"
945 jsr166 1.128 depends="4jdk7jar"
946 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
947 jsr166 1.116
948 jsr166 1.97 <run-tck-tests
949 jsr166 1.116 target="7"
950     workdir="${build.4jdk7.dir}"
951 jsr166 1.132 classes="${4jdk7product.jar}">
952     <javac-elements>
953 jsr166 1.134 <!-- JDK8+ test classes -->
954 jsr166 1.137 <exclude name="*8Test.java"/>
955 jsr166 1.151 <exclude name="*9Test.java"/>
956 jsr166 1.176 <exclude name="*10Test.java"/>
957 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
958     <exclude name="DoubleAdderTest.java"/>
959     <exclude name="LongAccumulatorTest.java"/>
960     <exclude name="LongAdderTest.java"/>
961 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
962 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
963 jsr166 1.132 <exclude name="StampedLockTest.java"/>
964 jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
965 jsr166 1.236 <compilerarg value="-Werror"/>
966 jsr166 1.132 </javac-elements>
967     </run-tck-tests>
968 jsr166 1.97 </target>
969    
970    
971 jsr166 1.203 <!-- Runs tck tests for jsr166-4jdk7 via junit task (dead experiment) -->
972 jsr166 1.174 <target name="4jdk7-tck-junit"
973 jsr166 1.203 depends="4jdk7compile">
974 jsr166 1.97
975     <junit printsummary="true"
976     showoutput="true"
977     errorProperty="junit.failed"
978     failureProperty="junit.failed"
979     includeantruntime="true"
980     jvm="${java7}"
981     fork="true">
982    
983 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
984 jsr166 1.97 <jvmarg value="-server"/>
985 jsr166 1.92
986 jsr166 1.97 <classpath>
987     <pathelement location="${junit.jar}"/>
988 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
989 jsr166 1.97 </classpath>
990 jsr166 1.92
991 jsr166 1.97 <formatter type="brief"/>
992 jsr166 1.92
993 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
994 jsr166 1.97 </test>
995 jsr166 1.92
996 jsr166 1.97 </junit>
997 jsr166 1.92 </target>
998    
999 jsr166 1.174 <target name="4jdk7-jtreg"
1000 jsr166 1.135 depends="4jdk7jar"
1001 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
1002 jsr166 1.135 <run-jtreg-tests
1003     target="7"
1004     workdir="${build.4jdk7.dir}"
1005 jsr166 1.165 classes="${4jdk7product.jar}"/>
1006 jsr166 1.115 </target>
1007    
1008    
1009     <target name="4jdk7-test"
1010 jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
1011 jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
1012     </target>
1013    
1014 jsr166 1.92
1015 jsr166 1.99 <target name="4jdk7docs"
1016 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
1017 jsr166 1.92
1018 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
1019     <mkdir dir="${4jdk7docs.dir}"/>
1020 jsr166 1.92
1021 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
1022 jsr166 1.92 packagenames="none"
1023 jsr166 1.152 link="${java7.api.url}"
1024 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
1025 jsr166 1.130 access="${build.javadoc.access}"
1026 jsr166 1.199 sourcepath="${4jdk7src.dir}:${jdk7.src.dir}"
1027 jsr166 1.92 classpath=""
1028 jsr166 1.206 executable="${javadoc7}"
1029     failonerror = "true">
1030 jsr166 1.99 <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
1031 jsr166 1.92 <include name="**/*.java"/>
1032     </fileset>
1033 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
1034 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
1035 jsr166 1.92 </javadoc>
1036     </target>
1037    
1038    
1039 jsr166 1.99 <target name="4jdk7dist"
1040 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
1041 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
1042    
1043    
1044 jsr166 1.99 <target name="4jdk7clean"
1045 jsr166 1.109 description="Removes all 4jdk7 build products">
1046 jsr166 1.92
1047 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
1048 jsr166 1.92
1049     </target>
1050    
1051    
1052 jsr166 1.99 <target name="4jdk7dist-jar"
1053 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
1054 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
1055     </target>
1056 jsr166 1.92
1057    
1058 jsr166 1.125 <target name="4jdk7dist-docs"
1059     depends="4jdk7clean, 4jdk7docs">
1060 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
1061 jsr166 1.92 </target>
1062    
1063 jsr166 1.109
1064 dl 1.70 <!-- jsr166x -->
1065    
1066     <target name="jsr166xcompile"
1067 jsr166 1.103 depends="configure-compiler"
1068 jsr166 1.105 description="Compiles jsr166x sources to build dir">
1069 dl 1.70
1070 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
1071 dl 1.70
1072 jsr166 1.105 <javac srcdir="${topsrc.dir}"
1073 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
1074 jsr166 1.105 debug="${build.debug}"
1075     debuglevel="${build.debuglevel}"
1076     deprecation="${build.deprecation}"
1077     classpath=""
1078 jsr166 1.119 bootclasspath="${bootclasspath6}"
1079 jsr166 1.107 source="5"
1080 jsr166 1.190 target="5"
1081 jsr166 1.105 includeAntRuntime="false"
1082     includeJavaRuntime="false"
1083 jsr166 1.219 encoding="ASCII"
1084 jsr166 1.105 executable="${javac7}"
1085     fork="true">
1086 dl 1.70
1087 jsr166 1.105 <include name="jsr166x/**/*.java"/>
1088 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
1089 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
1090 jsr166 1.164 <compilerarg value="-Werror"/>
1091 jsr166 1.118 <compilerarg line="${build.args}"/>
1092 dl 1.70
1093     </javac>
1094     </target>
1095    
1096    
1097 jsr166 1.128 <target name="jsr166xjar"
1098 dl 1.70 depends="jsr166xcompile"
1099     description="Builds library jar from compiled sources">
1100    
1101 jsr166 1.106 <jar destfile="${jsr166x.jar}">
1102 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
1103 jsr166 1.178 <manifest>
1104 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1105     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1106 jsr166 1.178 </manifest>
1107 dl 1.70 </jar>
1108    
1109     </target>
1110    
1111    
1112     <target name="jsr166xdocs"
1113 jsr166 1.102 description="Builds javadocs to dist dir">
1114 dl 1.70
1115 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
1116     <mkdir dir="${jsr166xdocs.dir}"/>
1117 dl 1.70
1118 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
1119 jsr166 1.107 packagenames="jsr166x.*"
1120 jsr166 1.152 link="${java.api.url}"
1121 jsr166 1.130 access="${build.javadoc.access}"
1122 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1123 jsr166 1.119 bootclasspath="${bootclasspath6}"
1124 jsr166 1.107 source="5"
1125 jsr166 1.206 executable="${javadoc7}"
1126     failonerror = "true">
1127 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1128 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1129 dl 1.70
1130 jsr166 1.118 </javadoc>
1131 dl 1.70 </target>
1132    
1133    
1134     <target name="jsr166xdist"
1135 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
1136 dl 1.70 description="Puts all distributable products in single hierarchy"/>
1137    
1138    
1139     <target name="jsr166xclean"
1140 jsr166 1.109 description="Removes all jsr166x build products">
1141 dl 1.70
1142     <delete dir="${build.jsr166x.dir}"/>
1143    
1144     </target>
1145    
1146    
1147     <target name="jsr166xdist-jar"
1148 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
1149 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
1150 jsr166 1.125 </target>
1151 dl 1.70
1152 jsr166 1.125 <target name="jsr166xdist-docs"
1153     depends="jsr166xclean, jsr166xdocs">
1154 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
1155 dl 1.70 </target>
1156    
1157 dl 1.74 <!-- jsr166y -->
1158    
1159    
1160     <target name="jsr166ycompile"
1161 jsr166 1.103 depends="configure-compiler"
1162 dl 1.74 description="Compiles jsr166y sources">
1163    
1164 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
1165 dl 1.74
1166 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1167 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
1168 jsr166 1.103 debug="${build.debug}"
1169     debuglevel="${build.debuglevel}"
1170     deprecation="${build.deprecation}"
1171 jsr166 1.107 source="6"
1172 jsr166 1.189 target="6"
1173 jsr166 1.103 classpath=""
1174 jsr166 1.119 bootclasspath="${bootclasspath6}"
1175 jsr166 1.103 includeAntRuntime="false"
1176     includeJavaRuntime="false"
1177 jsr166 1.219 encoding="ASCII"
1178 jsr166 1.103 executable="${javac7}"
1179     fork="true">
1180 dl 1.74
1181 jsr166 1.103 <include name="jsr166y/**/*.java"/>
1182 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1183 jsr166 1.103 <compilerarg value="-Xlint:all"/>
1184 jsr166 1.164 <compilerarg value="-Werror"/>
1185 jsr166 1.118 <compilerarg line="${build.args}"/>
1186    
1187 dl 1.74 </javac>
1188     </target>
1189    
1190    
1191 jsr166 1.128 <target name="jsr166yjar"
1192 dl 1.74 depends="jsr166ycompile"
1193     description="Builds library jar from compiled sources">
1194    
1195 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
1196 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
1197 jsr166 1.178 <manifest>
1198 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1199     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1200 jsr166 1.178 </manifest>
1201 dl 1.74 </jar>
1202    
1203     </target>
1204    
1205    
1206     <target name="jsr166ydocs"
1207 jsr166 1.102 description="Builds javadocs to dist dir">
1208 dl 1.74
1209 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
1210     <mkdir dir="${jsr166ydocs.dir}"/>
1211 dl 1.74
1212 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
1213 jsr166 1.107 packagenames="jsr166y.*"
1214 jsr166 1.152 link="${java.api.url}"
1215 jsr166 1.130 access="${build.javadoc.access}"
1216 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1217 jsr166 1.119 bootclasspath="${bootclasspath6}"
1218 jsr166 1.107 source="6"
1219 jsr166 1.206 executable="${javadoc7}"
1220     failonerror = "true">
1221 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1222 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1223 dl 1.74
1224 jsr166 1.118 </javadoc>
1225 dl 1.74 </target>
1226    
1227    
1228     <target name="jsr166ydist"
1229 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
1230 dl 1.74 description="Puts all distributable products in single hierarchy"/>
1231    
1232    
1233     <target name="jsr166yclean"
1234 jsr166 1.109 description="Removes all jsr166y build products">
1235 dl 1.74
1236     <delete dir="${build.jsr166y.dir}"/>
1237    
1238     </target>
1239    
1240    
1241     <target name="jsr166ydist-jar"
1242 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
1243 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1244 jsr166 1.125 </target>
1245 dl 1.74
1246 jsr166 1.125 <target name="jsr166ydist-docs"
1247     depends="jsr166yclean, jsr166ydocs">
1248 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1249 dl 1.74 </target>
1250    
1251 dl 1.90
1252 dl 1.76 <!-- extra166y -->
1253    
1254    
1255     <target name="extra166ycompile"
1256 jsr166 1.128 depends="configure-compiler, jsr166yjar"
1257 dl 1.76 description="Compiles extra166y sources">
1258    
1259 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
1260 dl 1.76
1261 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1262 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
1263 jsr166 1.103 debug="${build.debug}"
1264     debuglevel="${build.debuglevel}"
1265     deprecation="${build.deprecation}"
1266 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1267 jsr166 1.105 classpath=""
1268 jsr166 1.107 source="6"
1269 jsr166 1.190 target="6"
1270 jsr166 1.103 includeAntRuntime="false"
1271     includeJavaRuntime="false"
1272 jsr166 1.219 encoding="ASCII"
1273 jsr166 1.103 executable="${javac7}"
1274     fork="true">
1275 dl 1.76
1276 jsr166 1.103 <include name="extra166y/**/*.java"/>
1277 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1278 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1279 jsr166 1.164 <compilerarg value="-Werror"/>
1280 jsr166 1.118 <compilerarg line="${build.args}"/>
1281 dl 1.76
1282     </javac>
1283     </target>
1284    
1285    
1286 jsr166 1.128 <target name="extra166yjar"
1287 dl 1.76 depends="extra166ycompile"
1288     description="Builds library jar from compiled sources">
1289    
1290 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1291 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1292 jsr166 1.178 <manifest>
1293 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1294     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1295 jsr166 1.178 </manifest>
1296 dl 1.76 </jar>
1297    
1298     </target>
1299    
1300    
1301     <target name="extra166ydocs"
1302 jsr166 1.107 description="Builds javadocs to build dir">
1303 dl 1.76
1304 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1305     <mkdir dir="${extra166ydocs.dir}"/>
1306 dl 1.76
1307 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1308 jsr166 1.107 packagenames="extra166y.*"
1309 jsr166 1.152 link="${java.api.url}"
1310 jsr166 1.130 access="${build.javadoc.access}"
1311 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1312 jsr166 1.119 bootclasspath="${bootclasspath6}"
1313 jsr166 1.107 source="6"
1314 jsr166 1.118 executable="${javadoc7}">
1315 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1316 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1317 dl 1.76
1318 jsr166 1.118 </javadoc>
1319 dl 1.76 </target>
1320    
1321    
1322     <target name="extra166ydist"
1323 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1324 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1325    
1326    
1327     <target name="extra166yclean"
1328 jsr166 1.109 description="Removes all extra166y build products">
1329 dl 1.76
1330     <delete dir="${build.extra166y.dir}"/>
1331    
1332     </target>
1333    
1334    
1335     <target name="extra166ydist-jar"
1336 jsr166 1.128 depends="extra166yclean, extra166yjar">
1337 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1338 jsr166 1.125 </target>
1339 dl 1.76
1340 jsr166 1.125 <target name="extra166ydist-docs"
1341     depends="extra166yclean, extra166ydocs">
1342 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1343 dl 1.76 </target>
1344    
1345 dl 1.90 <!-- jsr166e -->
1346    
1347 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1348     <property name="build.jsr166e.javac" value="${javac6}"/>
1349    
1350 dl 1.90 <target name="jsr166ecompile"
1351 jsr166 1.94 depends="configure-compiler"
1352 dl 1.90 description="Compiles jsr166e sources">
1353    
1354 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1355 dl 1.90
1356 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1357 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1358 jsr166 1.94 debug="${build.debug}"
1359     debuglevel="${build.debuglevel}"
1360     deprecation="${build.deprecation}"
1361 jsr166 1.144 source="${build.jsr166e.java.version}"
1362 jsr166 1.190 target="${build.jsr166e.java.version}"
1363 jsr166 1.94 classpath=""
1364     includeAntRuntime="false"
1365     includeJavaRuntime="false"
1366 jsr166 1.144 executable="${build.jsr166e.javac}"
1367 jsr166 1.94 fork="true">
1368 dl 1.90
1369 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1370 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1371 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1372 jsr166 1.164 <compilerarg value="-Werror"/>
1373 jsr166 1.118 <compilerarg line="${build.args}"/>
1374 dl 1.90
1375     </javac>
1376     </target>
1377    
1378 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1379     <target name="jsr166edoclint">
1380    
1381     <mkdir dir="${build.jsr166e.classes.dir}"/>
1382    
1383     <javac srcdir="${topsrc.dir}"
1384     destdir="${build.jsr166e.classes.dir}"
1385     debug="${build.debug}"
1386     debuglevel="${build.debuglevel}"
1387     deprecation="${build.deprecation}"
1388     source="${build.jsr166e.java.version}"
1389 jsr166 1.190 target="${build.jsr166e.java.version}"
1390 jsr166 1.150 classpath=""
1391 jsr166 1.190 bootclasspath="${bootclasspath6}"
1392 jsr166 1.150 includeAntRuntime="false"
1393     includeJavaRuntime="false"
1394     executable="${javac8}"
1395     fork="true">
1396    
1397     <include name="jsr166e/**/*.java"/>
1398     <compilerarg value="-XDignore.symbol.file=true"/>
1399     <compilerarg value="-Xlint:all"/>
1400 jsr166 1.164 <compilerarg value="-Werror"/>
1401 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1402    
1403     </javac>
1404     </target>
1405    
1406 dl 1.90
1407 jsr166 1.128 <target name="jsr166ejar"
1408 dl 1.90 depends="jsr166ecompile"
1409     description="Builds library jar from compiled sources">
1410    
1411 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1412 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1413 jsr166 1.178 <manifest>
1414 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1415     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1416 jsr166 1.178 </manifest>
1417 dl 1.90 </jar>
1418    
1419     </target>
1420    
1421    
1422     <target name="jsr166edocs"
1423 jsr166 1.107 description="Builds javadocs to build dir">
1424 dl 1.90
1425 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1426     <mkdir dir="${jsr166edocs.dir}"/>
1427 dl 1.90
1428 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1429 jsr166 1.107 packagenames="jsr166e.*"
1430 jsr166 1.152 link="${java.api.url}"
1431 jsr166 1.130 access="${build.javadoc.access}"
1432 jsr166 1.199 sourcepath="${topsrc.dir}:${jdk6.src.dir}"
1433 jsr166 1.144 source="${build.jsr166e.java.version}"
1434 jsr166 1.206 executable="${javadoc7}"
1435     failonerror = "true">
1436 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1437 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1438    
1439 jsr166 1.96 </javadoc>
1440 dl 1.90 </target>
1441    
1442    
1443 jsr166 1.174 <target name="jsr166e-tck-one-java-version"
1444 jsr166 1.148 depends="jsr166ejar">
1445 jsr166 1.122
1446 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1447    
1448 jsr166 1.122 <run-tck-tests
1449     tck.src.dir="${test.src.dir}/tck-jsr166e"
1450 jsr166 1.144 target="${build.jsr166e.java.version}"
1451 jsr166 1.122 workdir="${build.jsr166e.dir}"
1452     classes="${jsr166e.jar}"/>
1453     </target>
1454    
1455 jsr166 1.174 <target name="jsr166e-tck"
1456 jsr166 1.144 description="Runs tck tests for jsr166e for multiple java versions">
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="8"/> -->
1461     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
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="7"/>
1467     <param name="build.jsr166e.javac" value="${javac7}"/>
1468     </antcall>
1469    
1470     <antcall target="clean"/>
1471 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1472 jsr166 1.144 <param name="build.jsr166e.java.version" value="6"/>
1473     <param name="build.jsr166e.javac" value="${javac6}"/>
1474     </antcall>
1475     </target>
1476    
1477 jsr166 1.122
1478 jsr166 1.147 <target name="jsr166e-test"
1479 jsr166 1.174 depends="jsr166e-tck"
1480 jsr166 1.147 description="Runs all tests for jsr166e">
1481     </target>
1482    
1483 dl 1.90 <target name="jsr166edist"
1484 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1485 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1486    
1487    
1488     <target name="jsr166eclean"
1489 jsr166 1.109 description="Removes all jsr166e build products">
1490 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1491     </target>
1492    
1493    
1494     <target name="jsr166edist-jar"
1495 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1496 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1497 jsr166 1.125 </target>
1498 dl 1.90
1499 jsr166 1.125 <target name="jsr166edist-docs"
1500     depends="jsr166eclean, jsr166edocs">
1501 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1502 dl 1.90 </target>
1503    
1504 jsr166 1.130
1505     <!-- Find buglets that can be detected by static build tools -->
1506    
1507     <target name="lint">
1508     <antcall target="dists">
1509 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1510     </antcall>
1511     </target>
1512    
1513     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1514     <target name="lint-private">
1515     <antcall target="dist">
1516 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1517     </antcall>
1518     </target>
1519    
1520 jsr166 1.236
1521     <!-- ==============================================================
1522     Experimental errorprone support - http://errorprone.info
1523     You may need to bring your own errorprone jar.
1524     =================================================================== -->
1525     <target name="errorprone"
1526     depends="clean, configure-compiler"
1527     description="Run errorprone over jsr166 source code">
1528    
1529     <local name="destdir"/>
1530     <property name="destdir" value="${build.classes.dir}/java.base"/>
1531     <mkdir dir="${destdir}"/>
1532    
1533     <javac srcdir="${src.dir}"
1534     destdir="${destdir}"
1535     debug="${build.debug}"
1536     debuglevel="${build.debuglevel}"
1537     deprecation="${build.deprecation}"
1538     classpath=""
1539     includeAntRuntime="false"
1540     includeJavaRuntime="false"
1541     encoding="ASCII"
1542     executable="${build.main.javac}"
1543     fork="true">
1544    
1545     <include name="**/*.java"/>
1546     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1547     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1548     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1549     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1550     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1551     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1552     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1553     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1554     <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1555     <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1556     <compilerarg value="-Xplugin:ErrorProne
1557     -Xep:IdentityBinaryExpression:WARN
1558     -Xep:MissingOverride:OFF
1559     -Xep:MixedArrayDimensions:WARN
1560     -Xep:RemoveUnusedImports:ERROR
1561     -Xep:MethodCanBeStatic:WARN"/>
1562     <compilerarg value="--patch-module=java.base=${src.dir}"/>
1563     <compilerarg value="-Xprefer:source"/>
1564     <compilerarg value="-XDignore.symbol.file=true"/>
1565     <compilerarg value="-Xlint:all"/>
1566     <compilerarg value="-Xdoclint:all/protected,reference/private"/>
1567     <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1568     <compilerarg line="${build.args}"/>
1569     </javac>
1570    
1571     <jar destfile="${product.jar}">
1572     <fileset dir="${destdir}"/>
1573     </jar>
1574    
1575     <run-tck-tests
1576     target="${build.main.java.version}"
1577     workdir="${build.dir}"
1578     classes="${product.jar}">
1579     <javac-elements>
1580     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED"/>
1581     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED"/>
1582     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED"/>
1583     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED"/>
1584     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED"/>
1585     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED"/>
1586     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED"/>
1587     <compilerarg value="-J--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1588     <compilerarg value="-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED"/>
1589     <compilerarg line="-processorpath ${lib.dir}/error_prone_ant-2.0.20-SNAPSHOT.jar"/>
1590     <compilerarg value="-Xplugin:ErrorProne
1591     -Xep:IdentityBinaryExpression:WARN
1592     -Xep:BoxedPrimitiveConstructor:OFF
1593     -Xep:HashtableContains:OFF
1594     -Xep:ModifyingCollectionWithItself:OFF
1595     -Xep:MissingOverride:OFF
1596     -Xep:MixedArrayDimensions:WARN
1597     -Xep:RemoveUnusedImports:ERROR
1598     -Xep:MethodCanBeStatic:WARN"/>
1599     <compilerarg line="-Xmaxerrs 3000 -Xmaxwarns 3000"/>
1600     </javac-elements>
1601     </run-tck-tests>
1602     </target>
1603    
1604    
1605 jsr166 1.229 <!-- ==============================================================
1606     Running guava tests against jsr166 code
1607     =================================================================== -->
1608    
1609     <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" -->
1610 jsr166 1.230 <!-- organisation="com.google.guava" module="guava-testlib" revision="21.0"/> -->
1611     <!-- <property name="guava.version" value="21.0"/> -->
1612 jsr166 1.229
1613     <!-- HOWTO debug print a path id -->
1614     <!-- <pathconvert property="guava.testlib.classpath" refid="guava.testlib.classpath" /> -->
1615     <!-- <echo message="guava.testlib.classpath=${guava.testlib.classpath}"/> -->
1616    
1617     <!-- <ivy:retrieve pathid="guava.tests.classpath" type="jar" inline="true" conf="*" pattern="${lib.dir}/[type]/[artifact].[ext]" -->
1618     <!-- organisation="com.google.guava" module="guava-tests"/> -->
1619     <!-- <get src="http://repo2.maven.org/maven2/com/google/guava/guava-tests/${guava.version}/guava-tests-${guava.version}-tests.jar" -->
1620     <!-- dest="${lib.dir}/jar/guava-tests-tests.jar" usetimestamp="true"/> -->
1621     <!-- <ivy:cachepath pathid="lib.path.id" inline="true" conf="*" type="*" -->
1622     <!-- organisation="com.google.guava" module="guava-testlib" revision="${guava.version}"/> -->
1623    
1624     <!-- <test name="com.google.common.collect.testing.TestsForQueuesInJavaUtil"/> -->
1625     <!-- <test name="com.google.common.collect.testing.TestsForListsInJavaUtil"/> -->
1626     <!-- <test name="com.google.common.collect.testing.TestsForSetsInJavaUtil"/> -->
1627     <!-- <test name="com.google.common.collect.testing.TestsForMapsInJavaUtil"/> -->
1628    
1629     <!-- <ivy:retrieve pathid="guava.testlib.classpath" -->
1630     <!-- type="*" inline="true" conf="*(private),*(public)" -->
1631     <!-- pattern="${guava.dir}/[artifact].[ext]" -->
1632     <!-- organisation="com.google.guava" module="guava-testlib"/> -->
1633    
1634     <!-- Work around bug below by downloading guava-testlib-tests.jar "by hand": -->
1635     <!-- https://issues.apache.org/jira/browse/IVY-1444 -->
1636     <!-- maven tests artifacts cannot be downloaded because they are mapped to private configurations -->
1637    
1638     <target name="init-ivy">
1639     <get src="http://repo2.maven.org/maven2/org/apache/ivy/ivy/2.4.0/ivy-2.4.0.jar"
1640     dest="${build.dir}/ivy.jar" usetimestamp="true" skipexisting="true"/>
1641     <taskdef resource="org/apache/ivy/ant/antlib.xml" uri="antlib:org.apache.ivy.ant"
1642     classpath="${build.dir}/ivy.jar"/>
1643     </target>
1644    
1645     <target name="guava-tests" depends="jar, init-ivy"
1646     description="Guava tests run against jsr166 collections">
1647     <property name="guava.dir" value="${build.dir}/guava-testlib"/>
1648     <mkdir dir="${guava.dir}"/>
1649     <ivy:retrieve pathid="guava.testlib.classpath"
1650     type="jar,bundle" inline="true" conf="default,master"
1651     pattern="${guava.dir}/[artifact].[ext]"
1652     organisation="com.google.guava" module="guava-testlib"/>
1653 jsr166 1.230 <property name="guava.version" value="21.0"/>
1654 jsr166 1.229 <get src="http://repo2.maven.org/maven2/com/google/guava/guava-testlib/${guava.version}/guava-testlib-${guava.version}-tests.jar"
1655     dest="${guava.dir}/guava-testlib-tests.jar" usetimestamp="true"/>
1656     <junit printsummary="true" showoutput="true" haltonfailure="true"
1657     jvm="${java9}" fork="true">
1658     <jvmarg line="-ea -esa --patch-module java.base=${product.jar}"/>
1659     <formatter type="brief"/>
1660     <classpath>
1661     <pathelement location="${guava.dir}/guava-testlib-tests.jar"/>
1662     <path refid="guava.testlib.classpath"/>
1663     </classpath>
1664    
1665     <!-- "6" in "OpenJdk6Tests" misleadingly means "6+" -->
1666     <test name="com.google.common.collect.testing.OpenJdk6Tests"/>
1667     </junit>
1668     </target>
1669 jsr166 1.130
1670 tim 1.1 </project>