ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.191
Committed: Fri Nov 6 00:12:54 2015 UTC (8 years, 5 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.190: +1 -0 lines
Log Message:
always pair javac ant task source= with target=

File Contents

# User Rev Content
1 jsr166 1.177 <project name="jsr166" default="usage"
2     xmlns:if="ant:if" xmlns:unless="ant:unless">
3 tim 1.1
4     <description>
5 tim 1.29 ------------------------------------------------------------------------------
6     Build file for JSR-166
7 tim 1.18
8 tim 1.29 Usage: ant [target]
9    
10     User-specific settings are read from user.properties.
11 tim 1.32 See user.properties.sample for an explanation of some useful settings.
12 jsr166 1.98
13     The repository contains all dependencies except for ant and the JDK
14     itself. Because the JDK version matters and because different
15     targets require different JDKs, we assume that users have created a
16     hierarchy containing:
17     $HOME/jdk/jdk6
18     $HOME/jdk/jdk7
19     $HOME/jdk/jdk8
20 jsr166 1.151 $HOME/jdk/jdk9
21 jsr166 1.99 where each of the above is a JDK or a symlink to same, and
22     $HOME/jdk/src/jdk6
23     $HOME/jdk/src/jdk7
24     $HOME/jdk/src/jdk8
25 jsr166 1.151 $HOME/jdk/src/jdk9
26 jsr166 1.99 where each of the above is a complete JDK source tree
27     (e.g. mercurial forest) or a symlink to same.
28 jsr166 1.159
29     Alternatively, define ant variables thus:
30     ant -Djdk$N.home=...
31     for $N in 6 7 8 9 ...
32 jsr166 1.182
33     As of 2015-09, there is incomplete hacky support for jigsaw
34     Build for jigsaw using something like:
35     ant -Djdk9.home="$HOME/jdk/jigsaw" -Djdk9.src.dir="$HOME/jdk/src/jigsaw" clean test dist
36     "docs" target is still broken.
37 tim 1.29 ------------------------------------------------------------------------------
38 tim 1.18 </description>
39 tim 1.11
40 jsr166 1.148 <!-- Display main targets by running 'ant -projecthelp' -->
41     <target name="usage">
42 jsr166 1.129 <java classname="org.apache.tools.ant.Main">
43     <arg value="-projecthelp" />
44     </java>
45 tim 1.29 </target>
46 tim 1.3
47 jsr166 1.177 <!-- HOWTO printf debug: <echo message="prop=${prop}"/> -->
48 tim 1.11
49 tim 1.27 <!-- User-specific settings -->
50 tim 1.23 <property file="user.properties"/>
51 tim 1.27
52 tim 1.1
53     <!-- Compilation options -->
54 jsr166 1.114 <property name="build.sourcelevel" value="6"/>
55 tim 1.1 <property name="build.debug" value="true"/>
56     <property name="build.debuglevel" value="source,lines,vars"/>
57 tim 1.13 <property name="build.deprecation" value="false"/>
58 jsr166 1.130 <property name="build.javadoc.access" value="protected"/>
59 tim 1.1
60     <!-- Build locations -->
61 jsr166 1.79 <property name="build.dir" location="build"/>
62     <property name="build.classes.dir" location="${build.dir}/classes"/>
63     <property name="build.testcases.dir" location="${build.dir}/testcases"/>
64     <property name="build.loops.dir" location="${build.dir}/loops"/>
65     <property name="build.reports.dir" location="${build.dir}/reports"/>
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.79 <property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/>
73     <property name="build.jsr166y.dir" location="${build.dir}/jsr166y"/>
74 dl 1.90 <property name="build.jsr166e.dir" location="${build.dir}/jsr166e"/>
75 jsr166 1.79 <property name="build.extra166y.dir" location="${build.dir}/extra166y"/>
76 dl 1.76
77 jsr166 1.126 <property name="build.jsr166x.classes.dir" location="${build.jsr166x.dir}/classes"/>
78     <property name="build.jsr166y.classes.dir" location="${build.jsr166y.dir}/classes"/>
79     <property name="build.jsr166e.classes.dir" location="${build.jsr166e.dir}/classes"/>
80     <property name="build.extra166y.classes.dir" location="${build.extra166y.dir}/classes"/>
81 jsr166 1.114
82 jsr166 1.118 <!-- JDK locations -->
83 jsr166 1.92 <property name="jdks.home" location="${user.home}/jdk"/>
84 jsr166 1.93
85     <macrodef name="defjdklocations">
86     <attribute name="v"/>
87     <sequential>
88 jsr166 1.99 <property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/>
89     <property name="java@{v}" location="${jdk@{v}.home}/bin/java"/>
90     <property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/>
91     <property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/>
92 jsr166 1.181 <local name="have.java.base"/>
93     <available property="have.java.base"
94 jsr166 1.177 file="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes" type="dir"/>
95     <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/java.base/share/classes"
96 jsr166 1.181 if:set="have.java.base"/>
97 jsr166 1.177 <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"
98 jsr166 1.181 unless:set="have.java.base"/>
99 jsr166 1.182 <local name="modules"/>
100     <available property="modules" file="${jdk@{v}.home}/jmods" type="dir"/>
101 jsr166 1.118 <local name="boot.jar.dir"/>
102 jsr166 1.182 <property name="boot.jar.dir" location="${jdk@{v}.home}/jre/lib" unless:set="modules"/>
103     <path id="bootclasspath@{v}" unless:set="modules">
104 jsr166 1.118 <pathelement path="${boot.jar.dir}/resources.jar"/>
105     <pathelement path="${boot.jar.dir}/rt.jar"/>
106     <pathelement path="${boot.jar.dir}/jsse.jar"/>
107     <pathelement path="${boot.jar.dir}/jce.jar"/>
108     <pathelement path="${boot.jar.dir}/charsets.jar"/>
109     </path>
110 jsr166 1.182 <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}" unless:set="modules"/>
111 jsr166 1.93 </sequential>
112     </macrodef>
113    
114 jsr166 1.125 <macrodef name="mirror-dir">
115     <attribute name="src"/>
116     <attribute name="dst"/>
117     <sequential>
118     <delete dir="@{dst}"/>
119     <mkdir dir="@{dst}"/>
120     <copy todir="@{dst}" preservelastmodified="true">
121     <fileset dir="@{src}"/>
122     </copy>
123     </sequential>
124     </macrodef>
125    
126 jsr166 1.93 <defjdklocations v="6"/>
127     <defjdklocations v="7"/>
128     <defjdklocations v="8"/>
129 jsr166 1.151 <defjdklocations v="9"/>
130 jsr166 1.92
131 tim 1.1 <!-- Source locations -->
132 tim 1.22 <property name="src.dir" location="${basedir}/src/main"/>
133     <property name="test.src.dir" location="${basedir}/src/test"/>
134 jsr166 1.65 <property name="loops.src.dir" location="${basedir}/src/loops"/>
135 tim 1.60 <property name="tck.src.dir" location="${test.src.dir}/tck"/>
136 jsr166 1.173 <property name="jtreg7.src.dir" location="${test.src.dir}/jtreg-jdk7"/>
137     <property name="jtreg8.src.dir" location="${test.src.dir}/jtreg"/>
138     <property name="jtreg9.src.dir" location="${test.src.dir}/jtreg"/>
139     <property name="jtreg.src.dir" location="${jtreg9.src.dir}"/>
140 tim 1.1 <property name="lib.dir" location="${basedir}/lib"/>
141 tim 1.9 <property name="dist.dir" location="${basedir}/dist"/>
142 dl 1.70 <property name="topsrc.dir" location="${basedir}/src"/>
143 jsr166 1.99 <property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/>
144 jsr166 1.92 <property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/>
145     <property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/>
146     <property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/>
147     <property name="extra166ysrc.dir" location="${topsrc.dir}/extra166y"/>
148 jsr166 1.91
149 jsr166 1.125 <!-- Javadoc locations -->
150 jsr166 1.127 <property name="docs.dir" location="${build.dir}/docs"/>
151     <property name="4jdk7docs.dir" location="${build.4jdk7.dir}/docs"/>
152     <property name="jsr166xdocs.dir" location="${build.jsr166x.dir}/docs"/>
153     <property name="jsr166ydocs.dir" location="${build.jsr166y.dir}/docs"/>
154     <property name="jsr166edocs.dir" location="${build.jsr166e.dir}/docs"/>
155     <property name="extra166ydocs.dir" location="${build.extra166y.dir}/docs"/>
156    
157     <property name="dist.docs.dir" location="${dist.dir}/docs"/>
158     <property name="dist.4jdk7docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/>
159     <property name="dist.jsr166xdocs.dir" location="${dist.dir}/jsr166xdocs"/>
160     <property name="dist.jsr166ydocs.dir" location="${dist.dir}/jsr166ydocs"/>
161     <property name="dist.jsr166edocs.dir" location="${dist.dir}/jsr166edocs"/>
162     <property name="dist.extra166ydocs.dir" location="${dist.dir}/extra166ydocs"/>
163 tim 1.1
164     <!-- Jar locations -->
165 jsr166 1.109 <property name="product.jar" location="${build.dir}/jsr166.jar"/>
166     <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
167     <property name="jsr166x.jar" location="${build.jsr166x.dir}/jsr166x.jar"/>
168     <property name="jsr166y.jar" location="${build.jsr166y.dir}/jsr166y.jar"/>
169     <property name="jsr166e.jar" location="${build.jsr166e.dir}/jsr166e.jar"/>
170     <property name="extra166y.jar" location="${build.extra166y.dir}/extra166y.jar"/>
171 jsr166 1.106 <property name="junit.jar" location="${lib.dir}/junit.jar"/>
172 jsr166 1.65
173 jsr166 1.152 <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
174     <property name="java5.docroot.url" value="http://docs.oracle.com/javase/1.5.0/docs"/>
175     <property name="java6.docroot.url" value="http://docs.oracle.com/javase/6/docs"/>
176     <property name="java7.docroot.url" value="http://docs.oracle.com/javase/7/docs"/>
177 jsr166 1.157 <property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/>
178     <!-- The expected canonical location does not yet exist as of 2014-07 -->
179 jsr166 1.152 <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
180 jsr166 1.157 <property name="java9.docroot.url" value="http://download.java.net/jdk9/docs"/>
181 jsr166 1.152 <!-- Default jdk doc location (latest stable release seems best) -->
182 jsr166 1.157 <property name="java.docroot.url" value="${java8.docroot.url}"/>
183 jsr166 1.151
184 jsr166 1.152 <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
185     <property name="java5.api.url" value="${java5.docroot.url}/api/"/>
186     <property name="java6.api.url" value="${java6.docroot.url}/api/"/>
187     <property name="java7.api.url" value="${java7.docroot.url}/api/"/>
188     <property name="java8.api.url" value="${java8.docroot.url}/api/"/>
189     <property name="java9.api.url" value="${java9.docroot.url}/api/"/>
190     <property name="java.api.url" value="${java.docroot.url}/api/"/>
191 jsr166 1.91
192 jsr166 1.115 <!-- Define the "jtreg" task -->
193     <!-- See the docs in "jtreg -onlineHelp" -->
194     <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
195     classpath="${lib.dir}/jtreg.jar" />
196    
197 jsr166 1.183 <!-- Tck options; see JSR166TestCase.java
198     To profile a single tck test class:
199     ant -Djsr166.profileTests=true -Djsr166.profileThreshold=10 -Djsr166.tckTestClass=CompletableFutureTest tck
200     To stress test a single tck test class:
201     ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 tck
202     To stress test a single tck test method:
203     ant -Djsr166.tckTestClass=RecursiveTaskTest -Djsr166.runsPerTest=1000 -Djsr166.methodFilter=testAbnormalInvokeAll3 tck
204     -->
205     <property name="jsr166.tckTestClass" value="JSR166TestCase"/>
206 jsr166 1.118 <macrodef name="run-tck-tests">
207 jsr166 1.122 <attribute name="tck.src.dir" default="${tck.src.dir}"/>
208 jsr166 1.118 <attribute name="target"/>
209 jsr166 1.138 <attribute name="compile-target" default="@{target}"/>
210 jsr166 1.118 <attribute name="workdir"/>
211 jsr166 1.122 <attribute name="classes"/>
212 jsr166 1.155 <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
213 jsr166 1.132 <element name="javac-elements" optional="true"/>
214 jsr166 1.182
215 jsr166 1.118 <sequential>
216    
217 jsr166 1.182 <local name="modules"/>
218     <condition property="modules">
219     <available file="${jdk@{compile-target}.home}/jmods" type="dir"/>
220     </condition>
221    
222 jsr166 1.118 <mkdir dir="@{workdir}/tck-classes"/>
223    
224 jsr166 1.122 <javac srcdir="@{tck.src.dir}"
225 jsr166 1.118 destdir="@{workdir}/tck-classes"
226     debug="${build.debug}"
227     debuglevel="${build.debuglevel}"
228     deprecation="${build.deprecation}"
229 jsr166 1.138 source="@{compile-target}"
230     target="@{compile-target}"
231 jsr166 1.118 classpath="${junit.jar}"
232     includeAntRuntime="false"
233     includeJavaRuntime="false"
234 jsr166 1.138 executable="${javac@{compile-target}}"
235 jsr166 1.118 fork="true">
236    
237 jsr166 1.121 <include name="*.java"/>
238 jsr166 1.118 <compilerarg value="-XDignore.symbol.file=true"/>
239 jsr166 1.187 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation,-try"/>
240 jsr166 1.182 <compilerarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
241     <compilerarg value="-Xoverride:${build.classes.dir}" if:set="modules"/>
242 jsr166 1.118 <compilerarg line="${build.args}"/>
243 jsr166 1.132 <javac-elements/>
244 jsr166 1.118
245     </javac>
246    
247 jsr166 1.140 <java classname="${jsr166.tckTestClass}"
248 jsr166 1.118 failonerror="true"
249     jvm="${java@{target}}"
250     fork="true">
251 jsr166 1.182 <jvmarg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
252     <jvmarg value="-Xoverride:${build.classes.dir}" if:set="modules"/>
253 jsr166 1.118 <jvmarg line="@{jvmflags}"/>
254 jsr166 1.160
255 jsr166 1.174 <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 tck -->
256 jsr166 1.183 <syspropertyset id="system-properties-used-by-tck">
257 jsr166 1.160 <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
258 jsr166 1.184 <propertyref prefix="jsr166."/>
259 jsr166 1.160 </syspropertyset>
260    
261 jsr166 1.118 <classpath>
262     <pathelement location="${junit.jar}"/>
263     <pathelement location="@{workdir}/tck-classes"/>
264     </classpath>
265     </java>
266    
267     </sequential>
268     </macrodef>
269    
270 jsr166 1.165 <!-- Define jtreg test sets for different jdk versions -->
271 jsr166 1.173 <fileset dir="${jtreg9.src.dir}">
272 jsr166 1.165 <patternset id="jdk9.jtreg.tests">
273     <include name="**/*.java"/>
274     </patternset>
275     </fileset>
276    
277 jsr166 1.173 <fileset dir="${jtreg8.src.dir}">
278 jsr166 1.165 <patternset id="jdk8.jtreg.tests">
279     <include name="**/*.java"/>
280 jsr166 1.173 <exclude name="**/SpliteratorCharacteristics.java"/>
281 jsr166 1.168 <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->
282 jsr166 1.173 <exclude name="**/GCDuringIteration.java"/>
283 jsr166 1.165 </patternset>
284     </fileset>
285    
286 jsr166 1.173 <fileset dir="${jtreg7.src.dir}">
287 jsr166 1.165 <patternset id="jdk7.jtreg.tests">
288     <include name="**/*.java"/>
289     </patternset>
290     </fileset>
291    
292 jsr166 1.135 <macrodef name="run-jtreg-tests">
293 jsr166 1.174 <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
294 jsr166 1.135 <attribute name="source" default="7"/>
295     <attribute name="target"/>
296     <attribute name="workdir"/>
297     <attribute name="classes"/>
298     <attribute name="jtregflags" default=""/>
299 jsr166 1.182
300 jsr166 1.135 <sequential>
301 jsr166 1.182
302 jsr166 1.188 <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
303     <property name="jtreg.verbose" value="nopass,fail,error"/>
304    
305 jsr166 1.182 <local name="modules"/>
306     <condition property="modules">
307     <available file="${jdk@{target}.home}/jmods" type="dir"/>
308     </condition>
309    
310 jsr166 1.135 <delete dir="@{workdir}/JTwork" quiet="true"/>
311     <delete dir="@{workdir}/JTreport" quiet="true"/>
312     <mkdir dir="@{workdir}/JTwork/scratch"/>
313     <mkdir dir="@{workdir}/JTreport"/>
314 jsr166 1.173 <jtreg dir="${jtreg@{target}.src.dir}"
315 jsr166 1.135 jdk="${jdk@{target}.home}"
316     workDir="@{workdir}/JTwork"
317     reportDir="@{workdir}/JTreport">
318 jsr166 1.165 <patternset refid="jdk@{target}.jtreg.tests"/>
319 jsr166 1.182 <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
320     <arg value="-Xoverride:${build.classes.dir}" if:set="modules"/>
321 jsr166 1.135 <arg value="-agentvm"/>
322 jsr166 1.188 <arg value="-verbose:${jtreg.verbose}"/>
323 jsr166 1.135 <arg value="-vmoptions:-esa -ea"/>
324     <arg value="-automatic"/>
325     <arg value="-k:!ignore"/>
326     <arg line="@{jtregflags}"/>
327     </jtreg>
328     </sequential>
329     </macrodef>
330    
331 jsr166 1.65 <!-- ALoops classpath -->
332     <path id="loops.classpath">
333     <pathelement location="${build.loops.dir}"/>
334     </path>
335    
336 jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
337 jsr166 1.120 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
338 jsr166 1.100 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
339 tim 1.28
340 tim 1.59 <!-- Main targets -->
341 tim 1.28
342 jsr166 1.151 <property name="build.main.java.version" value="9"/>
343     <property name="build.main.javac" value="${javac9}"/>
344    
345 dl 1.80 <target name="dists"
346 jsr166 1.107 depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
347 dl 1.80 description="Builds all public jars and docs"/>
348 tim 1.11
349 tim 1.28 <target name="compile"
350 jsr166 1.100 depends="configure-compiler"
351 jsr166 1.102 description="Compiles src/main sources to build dir">
352 tim 1.27
353 jsr166 1.182 <local name="modules"/>
354     <condition property="modules">
355     <and>
356     <available file="${jdk9.home}/jmods" type="dir"/>
357     <equals arg1="9" arg2="${build.main.java.version}"/>
358     </and>
359     </condition>
360    
361     <local name="destdir"/>
362     <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>
363     <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>
364    
365     <mkdir dir="${destdir}"/>
366 tim 1.27
367 tim 1.60 <javac srcdir="${src.dir}"
368 jsr166 1.182 destdir="${destdir}"
369 jsr166 1.100 debug="${build.debug}"
370     debuglevel="${build.debuglevel}"
371     deprecation="${build.deprecation}"
372     classpath=""
373     includeAntRuntime="false"
374     includeJavaRuntime="false"
375 jsr166 1.151 executable="${build.main.javac}"
376 jsr166 1.100 fork="true">
377 tim 1.1
378 jsr166 1.68 <include name="**/*.java"/>
379 jsr166 1.182 <compilerarg value="-Xmodule:java.base" if:set="modules"/>
380 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
381 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
382 jsr166 1.100 <compilerarg value="-Xlint:all"/>
383 jsr166 1.164 <compilerarg value="-Werror"/>
384 jsr166 1.146 <compilerarg value="-Xdoclint:all/protected"/>
385     <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
386 dl 1.73 <compilerarg line="${build.args}"/>
387 tim 1.1
388     </javac>
389     </target>
390    
391    
392 tim 1.28 <target name="jar"
393 tim 1.59 depends="compile"
394     description="Builds library jar from compiled sources">
395    
396     <jar destfile="${product.jar}">
397     <fileset dir="${build.classes.dir}"/>
398 jsr166 1.178 <manifest>
399 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
400     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
401 jsr166 1.178 </manifest>
402 tim 1.59 </jar>
403     </target>
404    
405 tim 1.1
406 tim 1.59 <target name="docs"
407 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
408 tim 1.59
409 jsr166 1.127 <delete dir="${docs.dir}"/>
410     <mkdir dir="${docs.dir}"/>
411 tim 1.59
412 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
413     <!-- sourcepath for packages -->
414    
415 jsr166 1.127 <javadoc destdir="${docs.dir}"
416 jsr166 1.88 packagenames="none"
417 jsr166 1.152 link="${java9.api.url}"
418 jsr166 1.88 overview="${src.dir}/intro.html"
419 jsr166 1.130 access="${build.javadoc.access}"
420 jsr166 1.151 sourcepath="${src.dir}:${jdk9src.dir}"
421 jsr166 1.100 classpath=""
422 jsr166 1.151 executable="${javadoc9}">
423 jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
424     <include name="**/*.java"/>
425     </fileset>
426 jsr166 1.152 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
427 jsr166 1.146 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
428 jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
429 jsr166 1.182 <!-- TODO <arg value="-Xmodule:java.base"/> -->
430 jsr166 1.100 <arg value="-tag"/>
431     <arg value="${javadoc.jls.option}"/>
432 dl 1.143 <arg value="-tag"/>
433     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
434     <arg value="-tag"/>
435     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
436     <arg value="-tag"/>
437 jsr166 1.144 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
438 tim 1.59 </javadoc>
439     </target>
440    
441    
442 tim 1.28 <target name="dist"
443 jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
444 tim 1.16 description="Puts all distributable products in single hierarchy"/>
445 tim 1.1
446 tim 1.58
447 tim 1.42 <target name="release"
448     depends="dist"
449     description="Puts entire CVS tree, plus distribution productions, in a jar">
450    
451     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
452    
453     <jar basedir="${basedir}" destfile="${release.jar}">
454 tim 1.58 <!-- <exclude name="build/**"/> -->
455 tim 1.42 <exclude name="${release.jar}"/>
456     <exclude name="user.properties"/>
457     <exclude name="etc/notes/**"/>
458 tim 1.58 <exclude name="src/emulation/**"/>
459 tim 1.44 <exclude name="**/SyntaxTest.java"/>
460 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
461 jsr166 1.178 <manifest>
462 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
463     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
464 jsr166 1.178 </manifest>
465 tim 1.42 </jar>
466     </target>
467 tim 1.1
468 tim 1.59
469 tim 1.11 <target name="clean"
470     description="Removes all build products">
471 tim 1.27
472 tim 1.11 <delete dir="${build.dir}"/>
473 tim 1.27
474 tim 1.1 </target>
475    
476    
477 tim 1.11 <target name="dist-clean"
478     description="Removes all build and distribution products">
479 tim 1.27
480 jsr166 1.148 <delete dir="${build.dir}"/>
481 tim 1.11 <delete dir="${dist.dir}"/>
482 tim 1.27
483 tim 1.9 </target>
484 tim 1.10
485    
486 tim 1.28 <target name="dist-jar"
487     depends="clean, jar">
488 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
489 jsr166 1.125 </target>
490 tim 1.27
491 jsr166 1.125 <target name="dist-docs"
492     depends="clean, docs">
493 jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
494 tim 1.11 </target>
495    
496 jsr166 1.174 <target name="tck"
497 jsr166 1.131 depends="jar"
498     description="Runs tck tests for main directly">
499    
500     <run-tck-tests
501 jsr166 1.151 target="${build.main.java.version}"
502 jsr166 1.131 workdir="${build.dir}"
503     classes="${product.jar}"/>
504     </target>
505 tim 1.1
506 jsr166 1.174 <target name="tck-parallelism-1"
507     description="Runs tck with given common pool parallelism">
508     <antcall target="tck">
509 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
510     </antcall>
511     </target>
512    
513 jsr166 1.174 <target name="tck-parallelism-0"
514     description="Runs tck with given common pool parallelism">
515     <antcall target="tck">
516 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
517     </antcall>
518     </target>
519    
520 jsr166 1.174 <target name="jtreg"
521 jsr166 1.135 depends="jar"
522     description="Runs jtreg tests for main using the jtreg ant task">
523     <run-jtreg-tests
524 jsr166 1.151 target="${build.main.java.version}"
525 jsr166 1.135 workdir="${build.dir}"
526     classes="${product.jar}"/>
527     </target>
528    
529 jsr166 1.142 <target name="test"
530 jsr166 1.174 depends="tck, tck-parallelism-1, jtreg"
531 jsr166 1.135 description="Runs tck and jtreg tests for main">
532     </target>
533    
534 jsr166 1.168 <target name="jtreg8" description="Runs jtreg tests with jdk8">
535    
536     <antcall target="jtreg">
537     <param name="build.main.java.version" value="8"/>
538     <param name="build.main.javac" value="${javac8}"/>
539     </antcall>
540    
541     </target>
542    
543 jsr166 1.151 <target name="test89"
544     description="Runs tck and jtreg tests for main for multiple java versions">
545    
546     <antcall target="clean"/>
547     <antcall target="test">
548     <param name="build.main.java.version" value="8"/>
549     <param name="build.main.javac" value="${javac8}"/>
550     </antcall>
551    
552     <antcall target="clean"/>
553     <antcall target="test">
554     <param name="build.main.java.version" value="9"/>
555     <param name="build.main.javac" value="${javac9}"/>
556     </antcall>
557    
558     </target>
559    
560 tim 1.18
561    
562 tim 1.32 <target name="configure-compiler">
563 jsr166 1.180 <fail message="ant version too old">
564     <condition>
565     <not> <antversion atleast="1.9.1"/> </not>
566     </condition>
567     </fail>
568 tim 1.54
569     <property name="unchecked.option" value="-Xlint:unchecked"/>
570    
571     <condition property="warnunchecked.arg" value="${unchecked.option}">
572 tim 1.57 <istrue value="${build.warnunchecked}"/>
573 tim 1.32 </condition>
574    
575 tim 1.37 <property name="warnunchecked.arg" value=""/>
576 tim 1.34
577 tim 1.32
578     <!-- Common options in javac invocations -->
579 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
580 tim 1.33
581     </target>
582    
583    
584 tim 1.28
585 jsr166 1.65 <!-- Various demos and test programs -->
586    
587    
588 jsr166 1.103 <target name="loops" depends="configure-compiler"
589 jsr166 1.65 description="Benchmark from Doug Lea's AQS paper">
590    
591     <mkdir dir="${build.loops.dir}"/>
592    
593     <javac srcdir="${loops.src.dir}"
594     destdir="${build.loops.dir}"
595     debug="${build.debug}"
596     debuglevel="${build.debuglevel}"
597     deprecation="${build.deprecation}"
598     source="${build.sourcelevel}"
599 jsr166 1.191 target="${build.sourcelevel}"
600 jsr166 1.65 fork="true">
601    
602     <compilerarg line="${build.args}"/>
603     <classpath refid="loops.classpath"/>
604 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
605 jsr166 1.65
606     </javac>
607    
608     <java classname="ALoops" fork="true">
609     <classpath refid="loops.classpath"/>
610     </java>
611    
612     </target>
613    
614    
615 jsr166 1.166 <target name="compile-test-loops" depends="jar"
616     description="compile all the perf tests in src/test/loops">
617    
618     <mkdir dir="${build.dir}/test/loops"/>
619    
620     <javac srcdir="${basedir}/src/test/loops"
621     destdir="${build.dir}/test/loops"
622     debug="${build.debug}"
623     debuglevel="${build.debuglevel}"
624     deprecation="${build.deprecation}"
625     includeAntRuntime="false"
626     includeJavaRuntime="false"
627     executable="${javac9}"
628     fork="true">
629    
630     <include name="*.java"/>
631     <compilerarg value="-XDignore.symbol.file=true"/>
632 jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
633 jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
634     <compilerarg line="${build.args}"/>
635    
636     </javac>
637    
638     </target>
639    
640    
641 jsr166 1.99 <!-- jsr166 4jdk7 -->
642 jsr166 1.92
643 jsr166 1.99 <target name="4jdk7compile"
644 jsr166 1.92 depends="configure-compiler"
645 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
646 jsr166 1.92
647 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
648 jsr166 1.92
649 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
650     destdir="${build.4jdk7.classes.dir}"
651 jsr166 1.92 debug="${build.debug}"
652     debuglevel="${build.debuglevel}"
653     deprecation="${build.deprecation}"
654 jsr166 1.107 source="6"
655 jsr166 1.190 target="6"
656 jsr166 1.92 classpath=""
657 jsr166 1.119 bootclasspath="${bootclasspath6}"
658 jsr166 1.92 includeAntRuntime="false"
659     includeJavaRuntime="false"
660 jsr166 1.97 executable="${javac7}"
661 jsr166 1.92 fork="true">
662    
663     <include name="**/*.java"/>
664 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
665 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
666     <compilerarg value="-Xlint:all"/>
667 jsr166 1.164 <compilerarg value="-Werror"/>
668 jsr166 1.118 <compilerarg line="${build.args}"/>
669 jsr166 1.92
670     </javac>
671 jsr166 1.118 </target>
672 jsr166 1.92
673 jsr166 1.149 <target name="4jdk7doclint"
674     depends="configure-compiler"
675     description="Finds doclint warnings">
676    
677     <mkdir dir="${build.4jdk7.classes.dir}"/>
678    
679     <javac srcdir="${4jdk7src.dir}"
680     destdir="${build.4jdk7.classes.dir}"
681     debug="${build.debug}"
682     debuglevel="${build.debuglevel}"
683     deprecation="${build.deprecation}"
684     source="6"
685 jsr166 1.190 target="6"
686 jsr166 1.149 classpath=""
687 jsr166 1.190 bootclasspath="${bootclasspath6}"
688 jsr166 1.149 includeAntRuntime="false"
689     includeJavaRuntime="false"
690     executable="${javac8}"
691     fork="true">
692    
693     <include name="**/*.java"/>
694     <compilerarg value="-Xprefer:source"/>
695     <compilerarg value="-XDignore.symbol.file=true"/>
696     <compilerarg value="-Xlint:all"/>
697     <compilerarg value="-Xdoclint:all/protected"/>
698     <compilerarg line="${build.args}"/>
699    
700     </javac>
701     </target>
702    
703 jsr166 1.116
704 jsr166 1.128 <target name="4jdk7jar"
705 jsr166 1.116 depends="4jdk7compile"
706     description="Builds library jar from compiled sources">
707    
708     <jar destfile="${4jdk7product.jar}">
709 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
710 jsr166 1.178 <manifest>
711 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
712     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
713 jsr166 1.178 </manifest>
714 jsr166 1.97 </jar>
715    
716 jsr166 1.92 </target>
717    
718    
719 jsr166 1.174 <target name="4jdk7-tck"
720 jsr166 1.128 depends="4jdk7jar"
721 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
722 jsr166 1.116
723 jsr166 1.97 <run-tck-tests
724 jsr166 1.116 target="7"
725     workdir="${build.4jdk7.dir}"
726 jsr166 1.132 classes="${4jdk7product.jar}">
727     <javac-elements>
728 jsr166 1.134 <!-- JDK8+ test classes -->
729 jsr166 1.137 <exclude name="*8Test.java"/>
730 jsr166 1.151 <exclude name="*9Test.java"/>
731 jsr166 1.176 <exclude name="*10Test.java"/>
732 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
733     <exclude name="DoubleAdderTest.java"/>
734     <exclude name="LongAccumulatorTest.java"/>
735     <exclude name="LongAdderTest.java"/>
736 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
737 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
738 jsr166 1.132 <exclude name="StampedLockTest.java"/>
739 jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
740 jsr166 1.132 </javac-elements>
741     </run-tck-tests>
742 jsr166 1.97 </target>
743    
744    
745 jsr166 1.174 <target name="4jdk7-tck-junit"
746 jsr166 1.99 depends="4jdk7compile"
747     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
748 jsr166 1.97
749     <junit printsummary="true"
750     showoutput="true"
751     errorProperty="junit.failed"
752     failureProperty="junit.failed"
753     includeantruntime="true"
754     jvm="${java7}"
755     fork="true">
756    
757 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
758 jsr166 1.97 <jvmarg value="-server"/>
759 jsr166 1.92
760 jsr166 1.97 <classpath>
761     <pathelement location="${junit.jar}"/>
762 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
763 jsr166 1.97 </classpath>
764 jsr166 1.92
765 jsr166 1.97 <formatter type="brief"/>
766 jsr166 1.92
767 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
768 jsr166 1.97 </test>
769 jsr166 1.92
770 jsr166 1.97 </junit>
771 jsr166 1.92 </target>
772    
773 jsr166 1.174 <target name="4jdk7-jtreg"
774 jsr166 1.135 depends="4jdk7jar"
775 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
776 jsr166 1.135 <run-jtreg-tests
777     target="7"
778     workdir="${build.4jdk7.dir}"
779 jsr166 1.165 classes="${4jdk7product.jar}"/>
780 jsr166 1.115 </target>
781    
782    
783     <target name="4jdk7-test"
784 jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
785 jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
786     </target>
787    
788 jsr166 1.92
789 jsr166 1.99 <target name="4jdk7docs"
790 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
791 jsr166 1.92
792 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
793     <mkdir dir="${4jdk7docs.dir}"/>
794 jsr166 1.92
795 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
796 jsr166 1.92 packagenames="none"
797 jsr166 1.152 link="${java7.api.url}"
798 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
799 jsr166 1.130 access="${build.javadoc.access}"
800 jsr166 1.119 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
801 jsr166 1.92 classpath=""
802 jsr166 1.99 executable="${javadoc7}">
803     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
804 jsr166 1.92 <include name="**/*.java"/>
805     </fileset>
806 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
807 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
808 jsr166 1.92 </javadoc>
809     </target>
810    
811    
812 jsr166 1.99 <target name="4jdk7dist"
813 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
814 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
815    
816    
817 jsr166 1.99 <target name="4jdk7clean"
818 jsr166 1.109 description="Removes all 4jdk7 build products">
819 jsr166 1.92
820 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
821 jsr166 1.92
822     </target>
823    
824    
825 jsr166 1.99 <target name="4jdk7dist-jar"
826 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
827 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
828     </target>
829 jsr166 1.92
830    
831 jsr166 1.125 <target name="4jdk7dist-docs"
832     depends="4jdk7clean, 4jdk7docs">
833 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
834 jsr166 1.92 </target>
835    
836 jsr166 1.109
837 dl 1.70 <!-- jsr166x -->
838    
839     <target name="jsr166xcompile"
840 jsr166 1.103 depends="configure-compiler"
841 jsr166 1.105 description="Compiles jsr166x sources to build dir">
842 dl 1.70
843 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
844 dl 1.70
845 jsr166 1.105 <javac srcdir="${topsrc.dir}"
846 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
847 jsr166 1.105 debug="${build.debug}"
848     debuglevel="${build.debuglevel}"
849     deprecation="${build.deprecation}"
850     classpath=""
851 jsr166 1.119 bootclasspath="${bootclasspath6}"
852 jsr166 1.107 source="5"
853 jsr166 1.190 target="5"
854 jsr166 1.105 includeAntRuntime="false"
855     includeJavaRuntime="false"
856     executable="${javac7}"
857     fork="true">
858 dl 1.70
859 jsr166 1.105 <include name="jsr166x/**/*.java"/>
860 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
861 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
862 jsr166 1.164 <compilerarg value="-Werror"/>
863 jsr166 1.118 <compilerarg line="${build.args}"/>
864 dl 1.70
865     </javac>
866     </target>
867    
868    
869 jsr166 1.128 <target name="jsr166xjar"
870 dl 1.70 depends="jsr166xcompile"
871     description="Builds library jar from compiled sources">
872    
873 jsr166 1.106 <jar destfile="${jsr166x.jar}">
874 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
875 jsr166 1.178 <manifest>
876 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
877     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
878 jsr166 1.178 </manifest>
879 dl 1.70 </jar>
880    
881     </target>
882    
883    
884     <target name="jsr166xdocs"
885 jsr166 1.102 description="Builds javadocs to dist dir">
886 dl 1.70
887 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
888     <mkdir dir="${jsr166xdocs.dir}"/>
889 dl 1.70
890 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
891 jsr166 1.107 packagenames="jsr166x.*"
892 jsr166 1.152 link="${java.api.url}"
893 jsr166 1.130 access="${build.javadoc.access}"
894 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
895     bootclasspath="${bootclasspath6}"
896 jsr166 1.107 source="5"
897 jsr166 1.118 executable="${javadoc7}">
898 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
899 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
900 dl 1.70
901 jsr166 1.118 </javadoc>
902 dl 1.70 </target>
903    
904    
905     <target name="jsr166xdist"
906 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
907 dl 1.70 description="Puts all distributable products in single hierarchy"/>
908    
909    
910     <target name="jsr166xclean"
911 jsr166 1.109 description="Removes all jsr166x build products">
912 dl 1.70
913     <delete dir="${build.jsr166x.dir}"/>
914    
915     </target>
916    
917    
918     <target name="jsr166xdist-jar"
919 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
920 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
921 jsr166 1.125 </target>
922 dl 1.70
923 jsr166 1.125 <target name="jsr166xdist-docs"
924     depends="jsr166xclean, jsr166xdocs">
925 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
926 dl 1.70 </target>
927    
928 dl 1.74 <!-- jsr166y -->
929    
930    
931     <target name="jsr166ycompile"
932 jsr166 1.103 depends="configure-compiler"
933 dl 1.74 description="Compiles jsr166y sources">
934    
935 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
936 dl 1.74
937 jsr166 1.103 <javac srcdir="${topsrc.dir}"
938 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
939 jsr166 1.103 debug="${build.debug}"
940     debuglevel="${build.debuglevel}"
941     deprecation="${build.deprecation}"
942 jsr166 1.107 source="6"
943 jsr166 1.189 target="6"
944 jsr166 1.103 classpath=""
945 jsr166 1.119 bootclasspath="${bootclasspath6}"
946 jsr166 1.103 includeAntRuntime="false"
947     includeJavaRuntime="false"
948     executable="${javac7}"
949     fork="true">
950 dl 1.74
951 jsr166 1.103 <include name="jsr166y/**/*.java"/>
952 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
953 jsr166 1.103 <compilerarg value="-Xlint:all"/>
954 jsr166 1.164 <compilerarg value="-Werror"/>
955 jsr166 1.118 <compilerarg line="${build.args}"/>
956    
957 dl 1.74 </javac>
958     </target>
959    
960    
961 jsr166 1.128 <target name="jsr166yjar"
962 dl 1.74 depends="jsr166ycompile"
963     description="Builds library jar from compiled sources">
964    
965 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
966 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
967 jsr166 1.178 <manifest>
968 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
969     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
970 jsr166 1.178 </manifest>
971 dl 1.74 </jar>
972    
973     </target>
974    
975    
976     <target name="jsr166ydocs"
977 jsr166 1.102 description="Builds javadocs to dist dir">
978 dl 1.74
979 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
980     <mkdir dir="${jsr166ydocs.dir}"/>
981 dl 1.74
982 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
983 jsr166 1.107 packagenames="jsr166y.*"
984 jsr166 1.152 link="${java.api.url}"
985 jsr166 1.130 access="${build.javadoc.access}"
986 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
987     bootclasspath="${bootclasspath6}"
988 jsr166 1.107 source="6"
989 jsr166 1.118 executable="${javadoc7}">
990 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
991 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
992 dl 1.74
993 jsr166 1.118 </javadoc>
994 dl 1.74 </target>
995    
996    
997     <target name="jsr166ydist"
998 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
999 dl 1.74 description="Puts all distributable products in single hierarchy"/>
1000    
1001    
1002     <target name="jsr166yclean"
1003 jsr166 1.109 description="Removes all jsr166y build products">
1004 dl 1.74
1005     <delete dir="${build.jsr166y.dir}"/>
1006    
1007     </target>
1008    
1009    
1010     <target name="jsr166ydist-jar"
1011 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
1012 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1013 jsr166 1.125 </target>
1014 dl 1.74
1015 jsr166 1.125 <target name="jsr166ydist-docs"
1016     depends="jsr166yclean, jsr166ydocs">
1017 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1018 dl 1.74 </target>
1019    
1020 dl 1.90
1021 dl 1.76 <!-- extra166y -->
1022    
1023    
1024     <target name="extra166ycompile"
1025 jsr166 1.128 depends="configure-compiler, jsr166yjar"
1026 dl 1.76 description="Compiles extra166y sources">
1027    
1028 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
1029 dl 1.76
1030 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1031 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
1032 jsr166 1.103 debug="${build.debug}"
1033     debuglevel="${build.debuglevel}"
1034     deprecation="${build.deprecation}"
1035 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1036 jsr166 1.105 classpath=""
1037 jsr166 1.107 source="6"
1038 jsr166 1.190 target="6"
1039 jsr166 1.103 includeAntRuntime="false"
1040     includeJavaRuntime="false"
1041     executable="${javac7}"
1042     fork="true">
1043 dl 1.76
1044 jsr166 1.103 <include name="extra166y/**/*.java"/>
1045 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1046 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1047 jsr166 1.164 <compilerarg value="-Werror"/>
1048 jsr166 1.118 <compilerarg line="${build.args}"/>
1049 dl 1.76
1050     </javac>
1051     </target>
1052    
1053    
1054 jsr166 1.128 <target name="extra166yjar"
1055 dl 1.76 depends="extra166ycompile"
1056     description="Builds library jar from compiled sources">
1057    
1058 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1059 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1060 jsr166 1.178 <manifest>
1061 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1062     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1063 jsr166 1.178 </manifest>
1064 dl 1.76 </jar>
1065    
1066     </target>
1067    
1068    
1069     <target name="extra166ydocs"
1070 jsr166 1.107 description="Builds javadocs to build dir">
1071 dl 1.76
1072 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1073     <mkdir dir="${extra166ydocs.dir}"/>
1074 dl 1.76
1075 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1076 jsr166 1.107 packagenames="extra166y.*"
1077 jsr166 1.152 link="${java.api.url}"
1078 jsr166 1.130 access="${build.javadoc.access}"
1079 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1080     bootclasspath="${bootclasspath6}"
1081 jsr166 1.107 source="6"
1082 jsr166 1.118 executable="${javadoc7}">
1083 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1084 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1085 dl 1.76
1086 jsr166 1.118 </javadoc>
1087 dl 1.76 </target>
1088    
1089    
1090     <target name="extra166ydist"
1091 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1092 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1093    
1094    
1095     <target name="extra166yclean"
1096 jsr166 1.109 description="Removes all extra166y build products">
1097 dl 1.76
1098     <delete dir="${build.extra166y.dir}"/>
1099    
1100     </target>
1101    
1102    
1103     <target name="extra166ydist-jar"
1104 jsr166 1.128 depends="extra166yclean, extra166yjar">
1105 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1106 jsr166 1.125 </target>
1107 dl 1.76
1108 jsr166 1.125 <target name="extra166ydist-docs"
1109     depends="extra166yclean, extra166ydocs">
1110 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1111 dl 1.76 </target>
1112    
1113 dl 1.90 <!-- jsr166e -->
1114    
1115 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1116     <property name="build.jsr166e.javac" value="${javac6}"/>
1117    
1118 dl 1.90 <target name="jsr166ecompile"
1119 jsr166 1.94 depends="configure-compiler"
1120 dl 1.90 description="Compiles jsr166e sources">
1121    
1122 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1123 dl 1.90
1124 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1125 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1126 jsr166 1.94 debug="${build.debug}"
1127     debuglevel="${build.debuglevel}"
1128     deprecation="${build.deprecation}"
1129 jsr166 1.144 source="${build.jsr166e.java.version}"
1130 jsr166 1.190 target="${build.jsr166e.java.version}"
1131 jsr166 1.94 classpath=""
1132     includeAntRuntime="false"
1133     includeJavaRuntime="false"
1134 jsr166 1.144 executable="${build.jsr166e.javac}"
1135 jsr166 1.94 fork="true">
1136 dl 1.90
1137 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1138 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1139 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1140 jsr166 1.164 <compilerarg value="-Werror"/>
1141 jsr166 1.118 <compilerarg line="${build.args}"/>
1142 dl 1.90
1143     </javac>
1144     </target>
1145    
1146 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1147     <target name="jsr166edoclint">
1148    
1149     <mkdir dir="${build.jsr166e.classes.dir}"/>
1150    
1151     <javac srcdir="${topsrc.dir}"
1152     destdir="${build.jsr166e.classes.dir}"
1153     debug="${build.debug}"
1154     debuglevel="${build.debuglevel}"
1155     deprecation="${build.deprecation}"
1156     source="${build.jsr166e.java.version}"
1157 jsr166 1.190 target="${build.jsr166e.java.version}"
1158 jsr166 1.150 classpath=""
1159 jsr166 1.190 bootclasspath="${bootclasspath6}"
1160 jsr166 1.150 includeAntRuntime="false"
1161     includeJavaRuntime="false"
1162     executable="${javac8}"
1163     fork="true">
1164    
1165     <include name="jsr166e/**/*.java"/>
1166     <compilerarg value="-XDignore.symbol.file=true"/>
1167     <compilerarg value="-Xlint:all"/>
1168 jsr166 1.164 <compilerarg value="-Werror"/>
1169 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1170    
1171     </javac>
1172     </target>
1173    
1174 dl 1.90
1175 jsr166 1.128 <target name="jsr166ejar"
1176 dl 1.90 depends="jsr166ecompile"
1177     description="Builds library jar from compiled sources">
1178    
1179 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1180 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1181 jsr166 1.178 <manifest>
1182 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1183     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1184 jsr166 1.178 </manifest>
1185 dl 1.90 </jar>
1186    
1187     </target>
1188    
1189    
1190     <target name="jsr166edocs"
1191 jsr166 1.107 description="Builds javadocs to build dir">
1192 dl 1.90
1193 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1194     <mkdir dir="${jsr166edocs.dir}"/>
1195 dl 1.90
1196 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1197 jsr166 1.107 packagenames="jsr166e.*"
1198 jsr166 1.152 link="${java.api.url}"
1199 jsr166 1.130 access="${build.javadoc.access}"
1200 jsr166 1.144 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1201     source="${build.jsr166e.java.version}"
1202 jsr166 1.118 executable="${javadoc7}">
1203 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1204 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1205    
1206 jsr166 1.96 </javadoc>
1207 dl 1.90 </target>
1208    
1209    
1210 jsr166 1.174 <target name="jsr166e-tck-one-java-version"
1211 jsr166 1.148 depends="jsr166ejar">
1212 jsr166 1.122
1213 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1214    
1215 jsr166 1.122 <run-tck-tests
1216     tck.src.dir="${test.src.dir}/tck-jsr166e"
1217 jsr166 1.144 target="${build.jsr166e.java.version}"
1218 jsr166 1.122 workdir="${build.jsr166e.dir}"
1219     classes="${jsr166e.jar}"/>
1220     </target>
1221    
1222 jsr166 1.174 <target name="jsr166e-tck"
1223 jsr166 1.144 description="Runs tck tests for jsr166e for multiple java versions">
1224    
1225     <!-- <antcall target="clean"/> -->
1226 jsr166 1.174 <!-- <antcall target="jsr166e-tck-one-java-version"> -->
1227 jsr166 1.144 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1228     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1229     <!-- </antcall> -->
1230    
1231     <antcall target="clean"/>
1232 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1233 jsr166 1.144 <param name="build.jsr166e.java.version" value="7"/>
1234     <param name="build.jsr166e.javac" value="${javac7}"/>
1235     </antcall>
1236    
1237     <antcall target="clean"/>
1238 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1239 jsr166 1.144 <param name="build.jsr166e.java.version" value="6"/>
1240     <param name="build.jsr166e.javac" value="${javac6}"/>
1241     </antcall>
1242     </target>
1243    
1244 jsr166 1.122
1245 jsr166 1.147 <target name="jsr166e-test"
1246 jsr166 1.174 depends="jsr166e-tck"
1247 jsr166 1.147 description="Runs all tests for jsr166e">
1248     </target>
1249    
1250 dl 1.90 <target name="jsr166edist"
1251 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1252 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1253    
1254    
1255     <target name="jsr166eclean"
1256 jsr166 1.109 description="Removes all jsr166e build products">
1257 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1258     </target>
1259    
1260    
1261     <target name="jsr166edist-jar"
1262 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1263 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1264 jsr166 1.125 </target>
1265 dl 1.90
1266 jsr166 1.125 <target name="jsr166edist-docs"
1267     depends="jsr166eclean, jsr166edocs">
1268 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1269 dl 1.90 </target>
1270    
1271 jsr166 1.130
1272     <!-- Find buglets that can be detected by static build tools -->
1273    
1274     <target name="lint">
1275     <antcall target="dists">
1276 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1277     </antcall>
1278     </target>
1279    
1280     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1281     <target name="lint-private">
1282     <antcall target="dist">
1283 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1284     </antcall>
1285     </target>
1286    
1287    
1288 tim 1.1 </project>