ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.195
Committed: Thu Dec 17 23:55:06 2015 UTC (8 years, 4 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.194: +4 -0 lines
Log Message:
allow support for ant -Djtreg.flags=xxxx

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 jsr166 1.192 <!-- The expected canonical location does not yet exist as of 2015-11 -->
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.195 <!-- ant -Djtreg.flags=-timeoutFactor:4 -->
293     <property name="jtreg.flags" value=""/>
294    
295 jsr166 1.135 <macrodef name="run-jtreg-tests">
296 jsr166 1.174 <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture jtreg -->
297 jsr166 1.135 <attribute name="source" default="7"/>
298     <attribute name="target"/>
299     <attribute name="workdir"/>
300     <attribute name="classes"/>
301     <attribute name="jtregflags" default=""/>
302 jsr166 1.182
303 jsr166 1.135 <sequential>
304 jsr166 1.182
305 jsr166 1.188 <!-- ant -Djtreg.verbose=time,fail,error jtreg -->
306     <property name="jtreg.verbose" value="nopass,fail,error"/>
307    
308 jsr166 1.182 <local name="modules"/>
309     <condition property="modules">
310     <available file="${jdk@{target}.home}/jmods" type="dir"/>
311     </condition>
312    
313 jsr166 1.135 <delete dir="@{workdir}/JTwork" quiet="true"/>
314     <delete dir="@{workdir}/JTreport" quiet="true"/>
315     <mkdir dir="@{workdir}/JTwork/scratch"/>
316 jsr166 1.193 <!-- workaround for https://bugs.openjdk.java.net/browse/CODETOOLS-7901571 -->
317     <mkdir dir="@{workdir}/JTreport/html"/>
318     <mkdir dir="@{workdir}/JTreport/text"/>
319 jsr166 1.173 <jtreg dir="${jtreg@{target}.src.dir}"
320 jsr166 1.135 jdk="${jdk@{target}.home}"
321     workDir="@{workdir}/JTwork"
322     reportDir="@{workdir}/JTreport">
323 jsr166 1.165 <patternset refid="jdk@{target}.jtreg.tests"/>
324 jsr166 1.182 <arg value="-Xbootclasspath/p:@{classes}" unless:set="modules"/>
325     <arg value="-Xoverride:${build.classes.dir}" if:set="modules"/>
326 jsr166 1.135 <arg value="-agentvm"/>
327 jsr166 1.188 <arg value="-verbose:${jtreg.verbose}"/>
328 jsr166 1.135 <arg value="-vmoptions:-esa -ea"/>
329     <arg value="-automatic"/>
330     <arg value="-k:!ignore"/>
331     <arg line="@{jtregflags}"/>
332 jsr166 1.195 <arg line="${jtreg.flags}"/>
333 jsr166 1.135 </jtreg>
334     </sequential>
335     </macrodef>
336    
337 jsr166 1.65 <!-- ALoops classpath -->
338     <path id="loops.classpath">
339     <pathelement location="${build.loops.dir}"/>
340     </path>
341    
342 jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
343 jsr166 1.120 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
344 jsr166 1.100 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
345 tim 1.28
346 tim 1.59 <!-- Main targets -->
347 tim 1.28
348 jsr166 1.151 <property name="build.main.java.version" value="9"/>
349     <property name="build.main.javac" value="${javac9}"/>
350    
351 dl 1.80 <target name="dists"
352 jsr166 1.107 depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
353 dl 1.80 description="Builds all public jars and docs"/>
354 tim 1.11
355 tim 1.28 <target name="compile"
356 jsr166 1.100 depends="configure-compiler"
357 jsr166 1.102 description="Compiles src/main sources to build dir">
358 tim 1.27
359 jsr166 1.182 <local name="modules"/>
360     <condition property="modules">
361     <and>
362     <available file="${jdk9.home}/jmods" type="dir"/>
363     <equals arg1="9" arg2="${build.main.java.version}"/>
364     </and>
365     </condition>
366    
367     <local name="destdir"/>
368     <property name="destdir" value="${build.classes.dir}/java.base" if:set="modules"/>
369     <property name="destdir" value="${build.classes.dir}" unless:set="modules"/>
370    
371     <mkdir dir="${destdir}"/>
372 tim 1.27
373 tim 1.60 <javac srcdir="${src.dir}"
374 jsr166 1.182 destdir="${destdir}"
375 jsr166 1.100 debug="${build.debug}"
376     debuglevel="${build.debuglevel}"
377     deprecation="${build.deprecation}"
378     classpath=""
379     includeAntRuntime="false"
380     includeJavaRuntime="false"
381 jsr166 1.151 executable="${build.main.javac}"
382 jsr166 1.100 fork="true">
383 tim 1.1
384 jsr166 1.68 <include name="**/*.java"/>
385 jsr166 1.182 <compilerarg value="-Xmodule:java.base" if:set="modules"/>
386 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
387 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
388 jsr166 1.100 <compilerarg value="-Xlint:all"/>
389 jsr166 1.164 <compilerarg value="-Werror"/>
390 jsr166 1.146 <compilerarg value="-Xdoclint:all/protected"/>
391     <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
392 dl 1.73 <compilerarg line="${build.args}"/>
393 tim 1.1
394     </javac>
395 jsr166 1.194
396     <!-- We need jdk9's Contended annotation, but at compile time only -->
397     <delete file="${destdir}/jdk/internal/vm/annotation/Contended.class"/>
398 tim 1.1 </target>
399    
400    
401 tim 1.28 <target name="jar"
402 tim 1.59 depends="compile"
403     description="Builds library jar from compiled sources">
404    
405     <jar destfile="${product.jar}">
406     <fileset dir="${build.classes.dir}"/>
407 jsr166 1.178 <manifest>
408 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
409     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
410 jsr166 1.178 </manifest>
411 tim 1.59 </jar>
412     </target>
413    
414 tim 1.1
415 tim 1.59 <target name="docs"
416 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
417 tim 1.59
418 jsr166 1.127 <delete dir="${docs.dir}"/>
419     <mkdir dir="${docs.dir}"/>
420 tim 1.59
421 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
422     <!-- sourcepath for packages -->
423    
424 jsr166 1.127 <javadoc destdir="${docs.dir}"
425 jsr166 1.88 packagenames="none"
426 jsr166 1.152 link="${java9.api.url}"
427 jsr166 1.88 overview="${src.dir}/intro.html"
428 jsr166 1.130 access="${build.javadoc.access}"
429 jsr166 1.151 sourcepath="${src.dir}:${jdk9src.dir}"
430 jsr166 1.100 classpath=""
431 jsr166 1.151 executable="${javadoc9}">
432 jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
433     <include name="**/*.java"/>
434     </fileset>
435 jsr166 1.152 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
436 jsr166 1.146 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
437 jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
438 jsr166 1.182 <!-- TODO <arg value="-Xmodule:java.base"/> -->
439 jsr166 1.100 <arg value="-tag"/>
440     <arg value="${javadoc.jls.option}"/>
441 dl 1.143 <arg value="-tag"/>
442     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
443     <arg value="-tag"/>
444     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
445     <arg value="-tag"/>
446 jsr166 1.144 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
447 tim 1.59 </javadoc>
448     </target>
449    
450    
451 tim 1.28 <target name="dist"
452 jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
453 tim 1.16 description="Puts all distributable products in single hierarchy"/>
454 tim 1.1
455 tim 1.58
456 tim 1.42 <target name="release"
457     depends="dist"
458     description="Puts entire CVS tree, plus distribution productions, in a jar">
459    
460     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
461    
462     <jar basedir="${basedir}" destfile="${release.jar}">
463 tim 1.58 <!-- <exclude name="build/**"/> -->
464 tim 1.42 <exclude name="${release.jar}"/>
465     <exclude name="user.properties"/>
466     <exclude name="etc/notes/**"/>
467 tim 1.58 <exclude name="src/emulation/**"/>
468 tim 1.44 <exclude name="**/SyntaxTest.java"/>
469 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
470 jsr166 1.178 <manifest>
471 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
472     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
473 jsr166 1.178 </manifest>
474 tim 1.42 </jar>
475     </target>
476 tim 1.1
477 tim 1.59
478 tim 1.11 <target name="clean"
479     description="Removes all build products">
480 tim 1.27
481 tim 1.11 <delete dir="${build.dir}"/>
482 tim 1.27
483 tim 1.1 </target>
484    
485    
486 tim 1.11 <target name="dist-clean"
487     description="Removes all build and distribution products">
488 tim 1.27
489 jsr166 1.148 <delete dir="${build.dir}"/>
490 tim 1.11 <delete dir="${dist.dir}"/>
491 tim 1.27
492 tim 1.9 </target>
493 tim 1.10
494    
495 tim 1.28 <target name="dist-jar"
496     depends="clean, jar">
497 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
498 jsr166 1.125 </target>
499 tim 1.27
500 jsr166 1.125 <target name="dist-docs"
501     depends="clean, docs">
502 jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
503 tim 1.11 </target>
504    
505 jsr166 1.174 <target name="tck"
506 jsr166 1.131 depends="jar"
507     description="Runs tck tests for main directly">
508    
509     <run-tck-tests
510 jsr166 1.151 target="${build.main.java.version}"
511 jsr166 1.131 workdir="${build.dir}"
512     classes="${product.jar}"/>
513     </target>
514 tim 1.1
515 jsr166 1.174 <target name="tck-parallelism-1"
516     description="Runs tck with given common pool parallelism">
517     <antcall target="tck">
518 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
519     </antcall>
520     </target>
521    
522 jsr166 1.174 <target name="tck-parallelism-0"
523     description="Runs tck with given common pool parallelism">
524     <antcall target="tck">
525 jsr166 1.160 <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
526     </antcall>
527     </target>
528    
529 jsr166 1.174 <target name="jtreg"
530 jsr166 1.135 depends="jar"
531     description="Runs jtreg tests for main using the jtreg ant task">
532     <run-jtreg-tests
533 jsr166 1.151 target="${build.main.java.version}"
534 jsr166 1.135 workdir="${build.dir}"
535     classes="${product.jar}"/>
536     </target>
537    
538 jsr166 1.142 <target name="test"
539 jsr166 1.174 depends="tck, tck-parallelism-1, jtreg"
540 jsr166 1.135 description="Runs tck and jtreg tests for main">
541     </target>
542    
543 jsr166 1.168 <target name="jtreg8" description="Runs jtreg tests with jdk8">
544    
545     <antcall target="jtreg">
546     <param name="build.main.java.version" value="8"/>
547     <param name="build.main.javac" value="${javac8}"/>
548     </antcall>
549    
550     </target>
551    
552 jsr166 1.151 <target name="test89"
553     description="Runs tck and jtreg tests for main for multiple java versions">
554    
555     <antcall target="clean"/>
556     <antcall target="test">
557     <param name="build.main.java.version" value="8"/>
558     <param name="build.main.javac" value="${javac8}"/>
559     </antcall>
560    
561     <antcall target="clean"/>
562     <antcall target="test">
563     <param name="build.main.java.version" value="9"/>
564     <param name="build.main.javac" value="${javac9}"/>
565     </antcall>
566    
567     </target>
568    
569 tim 1.18
570    
571 tim 1.32 <target name="configure-compiler">
572 jsr166 1.180 <fail message="ant version too old">
573     <condition>
574     <not> <antversion atleast="1.9.1"/> </not>
575     </condition>
576     </fail>
577 tim 1.54
578     <property name="unchecked.option" value="-Xlint:unchecked"/>
579    
580     <condition property="warnunchecked.arg" value="${unchecked.option}">
581 tim 1.57 <istrue value="${build.warnunchecked}"/>
582 tim 1.32 </condition>
583    
584 tim 1.37 <property name="warnunchecked.arg" value=""/>
585 tim 1.34
586 tim 1.32
587     <!-- Common options in javac invocations -->
588 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
589 tim 1.33
590     </target>
591    
592    
593 tim 1.28
594 jsr166 1.65 <!-- Various demos and test programs -->
595    
596    
597 jsr166 1.103 <target name="loops" depends="configure-compiler"
598 jsr166 1.65 description="Benchmark from Doug Lea's AQS paper">
599    
600     <mkdir dir="${build.loops.dir}"/>
601    
602     <javac srcdir="${loops.src.dir}"
603     destdir="${build.loops.dir}"
604     debug="${build.debug}"
605     debuglevel="${build.debuglevel}"
606     deprecation="${build.deprecation}"
607     source="${build.sourcelevel}"
608 jsr166 1.191 target="${build.sourcelevel}"
609 jsr166 1.65 fork="true">
610    
611     <compilerarg line="${build.args}"/>
612     <classpath refid="loops.classpath"/>
613 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
614 jsr166 1.65
615     </javac>
616    
617     <java classname="ALoops" fork="true">
618     <classpath refid="loops.classpath"/>
619     </java>
620    
621     </target>
622    
623    
624 jsr166 1.166 <target name="compile-test-loops" depends="jar"
625     description="compile all the perf tests in src/test/loops">
626    
627     <mkdir dir="${build.dir}/test/loops"/>
628    
629     <javac srcdir="${basedir}/src/test/loops"
630     destdir="${build.dir}/test/loops"
631     debug="${build.debug}"
632     debuglevel="${build.debuglevel}"
633     deprecation="${build.deprecation}"
634     includeAntRuntime="false"
635     includeJavaRuntime="false"
636     executable="${javac9}"
637     fork="true">
638    
639     <include name="*.java"/>
640     <compilerarg value="-XDignore.symbol.file=true"/>
641 jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
642 jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
643     <compilerarg line="${build.args}"/>
644    
645     </javac>
646    
647     </target>
648    
649    
650 jsr166 1.99 <!-- jsr166 4jdk7 -->
651 jsr166 1.92
652 jsr166 1.99 <target name="4jdk7compile"
653 jsr166 1.92 depends="configure-compiler"
654 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
655 jsr166 1.92
656 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
657 jsr166 1.92
658 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
659     destdir="${build.4jdk7.classes.dir}"
660 jsr166 1.92 debug="${build.debug}"
661     debuglevel="${build.debuglevel}"
662     deprecation="${build.deprecation}"
663 jsr166 1.107 source="6"
664 jsr166 1.190 target="6"
665 jsr166 1.92 classpath=""
666 jsr166 1.119 bootclasspath="${bootclasspath6}"
667 jsr166 1.92 includeAntRuntime="false"
668     includeJavaRuntime="false"
669 jsr166 1.97 executable="${javac7}"
670 jsr166 1.92 fork="true">
671    
672     <include name="**/*.java"/>
673 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
674 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
675     <compilerarg value="-Xlint:all"/>
676 jsr166 1.164 <compilerarg value="-Werror"/>
677 jsr166 1.118 <compilerarg line="${build.args}"/>
678 jsr166 1.92
679     </javac>
680 jsr166 1.118 </target>
681 jsr166 1.92
682 jsr166 1.149 <target name="4jdk7doclint"
683     depends="configure-compiler"
684     description="Finds doclint warnings">
685    
686     <mkdir dir="${build.4jdk7.classes.dir}"/>
687    
688     <javac srcdir="${4jdk7src.dir}"
689     destdir="${build.4jdk7.classes.dir}"
690     debug="${build.debug}"
691     debuglevel="${build.debuglevel}"
692     deprecation="${build.deprecation}"
693     source="6"
694 jsr166 1.190 target="6"
695 jsr166 1.149 classpath=""
696 jsr166 1.190 bootclasspath="${bootclasspath6}"
697 jsr166 1.149 includeAntRuntime="false"
698     includeJavaRuntime="false"
699     executable="${javac8}"
700     fork="true">
701    
702     <include name="**/*.java"/>
703     <compilerarg value="-Xprefer:source"/>
704     <compilerarg value="-XDignore.symbol.file=true"/>
705     <compilerarg value="-Xlint:all"/>
706     <compilerarg value="-Xdoclint:all/protected"/>
707     <compilerarg line="${build.args}"/>
708    
709     </javac>
710     </target>
711    
712 jsr166 1.116
713 jsr166 1.128 <target name="4jdk7jar"
714 jsr166 1.116 depends="4jdk7compile"
715     description="Builds library jar from compiled sources">
716    
717     <jar destfile="${4jdk7product.jar}">
718 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
719 jsr166 1.178 <manifest>
720 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
721     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
722 jsr166 1.178 </manifest>
723 jsr166 1.97 </jar>
724    
725 jsr166 1.92 </target>
726    
727    
728 jsr166 1.174 <target name="4jdk7-tck"
729 jsr166 1.128 depends="4jdk7jar"
730 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
731 jsr166 1.116
732 jsr166 1.97 <run-tck-tests
733 jsr166 1.116 target="7"
734     workdir="${build.4jdk7.dir}"
735 jsr166 1.132 classes="${4jdk7product.jar}">
736     <javac-elements>
737 jsr166 1.134 <!-- JDK8+ test classes -->
738 jsr166 1.137 <exclude name="*8Test.java"/>
739 jsr166 1.151 <exclude name="*9Test.java"/>
740 jsr166 1.176 <exclude name="*10Test.java"/>
741 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
742     <exclude name="DoubleAdderTest.java"/>
743     <exclude name="LongAccumulatorTest.java"/>
744     <exclude name="LongAdderTest.java"/>
745 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
746 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
747 jsr166 1.132 <exclude name="StampedLockTest.java"/>
748 jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
749 jsr166 1.132 </javac-elements>
750     </run-tck-tests>
751 jsr166 1.97 </target>
752    
753    
754 jsr166 1.174 <target name="4jdk7-tck-junit"
755 jsr166 1.99 depends="4jdk7compile"
756     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
757 jsr166 1.97
758     <junit printsummary="true"
759     showoutput="true"
760     errorProperty="junit.failed"
761     failureProperty="junit.failed"
762     includeantruntime="true"
763     jvm="${java7}"
764     fork="true">
765    
766 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
767 jsr166 1.97 <jvmarg value="-server"/>
768 jsr166 1.92
769 jsr166 1.97 <classpath>
770     <pathelement location="${junit.jar}"/>
771 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
772 jsr166 1.97 </classpath>
773 jsr166 1.92
774 jsr166 1.97 <formatter type="brief"/>
775 jsr166 1.92
776 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
777 jsr166 1.97 </test>
778 jsr166 1.92
779 jsr166 1.97 </junit>
780 jsr166 1.92 </target>
781    
782 jsr166 1.174 <target name="4jdk7-jtreg"
783 jsr166 1.135 depends="4jdk7jar"
784 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
785 jsr166 1.135 <run-jtreg-tests
786     target="7"
787     workdir="${build.4jdk7.dir}"
788 jsr166 1.165 classes="${4jdk7product.jar}"/>
789 jsr166 1.115 </target>
790    
791    
792     <target name="4jdk7-test"
793 jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
794 jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
795     </target>
796    
797 jsr166 1.92
798 jsr166 1.99 <target name="4jdk7docs"
799 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
800 jsr166 1.92
801 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
802     <mkdir dir="${4jdk7docs.dir}"/>
803 jsr166 1.92
804 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
805 jsr166 1.92 packagenames="none"
806 jsr166 1.152 link="${java7.api.url}"
807 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
808 jsr166 1.130 access="${build.javadoc.access}"
809 jsr166 1.119 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
810 jsr166 1.92 classpath=""
811 jsr166 1.99 executable="${javadoc7}">
812     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
813 jsr166 1.92 <include name="**/*.java"/>
814     </fileset>
815 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
816 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
817 jsr166 1.92 </javadoc>
818     </target>
819    
820    
821 jsr166 1.99 <target name="4jdk7dist"
822 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
823 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
824    
825    
826 jsr166 1.99 <target name="4jdk7clean"
827 jsr166 1.109 description="Removes all 4jdk7 build products">
828 jsr166 1.92
829 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
830 jsr166 1.92
831     </target>
832    
833    
834 jsr166 1.99 <target name="4jdk7dist-jar"
835 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
836 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
837     </target>
838 jsr166 1.92
839    
840 jsr166 1.125 <target name="4jdk7dist-docs"
841     depends="4jdk7clean, 4jdk7docs">
842 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
843 jsr166 1.92 </target>
844    
845 jsr166 1.109
846 dl 1.70 <!-- jsr166x -->
847    
848     <target name="jsr166xcompile"
849 jsr166 1.103 depends="configure-compiler"
850 jsr166 1.105 description="Compiles jsr166x sources to build dir">
851 dl 1.70
852 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
853 dl 1.70
854 jsr166 1.105 <javac srcdir="${topsrc.dir}"
855 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
856 jsr166 1.105 debug="${build.debug}"
857     debuglevel="${build.debuglevel}"
858     deprecation="${build.deprecation}"
859     classpath=""
860 jsr166 1.119 bootclasspath="${bootclasspath6}"
861 jsr166 1.107 source="5"
862 jsr166 1.190 target="5"
863 jsr166 1.105 includeAntRuntime="false"
864     includeJavaRuntime="false"
865     executable="${javac7}"
866     fork="true">
867 dl 1.70
868 jsr166 1.105 <include name="jsr166x/**/*.java"/>
869 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
870 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
871 jsr166 1.164 <compilerarg value="-Werror"/>
872 jsr166 1.118 <compilerarg line="${build.args}"/>
873 dl 1.70
874     </javac>
875     </target>
876    
877    
878 jsr166 1.128 <target name="jsr166xjar"
879 dl 1.70 depends="jsr166xcompile"
880     description="Builds library jar from compiled sources">
881    
882 jsr166 1.106 <jar destfile="${jsr166x.jar}">
883 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
884 jsr166 1.178 <manifest>
885 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
886     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
887 jsr166 1.178 </manifest>
888 dl 1.70 </jar>
889    
890     </target>
891    
892    
893     <target name="jsr166xdocs"
894 jsr166 1.102 description="Builds javadocs to dist dir">
895 dl 1.70
896 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
897     <mkdir dir="${jsr166xdocs.dir}"/>
898 dl 1.70
899 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
900 jsr166 1.107 packagenames="jsr166x.*"
901 jsr166 1.152 link="${java.api.url}"
902 jsr166 1.130 access="${build.javadoc.access}"
903 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
904     bootclasspath="${bootclasspath6}"
905 jsr166 1.107 source="5"
906 jsr166 1.118 executable="${javadoc7}">
907 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
908 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
909 dl 1.70
910 jsr166 1.118 </javadoc>
911 dl 1.70 </target>
912    
913    
914     <target name="jsr166xdist"
915 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
916 dl 1.70 description="Puts all distributable products in single hierarchy"/>
917    
918    
919     <target name="jsr166xclean"
920 jsr166 1.109 description="Removes all jsr166x build products">
921 dl 1.70
922     <delete dir="${build.jsr166x.dir}"/>
923    
924     </target>
925    
926    
927     <target name="jsr166xdist-jar"
928 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
929 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
930 jsr166 1.125 </target>
931 dl 1.70
932 jsr166 1.125 <target name="jsr166xdist-docs"
933     depends="jsr166xclean, jsr166xdocs">
934 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
935 dl 1.70 </target>
936    
937 dl 1.74 <!-- jsr166y -->
938    
939    
940     <target name="jsr166ycompile"
941 jsr166 1.103 depends="configure-compiler"
942 dl 1.74 description="Compiles jsr166y sources">
943    
944 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
945 dl 1.74
946 jsr166 1.103 <javac srcdir="${topsrc.dir}"
947 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
948 jsr166 1.103 debug="${build.debug}"
949     debuglevel="${build.debuglevel}"
950     deprecation="${build.deprecation}"
951 jsr166 1.107 source="6"
952 jsr166 1.189 target="6"
953 jsr166 1.103 classpath=""
954 jsr166 1.119 bootclasspath="${bootclasspath6}"
955 jsr166 1.103 includeAntRuntime="false"
956     includeJavaRuntime="false"
957     executable="${javac7}"
958     fork="true">
959 dl 1.74
960 jsr166 1.103 <include name="jsr166y/**/*.java"/>
961 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
962 jsr166 1.103 <compilerarg value="-Xlint:all"/>
963 jsr166 1.164 <compilerarg value="-Werror"/>
964 jsr166 1.118 <compilerarg line="${build.args}"/>
965    
966 dl 1.74 </javac>
967     </target>
968    
969    
970 jsr166 1.128 <target name="jsr166yjar"
971 dl 1.74 depends="jsr166ycompile"
972     description="Builds library jar from compiled sources">
973    
974 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
975 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
976 jsr166 1.178 <manifest>
977 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
978     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
979 jsr166 1.178 </manifest>
980 dl 1.74 </jar>
981    
982     </target>
983    
984    
985     <target name="jsr166ydocs"
986 jsr166 1.102 description="Builds javadocs to dist dir">
987 dl 1.74
988 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
989     <mkdir dir="${jsr166ydocs.dir}"/>
990 dl 1.74
991 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
992 jsr166 1.107 packagenames="jsr166y.*"
993 jsr166 1.152 link="${java.api.url}"
994 jsr166 1.130 access="${build.javadoc.access}"
995 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
996     bootclasspath="${bootclasspath6}"
997 jsr166 1.107 source="6"
998 jsr166 1.118 executable="${javadoc7}">
999 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1000 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1001 dl 1.74
1002 jsr166 1.118 </javadoc>
1003 dl 1.74 </target>
1004    
1005    
1006     <target name="jsr166ydist"
1007 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
1008 dl 1.74 description="Puts all distributable products in single hierarchy"/>
1009    
1010    
1011     <target name="jsr166yclean"
1012 jsr166 1.109 description="Removes all jsr166y build products">
1013 dl 1.74
1014     <delete dir="${build.jsr166y.dir}"/>
1015    
1016     </target>
1017    
1018    
1019     <target name="jsr166ydist-jar"
1020 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
1021 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1022 jsr166 1.125 </target>
1023 dl 1.74
1024 jsr166 1.125 <target name="jsr166ydist-docs"
1025     depends="jsr166yclean, jsr166ydocs">
1026 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1027 dl 1.74 </target>
1028    
1029 dl 1.90
1030 dl 1.76 <!-- extra166y -->
1031    
1032    
1033     <target name="extra166ycompile"
1034 jsr166 1.128 depends="configure-compiler, jsr166yjar"
1035 dl 1.76 description="Compiles extra166y sources">
1036    
1037 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
1038 dl 1.76
1039 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1040 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
1041 jsr166 1.103 debug="${build.debug}"
1042     debuglevel="${build.debuglevel}"
1043     deprecation="${build.deprecation}"
1044 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1045 jsr166 1.105 classpath=""
1046 jsr166 1.107 source="6"
1047 jsr166 1.190 target="6"
1048 jsr166 1.103 includeAntRuntime="false"
1049     includeJavaRuntime="false"
1050     executable="${javac7}"
1051     fork="true">
1052 dl 1.76
1053 jsr166 1.103 <include name="extra166y/**/*.java"/>
1054 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1055 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1056 jsr166 1.164 <compilerarg value="-Werror"/>
1057 jsr166 1.118 <compilerarg line="${build.args}"/>
1058 dl 1.76
1059     </javac>
1060     </target>
1061    
1062    
1063 jsr166 1.128 <target name="extra166yjar"
1064 dl 1.76 depends="extra166ycompile"
1065     description="Builds library jar from compiled sources">
1066    
1067 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1068 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1069 jsr166 1.178 <manifest>
1070 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1071     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1072 jsr166 1.178 </manifest>
1073 dl 1.76 </jar>
1074    
1075     </target>
1076    
1077    
1078     <target name="extra166ydocs"
1079 jsr166 1.107 description="Builds javadocs to build dir">
1080 dl 1.76
1081 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1082     <mkdir dir="${extra166ydocs.dir}"/>
1083 dl 1.76
1084 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1085 jsr166 1.107 packagenames="extra166y.*"
1086 jsr166 1.152 link="${java.api.url}"
1087 jsr166 1.130 access="${build.javadoc.access}"
1088 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1089     bootclasspath="${bootclasspath6}"
1090 jsr166 1.107 source="6"
1091 jsr166 1.118 executable="${javadoc7}">
1092 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1093 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1094 dl 1.76
1095 jsr166 1.118 </javadoc>
1096 dl 1.76 </target>
1097    
1098    
1099     <target name="extra166ydist"
1100 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1101 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1102    
1103    
1104     <target name="extra166yclean"
1105 jsr166 1.109 description="Removes all extra166y build products">
1106 dl 1.76
1107     <delete dir="${build.extra166y.dir}"/>
1108    
1109     </target>
1110    
1111    
1112     <target name="extra166ydist-jar"
1113 jsr166 1.128 depends="extra166yclean, extra166yjar">
1114 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1115 jsr166 1.125 </target>
1116 dl 1.76
1117 jsr166 1.125 <target name="extra166ydist-docs"
1118     depends="extra166yclean, extra166ydocs">
1119 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1120 dl 1.76 </target>
1121    
1122 dl 1.90 <!-- jsr166e -->
1123    
1124 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1125     <property name="build.jsr166e.javac" value="${javac6}"/>
1126    
1127 dl 1.90 <target name="jsr166ecompile"
1128 jsr166 1.94 depends="configure-compiler"
1129 dl 1.90 description="Compiles jsr166e sources">
1130    
1131 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1132 dl 1.90
1133 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1134 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1135 jsr166 1.94 debug="${build.debug}"
1136     debuglevel="${build.debuglevel}"
1137     deprecation="${build.deprecation}"
1138 jsr166 1.144 source="${build.jsr166e.java.version}"
1139 jsr166 1.190 target="${build.jsr166e.java.version}"
1140 jsr166 1.94 classpath=""
1141     includeAntRuntime="false"
1142     includeJavaRuntime="false"
1143 jsr166 1.144 executable="${build.jsr166e.javac}"
1144 jsr166 1.94 fork="true">
1145 dl 1.90
1146 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1147 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1148 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1149 jsr166 1.164 <compilerarg value="-Werror"/>
1150 jsr166 1.118 <compilerarg line="${build.args}"/>
1151 dl 1.90
1152     </javac>
1153     </target>
1154    
1155 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1156     <target name="jsr166edoclint">
1157    
1158     <mkdir dir="${build.jsr166e.classes.dir}"/>
1159    
1160     <javac srcdir="${topsrc.dir}"
1161     destdir="${build.jsr166e.classes.dir}"
1162     debug="${build.debug}"
1163     debuglevel="${build.debuglevel}"
1164     deprecation="${build.deprecation}"
1165     source="${build.jsr166e.java.version}"
1166 jsr166 1.190 target="${build.jsr166e.java.version}"
1167 jsr166 1.150 classpath=""
1168 jsr166 1.190 bootclasspath="${bootclasspath6}"
1169 jsr166 1.150 includeAntRuntime="false"
1170     includeJavaRuntime="false"
1171     executable="${javac8}"
1172     fork="true">
1173    
1174     <include name="jsr166e/**/*.java"/>
1175     <compilerarg value="-XDignore.symbol.file=true"/>
1176     <compilerarg value="-Xlint:all"/>
1177 jsr166 1.164 <compilerarg value="-Werror"/>
1178 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1179    
1180     </javac>
1181     </target>
1182    
1183 dl 1.90
1184 jsr166 1.128 <target name="jsr166ejar"
1185 dl 1.90 depends="jsr166ecompile"
1186     description="Builds library jar from compiled sources">
1187    
1188 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1189 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1190 jsr166 1.178 <manifest>
1191 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1192     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1193 jsr166 1.178 </manifest>
1194 dl 1.90 </jar>
1195    
1196     </target>
1197    
1198    
1199     <target name="jsr166edocs"
1200 jsr166 1.107 description="Builds javadocs to build dir">
1201 dl 1.90
1202 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1203     <mkdir dir="${jsr166edocs.dir}"/>
1204 dl 1.90
1205 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1206 jsr166 1.107 packagenames="jsr166e.*"
1207 jsr166 1.152 link="${java.api.url}"
1208 jsr166 1.130 access="${build.javadoc.access}"
1209 jsr166 1.144 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1210     source="${build.jsr166e.java.version}"
1211 jsr166 1.118 executable="${javadoc7}">
1212 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1213 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1214    
1215 jsr166 1.96 </javadoc>
1216 dl 1.90 </target>
1217    
1218    
1219 jsr166 1.174 <target name="jsr166e-tck-one-java-version"
1220 jsr166 1.148 depends="jsr166ejar">
1221 jsr166 1.122
1222 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1223    
1224 jsr166 1.122 <run-tck-tests
1225     tck.src.dir="${test.src.dir}/tck-jsr166e"
1226 jsr166 1.144 target="${build.jsr166e.java.version}"
1227 jsr166 1.122 workdir="${build.jsr166e.dir}"
1228     classes="${jsr166e.jar}"/>
1229     </target>
1230    
1231 jsr166 1.174 <target name="jsr166e-tck"
1232 jsr166 1.144 description="Runs tck tests for jsr166e for multiple java versions">
1233    
1234     <!-- <antcall target="clean"/> -->
1235 jsr166 1.174 <!-- <antcall target="jsr166e-tck-one-java-version"> -->
1236 jsr166 1.144 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1237     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1238     <!-- </antcall> -->
1239    
1240     <antcall target="clean"/>
1241 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1242 jsr166 1.144 <param name="build.jsr166e.java.version" value="7"/>
1243     <param name="build.jsr166e.javac" value="${javac7}"/>
1244     </antcall>
1245    
1246     <antcall target="clean"/>
1247 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1248 jsr166 1.144 <param name="build.jsr166e.java.version" value="6"/>
1249     <param name="build.jsr166e.javac" value="${javac6}"/>
1250     </antcall>
1251     </target>
1252    
1253 jsr166 1.122
1254 jsr166 1.147 <target name="jsr166e-test"
1255 jsr166 1.174 depends="jsr166e-tck"
1256 jsr166 1.147 description="Runs all tests for jsr166e">
1257     </target>
1258    
1259 dl 1.90 <target name="jsr166edist"
1260 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1261 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1262    
1263    
1264     <target name="jsr166eclean"
1265 jsr166 1.109 description="Removes all jsr166e build products">
1266 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1267     </target>
1268    
1269    
1270     <target name="jsr166edist-jar"
1271 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1272 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1273 jsr166 1.125 </target>
1274 dl 1.90
1275 jsr166 1.125 <target name="jsr166edist-docs"
1276     depends="jsr166eclean, jsr166edocs">
1277 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1278 dl 1.90 </target>
1279    
1280 jsr166 1.130
1281     <!-- Find buglets that can be detected by static build tools -->
1282    
1283     <target name="lint">
1284     <antcall target="dists">
1285 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1286     </antcall>
1287     </target>
1288    
1289     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1290     <target name="lint-private">
1291     <antcall target="dist">
1292 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1293     </antcall>
1294     </target>
1295    
1296    
1297 tim 1.1 </project>