ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.190
Committed: Thu Nov 5 17:18:53 2015 UTC (8 years, 5 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.189: +8 -2 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     fork="true">
600    
601     <compilerarg line="${build.args}"/>
602     <classpath refid="loops.classpath"/>
603 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
604 jsr166 1.65
605     </javac>
606    
607     <java classname="ALoops" fork="true">
608     <classpath refid="loops.classpath"/>
609     </java>
610    
611     </target>
612    
613    
614 jsr166 1.166 <target name="compile-test-loops" depends="jar"
615     description="compile all the perf tests in src/test/loops">
616    
617     <mkdir dir="${build.dir}/test/loops"/>
618    
619     <javac srcdir="${basedir}/src/test/loops"
620     destdir="${build.dir}/test/loops"
621     debug="${build.debug}"
622     debuglevel="${build.debuglevel}"
623     deprecation="${build.deprecation}"
624     includeAntRuntime="false"
625     includeJavaRuntime="false"
626     executable="${javac9}"
627     fork="true">
628    
629     <include name="*.java"/>
630     <compilerarg value="-XDignore.symbol.file=true"/>
631 jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
632 jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
633     <compilerarg line="${build.args}"/>
634    
635     </javac>
636    
637     </target>
638    
639    
640 jsr166 1.99 <!-- jsr166 4jdk7 -->
641 jsr166 1.92
642 jsr166 1.99 <target name="4jdk7compile"
643 jsr166 1.92 depends="configure-compiler"
644 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
645 jsr166 1.92
646 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
647 jsr166 1.92
648 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
649     destdir="${build.4jdk7.classes.dir}"
650 jsr166 1.92 debug="${build.debug}"
651     debuglevel="${build.debuglevel}"
652     deprecation="${build.deprecation}"
653 jsr166 1.107 source="6"
654 jsr166 1.190 target="6"
655 jsr166 1.92 classpath=""
656 jsr166 1.119 bootclasspath="${bootclasspath6}"
657 jsr166 1.92 includeAntRuntime="false"
658     includeJavaRuntime="false"
659 jsr166 1.97 executable="${javac7}"
660 jsr166 1.92 fork="true">
661    
662     <include name="**/*.java"/>
663 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
664 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
665     <compilerarg value="-Xlint:all"/>
666 jsr166 1.164 <compilerarg value="-Werror"/>
667 jsr166 1.118 <compilerarg line="${build.args}"/>
668 jsr166 1.92
669     </javac>
670 jsr166 1.118 </target>
671 jsr166 1.92
672 jsr166 1.149 <target name="4jdk7doclint"
673     depends="configure-compiler"
674     description="Finds doclint warnings">
675    
676     <mkdir dir="${build.4jdk7.classes.dir}"/>
677    
678     <javac srcdir="${4jdk7src.dir}"
679     destdir="${build.4jdk7.classes.dir}"
680     debug="${build.debug}"
681     debuglevel="${build.debuglevel}"
682     deprecation="${build.deprecation}"
683     source="6"
684 jsr166 1.190 target="6"
685 jsr166 1.149 classpath=""
686 jsr166 1.190 bootclasspath="${bootclasspath6}"
687 jsr166 1.149 includeAntRuntime="false"
688     includeJavaRuntime="false"
689     executable="${javac8}"
690     fork="true">
691    
692     <include name="**/*.java"/>
693     <compilerarg value="-Xprefer:source"/>
694     <compilerarg value="-XDignore.symbol.file=true"/>
695     <compilerarg value="-Xlint:all"/>
696     <compilerarg value="-Xdoclint:all/protected"/>
697     <compilerarg line="${build.args}"/>
698    
699     </javac>
700     </target>
701    
702 jsr166 1.116
703 jsr166 1.128 <target name="4jdk7jar"
704 jsr166 1.116 depends="4jdk7compile"
705     description="Builds library jar from compiled sources">
706    
707     <jar destfile="${4jdk7product.jar}">
708 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
709 jsr166 1.178 <manifest>
710 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
711     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
712 jsr166 1.178 </manifest>
713 jsr166 1.97 </jar>
714    
715 jsr166 1.92 </target>
716    
717    
718 jsr166 1.174 <target name="4jdk7-tck"
719 jsr166 1.128 depends="4jdk7jar"
720 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
721 jsr166 1.116
722 jsr166 1.97 <run-tck-tests
723 jsr166 1.116 target="7"
724     workdir="${build.4jdk7.dir}"
725 jsr166 1.132 classes="${4jdk7product.jar}">
726     <javac-elements>
727 jsr166 1.134 <!-- JDK8+ test classes -->
728 jsr166 1.137 <exclude name="*8Test.java"/>
729 jsr166 1.151 <exclude name="*9Test.java"/>
730 jsr166 1.176 <exclude name="*10Test.java"/>
731 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
732     <exclude name="DoubleAdderTest.java"/>
733     <exclude name="LongAccumulatorTest.java"/>
734     <exclude name="LongAdderTest.java"/>
735 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
736 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
737 jsr166 1.132 <exclude name="StampedLockTest.java"/>
738 jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
739 jsr166 1.132 </javac-elements>
740     </run-tck-tests>
741 jsr166 1.97 </target>
742    
743    
744 jsr166 1.174 <target name="4jdk7-tck-junit"
745 jsr166 1.99 depends="4jdk7compile"
746     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
747 jsr166 1.97
748     <junit printsummary="true"
749     showoutput="true"
750     errorProperty="junit.failed"
751     failureProperty="junit.failed"
752     includeantruntime="true"
753     jvm="${java7}"
754     fork="true">
755    
756 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
757 jsr166 1.97 <jvmarg value="-server"/>
758 jsr166 1.92
759 jsr166 1.97 <classpath>
760     <pathelement location="${junit.jar}"/>
761 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
762 jsr166 1.97 </classpath>
763 jsr166 1.92
764 jsr166 1.97 <formatter type="brief"/>
765 jsr166 1.92
766 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
767 jsr166 1.97 </test>
768 jsr166 1.92
769 jsr166 1.97 </junit>
770 jsr166 1.92 </target>
771    
772 jsr166 1.174 <target name="4jdk7-jtreg"
773 jsr166 1.135 depends="4jdk7jar"
774 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
775 jsr166 1.135 <run-jtreg-tests
776     target="7"
777     workdir="${build.4jdk7.dir}"
778 jsr166 1.165 classes="${4jdk7product.jar}"/>
779 jsr166 1.115 </target>
780    
781    
782     <target name="4jdk7-test"
783 jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
784 jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
785     </target>
786    
787 jsr166 1.92
788 jsr166 1.99 <target name="4jdk7docs"
789 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
790 jsr166 1.92
791 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
792     <mkdir dir="${4jdk7docs.dir}"/>
793 jsr166 1.92
794 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
795 jsr166 1.92 packagenames="none"
796 jsr166 1.152 link="${java7.api.url}"
797 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
798 jsr166 1.130 access="${build.javadoc.access}"
799 jsr166 1.119 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
800 jsr166 1.92 classpath=""
801 jsr166 1.99 executable="${javadoc7}">
802     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
803 jsr166 1.92 <include name="**/*.java"/>
804     </fileset>
805 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
806 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
807 jsr166 1.92 </javadoc>
808     </target>
809    
810    
811 jsr166 1.99 <target name="4jdk7dist"
812 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
813 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
814    
815    
816 jsr166 1.99 <target name="4jdk7clean"
817 jsr166 1.109 description="Removes all 4jdk7 build products">
818 jsr166 1.92
819 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
820 jsr166 1.92
821     </target>
822    
823    
824 jsr166 1.99 <target name="4jdk7dist-jar"
825 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
826 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
827     </target>
828 jsr166 1.92
829    
830 jsr166 1.125 <target name="4jdk7dist-docs"
831     depends="4jdk7clean, 4jdk7docs">
832 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
833 jsr166 1.92 </target>
834    
835 jsr166 1.109
836 dl 1.70 <!-- jsr166x -->
837    
838     <target name="jsr166xcompile"
839 jsr166 1.103 depends="configure-compiler"
840 jsr166 1.105 description="Compiles jsr166x sources to build dir">
841 dl 1.70
842 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
843 dl 1.70
844 jsr166 1.105 <javac srcdir="${topsrc.dir}"
845 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
846 jsr166 1.105 debug="${build.debug}"
847     debuglevel="${build.debuglevel}"
848     deprecation="${build.deprecation}"
849     classpath=""
850 jsr166 1.119 bootclasspath="${bootclasspath6}"
851 jsr166 1.107 source="5"
852 jsr166 1.190 target="5"
853 jsr166 1.105 includeAntRuntime="false"
854     includeJavaRuntime="false"
855     executable="${javac7}"
856     fork="true">
857 dl 1.70
858 jsr166 1.105 <include name="jsr166x/**/*.java"/>
859 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
860 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
861 jsr166 1.164 <compilerarg value="-Werror"/>
862 jsr166 1.118 <compilerarg line="${build.args}"/>
863 dl 1.70
864     </javac>
865     </target>
866    
867    
868 jsr166 1.128 <target name="jsr166xjar"
869 dl 1.70 depends="jsr166xcompile"
870     description="Builds library jar from compiled sources">
871    
872 jsr166 1.106 <jar destfile="${jsr166x.jar}">
873 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
874 jsr166 1.178 <manifest>
875 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
876     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
877 jsr166 1.178 </manifest>
878 dl 1.70 </jar>
879    
880     </target>
881    
882    
883     <target name="jsr166xdocs"
884 jsr166 1.102 description="Builds javadocs to dist dir">
885 dl 1.70
886 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
887     <mkdir dir="${jsr166xdocs.dir}"/>
888 dl 1.70
889 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
890 jsr166 1.107 packagenames="jsr166x.*"
891 jsr166 1.152 link="${java.api.url}"
892 jsr166 1.130 access="${build.javadoc.access}"
893 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
894     bootclasspath="${bootclasspath6}"
895 jsr166 1.107 source="5"
896 jsr166 1.118 executable="${javadoc7}">
897 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
898 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
899 dl 1.70
900 jsr166 1.118 </javadoc>
901 dl 1.70 </target>
902    
903    
904     <target name="jsr166xdist"
905 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
906 dl 1.70 description="Puts all distributable products in single hierarchy"/>
907    
908    
909     <target name="jsr166xclean"
910 jsr166 1.109 description="Removes all jsr166x build products">
911 dl 1.70
912     <delete dir="${build.jsr166x.dir}"/>
913    
914     </target>
915    
916    
917     <target name="jsr166xdist-jar"
918 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
919 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
920 jsr166 1.125 </target>
921 dl 1.70
922 jsr166 1.125 <target name="jsr166xdist-docs"
923     depends="jsr166xclean, jsr166xdocs">
924 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
925 dl 1.70 </target>
926    
927 dl 1.74 <!-- jsr166y -->
928    
929    
930     <target name="jsr166ycompile"
931 jsr166 1.103 depends="configure-compiler"
932 dl 1.74 description="Compiles jsr166y sources">
933    
934 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
935 dl 1.74
936 jsr166 1.103 <javac srcdir="${topsrc.dir}"
937 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
938 jsr166 1.103 debug="${build.debug}"
939     debuglevel="${build.debuglevel}"
940     deprecation="${build.deprecation}"
941 jsr166 1.107 source="6"
942 jsr166 1.189 target="6"
943 jsr166 1.103 classpath=""
944 jsr166 1.119 bootclasspath="${bootclasspath6}"
945 jsr166 1.103 includeAntRuntime="false"
946     includeJavaRuntime="false"
947     executable="${javac7}"
948     fork="true">
949 dl 1.74
950 jsr166 1.103 <include name="jsr166y/**/*.java"/>
951 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
952 jsr166 1.103 <compilerarg value="-Xlint:all"/>
953 jsr166 1.164 <compilerarg value="-Werror"/>
954 jsr166 1.118 <compilerarg line="${build.args}"/>
955    
956 dl 1.74 </javac>
957     </target>
958    
959    
960 jsr166 1.128 <target name="jsr166yjar"
961 dl 1.74 depends="jsr166ycompile"
962     description="Builds library jar from compiled sources">
963    
964 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
965 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
966 jsr166 1.178 <manifest>
967 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
968     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
969 jsr166 1.178 </manifest>
970 dl 1.74 </jar>
971    
972     </target>
973    
974    
975     <target name="jsr166ydocs"
976 jsr166 1.102 description="Builds javadocs to dist dir">
977 dl 1.74
978 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
979     <mkdir dir="${jsr166ydocs.dir}"/>
980 dl 1.74
981 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
982 jsr166 1.107 packagenames="jsr166y.*"
983 jsr166 1.152 link="${java.api.url}"
984 jsr166 1.130 access="${build.javadoc.access}"
985 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
986     bootclasspath="${bootclasspath6}"
987 jsr166 1.107 source="6"
988 jsr166 1.118 executable="${javadoc7}">
989 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
990 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
991 dl 1.74
992 jsr166 1.118 </javadoc>
993 dl 1.74 </target>
994    
995    
996     <target name="jsr166ydist"
997 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
998 dl 1.74 description="Puts all distributable products in single hierarchy"/>
999    
1000    
1001     <target name="jsr166yclean"
1002 jsr166 1.109 description="Removes all jsr166y build products">
1003 dl 1.74
1004     <delete dir="${build.jsr166y.dir}"/>
1005    
1006     </target>
1007    
1008    
1009     <target name="jsr166ydist-jar"
1010 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
1011 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1012 jsr166 1.125 </target>
1013 dl 1.74
1014 jsr166 1.125 <target name="jsr166ydist-docs"
1015     depends="jsr166yclean, jsr166ydocs">
1016 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1017 dl 1.74 </target>
1018    
1019 dl 1.90
1020 dl 1.76 <!-- extra166y -->
1021    
1022    
1023     <target name="extra166ycompile"
1024 jsr166 1.128 depends="configure-compiler, jsr166yjar"
1025 dl 1.76 description="Compiles extra166y sources">
1026    
1027 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
1028 dl 1.76
1029 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1030 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
1031 jsr166 1.103 debug="${build.debug}"
1032     debuglevel="${build.debuglevel}"
1033     deprecation="${build.deprecation}"
1034 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1035 jsr166 1.105 classpath=""
1036 jsr166 1.107 source="6"
1037 jsr166 1.190 target="6"
1038 jsr166 1.103 includeAntRuntime="false"
1039     includeJavaRuntime="false"
1040     executable="${javac7}"
1041     fork="true">
1042 dl 1.76
1043 jsr166 1.103 <include name="extra166y/**/*.java"/>
1044 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1045 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1046 jsr166 1.164 <compilerarg value="-Werror"/>
1047 jsr166 1.118 <compilerarg line="${build.args}"/>
1048 dl 1.76
1049     </javac>
1050     </target>
1051    
1052    
1053 jsr166 1.128 <target name="extra166yjar"
1054 dl 1.76 depends="extra166ycompile"
1055     description="Builds library jar from compiled sources">
1056    
1057 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1058 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1059 jsr166 1.178 <manifest>
1060 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1061     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1062 jsr166 1.178 </manifest>
1063 dl 1.76 </jar>
1064    
1065     </target>
1066    
1067    
1068     <target name="extra166ydocs"
1069 jsr166 1.107 description="Builds javadocs to build dir">
1070 dl 1.76
1071 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1072     <mkdir dir="${extra166ydocs.dir}"/>
1073 dl 1.76
1074 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1075 jsr166 1.107 packagenames="extra166y.*"
1076 jsr166 1.152 link="${java.api.url}"
1077 jsr166 1.130 access="${build.javadoc.access}"
1078 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1079     bootclasspath="${bootclasspath6}"
1080 jsr166 1.107 source="6"
1081 jsr166 1.118 executable="${javadoc7}">
1082 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1083 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1084 dl 1.76
1085 jsr166 1.118 </javadoc>
1086 dl 1.76 </target>
1087    
1088    
1089     <target name="extra166ydist"
1090 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1091 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1092    
1093    
1094     <target name="extra166yclean"
1095 jsr166 1.109 description="Removes all extra166y build products">
1096 dl 1.76
1097     <delete dir="${build.extra166y.dir}"/>
1098    
1099     </target>
1100    
1101    
1102     <target name="extra166ydist-jar"
1103 jsr166 1.128 depends="extra166yclean, extra166yjar">
1104 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1105 jsr166 1.125 </target>
1106 dl 1.76
1107 jsr166 1.125 <target name="extra166ydist-docs"
1108     depends="extra166yclean, extra166ydocs">
1109 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1110 dl 1.76 </target>
1111    
1112 dl 1.90 <!-- jsr166e -->
1113    
1114 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1115     <property name="build.jsr166e.javac" value="${javac6}"/>
1116    
1117 dl 1.90 <target name="jsr166ecompile"
1118 jsr166 1.94 depends="configure-compiler"
1119 dl 1.90 description="Compiles jsr166e sources">
1120    
1121 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1122 dl 1.90
1123 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1124 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1125 jsr166 1.94 debug="${build.debug}"
1126     debuglevel="${build.debuglevel}"
1127     deprecation="${build.deprecation}"
1128 jsr166 1.144 source="${build.jsr166e.java.version}"
1129 jsr166 1.190 target="${build.jsr166e.java.version}"
1130 jsr166 1.94 classpath=""
1131     includeAntRuntime="false"
1132     includeJavaRuntime="false"
1133 jsr166 1.144 executable="${build.jsr166e.javac}"
1134 jsr166 1.94 fork="true">
1135 dl 1.90
1136 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1137 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1138 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1139 jsr166 1.164 <compilerarg value="-Werror"/>
1140 jsr166 1.118 <compilerarg line="${build.args}"/>
1141 dl 1.90
1142     </javac>
1143     </target>
1144    
1145 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1146     <target name="jsr166edoclint">
1147    
1148     <mkdir dir="${build.jsr166e.classes.dir}"/>
1149    
1150     <javac srcdir="${topsrc.dir}"
1151     destdir="${build.jsr166e.classes.dir}"
1152     debug="${build.debug}"
1153     debuglevel="${build.debuglevel}"
1154     deprecation="${build.deprecation}"
1155     source="${build.jsr166e.java.version}"
1156 jsr166 1.190 target="${build.jsr166e.java.version}"
1157 jsr166 1.150 classpath=""
1158 jsr166 1.190 bootclasspath="${bootclasspath6}"
1159 jsr166 1.150 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>