ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.233
Committed: Wed Feb 15 19:27:33 2017 UTC (7 years, 2 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.232: +7 -7 lines
Log Message:
prefer value= to line=

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