ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.295
Committed: Sun Mar 24 00:44:14 2019 UTC (5 years, 1 month ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.294: +2 -1 lines
Log Message:
Update java12.docroot.url for GA location

File Contents

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