ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.182
Committed: Sun Sep 13 17:46:07 2015 UTC (8 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.181: +45 -8 lines
Log Message:
preliminary incomplete support for jigsaw

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