ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.188
Committed: Mon Oct 12 01:53:54 2015 UTC (8 years, 6 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.187: +4 -1 lines
Log Message:
add jtreg profiling support

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.92 classpath=""
655 jsr166 1.119 bootclasspath="${bootclasspath6}"
656 jsr166 1.92 includeAntRuntime="false"
657     includeJavaRuntime="false"
658 jsr166 1.97 executable="${javac7}"
659 jsr166 1.92 fork="true">
660    
661     <include name="**/*.java"/>
662 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
663 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
664     <compilerarg value="-Xlint:all"/>
665 jsr166 1.164 <compilerarg value="-Werror"/>
666 jsr166 1.118 <compilerarg line="${build.args}"/>
667 jsr166 1.92
668     </javac>
669 jsr166 1.118 </target>
670 jsr166 1.92
671 jsr166 1.149 <target name="4jdk7doclint"
672     depends="configure-compiler"
673     description="Finds doclint warnings">
674    
675     <mkdir dir="${build.4jdk7.classes.dir}"/>
676    
677     <javac srcdir="${4jdk7src.dir}"
678     destdir="${build.4jdk7.classes.dir}"
679     debug="${build.debug}"
680     debuglevel="${build.debuglevel}"
681     deprecation="${build.deprecation}"
682     source="6"
683     classpath=""
684     bootclasspath="${bootclasspath7}"
685     includeAntRuntime="false"
686     includeJavaRuntime="false"
687     executable="${javac8}"
688     fork="true">
689    
690     <include name="**/*.java"/>
691     <compilerarg value="-Xprefer:source"/>
692     <compilerarg value="-XDignore.symbol.file=true"/>
693     <compilerarg value="-Xlint:all"/>
694     <compilerarg value="-Xdoclint:all/protected"/>
695     <compilerarg line="${build.args}"/>
696    
697     </javac>
698     </target>
699    
700 jsr166 1.116
701 jsr166 1.128 <target name="4jdk7jar"
702 jsr166 1.116 depends="4jdk7compile"
703     description="Builds library jar from compiled sources">
704    
705     <jar destfile="${4jdk7product.jar}">
706 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
707 jsr166 1.178 <manifest>
708 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
709     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
710 jsr166 1.178 </manifest>
711 jsr166 1.97 </jar>
712    
713 jsr166 1.92 </target>
714    
715    
716 jsr166 1.174 <target name="4jdk7-tck"
717 jsr166 1.128 depends="4jdk7jar"
718 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
719 jsr166 1.116
720 jsr166 1.97 <run-tck-tests
721 jsr166 1.116 target="7"
722     workdir="${build.4jdk7.dir}"
723 jsr166 1.132 classes="${4jdk7product.jar}">
724     <javac-elements>
725 jsr166 1.134 <!-- JDK8+ test classes -->
726 jsr166 1.137 <exclude name="*8Test.java"/>
727 jsr166 1.151 <exclude name="*9Test.java"/>
728 jsr166 1.176 <exclude name="*10Test.java"/>
729 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
730     <exclude name="DoubleAdderTest.java"/>
731     <exclude name="LongAccumulatorTest.java"/>
732     <exclude name="LongAdderTest.java"/>
733 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
734 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
735 jsr166 1.132 <exclude name="StampedLockTest.java"/>
736 jsr166 1.176 <exclude name="SubmissionPublisherTest.java"/>
737 jsr166 1.132 </javac-elements>
738     </run-tck-tests>
739 jsr166 1.97 </target>
740    
741    
742 jsr166 1.174 <target name="4jdk7-tck-junit"
743 jsr166 1.99 depends="4jdk7compile"
744     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
745 jsr166 1.97
746     <junit printsummary="true"
747     showoutput="true"
748     errorProperty="junit.failed"
749     failureProperty="junit.failed"
750     includeantruntime="true"
751     jvm="${java7}"
752     fork="true">
753    
754 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
755 jsr166 1.97 <jvmarg value="-server"/>
756 jsr166 1.92
757 jsr166 1.97 <classpath>
758     <pathelement location="${junit.jar}"/>
759 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
760 jsr166 1.97 </classpath>
761 jsr166 1.92
762 jsr166 1.97 <formatter type="brief"/>
763 jsr166 1.92
764 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
765 jsr166 1.97 </test>
766 jsr166 1.92
767 jsr166 1.97 </junit>
768 jsr166 1.92 </target>
769    
770 jsr166 1.174 <target name="4jdk7-jtreg"
771 jsr166 1.135 depends="4jdk7jar"
772 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
773 jsr166 1.135 <run-jtreg-tests
774     target="7"
775     workdir="${build.4jdk7.dir}"
776 jsr166 1.165 classes="${4jdk7product.jar}"/>
777 jsr166 1.115 </target>
778    
779    
780     <target name="4jdk7-test"
781 jsr166 1.174 depends="4jdk7-tck, 4jdk7-jtreg"
782 jsr166 1.115 description="Runs tck and jtreg tests for jsr166-4jdk7">
783     </target>
784    
785 jsr166 1.92
786 jsr166 1.99 <target name="4jdk7docs"
787 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
788 jsr166 1.92
789 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
790     <mkdir dir="${4jdk7docs.dir}"/>
791 jsr166 1.92
792 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
793 jsr166 1.92 packagenames="none"
794 jsr166 1.152 link="${java7.api.url}"
795 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
796 jsr166 1.130 access="${build.javadoc.access}"
797 jsr166 1.119 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
798 jsr166 1.92 classpath=""
799 jsr166 1.99 executable="${javadoc7}">
800     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
801 jsr166 1.92 <include name="**/*.java"/>
802     </fileset>
803 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
804 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
805 jsr166 1.92 </javadoc>
806     </target>
807    
808    
809 jsr166 1.99 <target name="4jdk7dist"
810 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
811 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
812    
813    
814 jsr166 1.99 <target name="4jdk7clean"
815 jsr166 1.109 description="Removes all 4jdk7 build products">
816 jsr166 1.92
817 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
818 jsr166 1.92
819     </target>
820    
821    
822 jsr166 1.99 <target name="4jdk7dist-jar"
823 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
824 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
825     </target>
826 jsr166 1.92
827    
828 jsr166 1.125 <target name="4jdk7dist-docs"
829     depends="4jdk7clean, 4jdk7docs">
830 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
831 jsr166 1.92 </target>
832    
833 jsr166 1.109
834 dl 1.70 <!-- jsr166x -->
835    
836     <target name="jsr166xcompile"
837 jsr166 1.103 depends="configure-compiler"
838 jsr166 1.105 description="Compiles jsr166x sources to build dir">
839 dl 1.70
840 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
841 dl 1.70
842 jsr166 1.105 <javac srcdir="${topsrc.dir}"
843 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
844 jsr166 1.105 debug="${build.debug}"
845     debuglevel="${build.debuglevel}"
846     deprecation="${build.deprecation}"
847     classpath=""
848 jsr166 1.119 bootclasspath="${bootclasspath6}"
849 jsr166 1.107 source="5"
850 jsr166 1.105 includeAntRuntime="false"
851     includeJavaRuntime="false"
852     executable="${javac7}"
853     fork="true">
854 dl 1.70
855 jsr166 1.105 <include name="jsr166x/**/*.java"/>
856 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
857 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
858 jsr166 1.164 <compilerarg value="-Werror"/>
859 jsr166 1.118 <compilerarg line="${build.args}"/>
860 dl 1.70
861     </javac>
862     </target>
863    
864    
865 jsr166 1.128 <target name="jsr166xjar"
866 dl 1.70 depends="jsr166xcompile"
867     description="Builds library jar from compiled sources">
868    
869 jsr166 1.106 <jar destfile="${jsr166x.jar}">
870 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
871 jsr166 1.178 <manifest>
872 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
873     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
874 jsr166 1.178 </manifest>
875 dl 1.70 </jar>
876    
877     </target>
878    
879    
880     <target name="jsr166xdocs"
881 jsr166 1.102 description="Builds javadocs to dist dir">
882 dl 1.70
883 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
884     <mkdir dir="${jsr166xdocs.dir}"/>
885 dl 1.70
886 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
887 jsr166 1.107 packagenames="jsr166x.*"
888 jsr166 1.152 link="${java.api.url}"
889 jsr166 1.130 access="${build.javadoc.access}"
890 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
891     bootclasspath="${bootclasspath6}"
892 jsr166 1.107 source="5"
893 jsr166 1.118 executable="${javadoc7}">
894 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
895 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
896 dl 1.70
897 jsr166 1.118 </javadoc>
898 dl 1.70 </target>
899    
900    
901     <target name="jsr166xdist"
902 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
903 dl 1.70 description="Puts all distributable products in single hierarchy"/>
904    
905    
906     <target name="jsr166xclean"
907 jsr166 1.109 description="Removes all jsr166x build products">
908 dl 1.70
909     <delete dir="${build.jsr166x.dir}"/>
910    
911     </target>
912    
913    
914     <target name="jsr166xdist-jar"
915 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
916 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
917 jsr166 1.125 </target>
918 dl 1.70
919 jsr166 1.125 <target name="jsr166xdist-docs"
920     depends="jsr166xclean, jsr166xdocs">
921 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
922 dl 1.70 </target>
923    
924 dl 1.74 <!-- jsr166y -->
925    
926    
927     <target name="jsr166ycompile"
928 jsr166 1.103 depends="configure-compiler"
929 dl 1.74 description="Compiles jsr166y sources">
930    
931 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
932 dl 1.74
933 jsr166 1.103 <javac srcdir="${topsrc.dir}"
934 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
935 jsr166 1.103 debug="${build.debug}"
936     debuglevel="${build.debuglevel}"
937     deprecation="${build.deprecation}"
938 jsr166 1.107 source="6"
939 jsr166 1.103 classpath=""
940 jsr166 1.119 bootclasspath="${bootclasspath6}"
941 jsr166 1.103 includeAntRuntime="false"
942     includeJavaRuntime="false"
943     executable="${javac7}"
944     fork="true">
945 dl 1.74
946 jsr166 1.103 <include name="jsr166y/**/*.java"/>
947 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
948 jsr166 1.103 <compilerarg value="-Xlint:all"/>
949 jsr166 1.164 <compilerarg value="-Werror"/>
950 jsr166 1.118 <compilerarg line="${build.args}"/>
951    
952 dl 1.74 </javac>
953     </target>
954    
955    
956 jsr166 1.128 <target name="jsr166yjar"
957 dl 1.74 depends="jsr166ycompile"
958     description="Builds library jar from compiled sources">
959    
960 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
961 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
962 jsr166 1.178 <manifest>
963 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
964     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
965 jsr166 1.178 </manifest>
966 dl 1.74 </jar>
967    
968     </target>
969    
970    
971     <target name="jsr166ydocs"
972 jsr166 1.102 description="Builds javadocs to dist dir">
973 dl 1.74
974 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
975     <mkdir dir="${jsr166ydocs.dir}"/>
976 dl 1.74
977 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
978 jsr166 1.107 packagenames="jsr166y.*"
979 jsr166 1.152 link="${java.api.url}"
980 jsr166 1.130 access="${build.javadoc.access}"
981 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
982     bootclasspath="${bootclasspath6}"
983 jsr166 1.107 source="6"
984 jsr166 1.118 executable="${javadoc7}">
985 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
986 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
987 dl 1.74
988 jsr166 1.118 </javadoc>
989 dl 1.74 </target>
990    
991    
992     <target name="jsr166ydist"
993 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
994 dl 1.74 description="Puts all distributable products in single hierarchy"/>
995    
996    
997     <target name="jsr166yclean"
998 jsr166 1.109 description="Removes all jsr166y build products">
999 dl 1.74
1000     <delete dir="${build.jsr166y.dir}"/>
1001    
1002     </target>
1003    
1004    
1005     <target name="jsr166ydist-jar"
1006 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
1007 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
1008 jsr166 1.125 </target>
1009 dl 1.74
1010 jsr166 1.125 <target name="jsr166ydist-docs"
1011     depends="jsr166yclean, jsr166ydocs">
1012 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
1013 dl 1.74 </target>
1014    
1015 dl 1.90
1016 dl 1.76 <!-- extra166y -->
1017    
1018    
1019     <target name="extra166ycompile"
1020 jsr166 1.128 depends="configure-compiler, jsr166yjar"
1021 dl 1.76 description="Compiles extra166y sources">
1022    
1023 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
1024 dl 1.76
1025 jsr166 1.103 <javac srcdir="${topsrc.dir}"
1026 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
1027 jsr166 1.103 debug="${build.debug}"
1028     debuglevel="${build.debuglevel}"
1029     deprecation="${build.deprecation}"
1030 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
1031 jsr166 1.105 classpath=""
1032 jsr166 1.107 source="6"
1033 jsr166 1.103 includeAntRuntime="false"
1034     includeJavaRuntime="false"
1035     executable="${javac7}"
1036     fork="true">
1037 dl 1.76
1038 jsr166 1.103 <include name="extra166y/**/*.java"/>
1039 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
1040 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
1041 jsr166 1.164 <compilerarg value="-Werror"/>
1042 jsr166 1.118 <compilerarg line="${build.args}"/>
1043 dl 1.76
1044     </javac>
1045     </target>
1046    
1047    
1048 jsr166 1.128 <target name="extra166yjar"
1049 dl 1.76 depends="extra166ycompile"
1050     description="Builds library jar from compiled sources">
1051    
1052 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1053 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1054 jsr166 1.178 <manifest>
1055 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1056     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1057 jsr166 1.178 </manifest>
1058 dl 1.76 </jar>
1059    
1060     </target>
1061    
1062    
1063     <target name="extra166ydocs"
1064 jsr166 1.107 description="Builds javadocs to build dir">
1065 dl 1.76
1066 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1067     <mkdir dir="${extra166ydocs.dir}"/>
1068 dl 1.76
1069 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1070 jsr166 1.107 packagenames="extra166y.*"
1071 jsr166 1.152 link="${java.api.url}"
1072 jsr166 1.130 access="${build.javadoc.access}"
1073 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1074     bootclasspath="${bootclasspath6}"
1075 jsr166 1.107 source="6"
1076 jsr166 1.118 executable="${javadoc7}">
1077 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1078 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1079 dl 1.76
1080 jsr166 1.118 </javadoc>
1081 dl 1.76 </target>
1082    
1083    
1084     <target name="extra166ydist"
1085 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1086 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1087    
1088    
1089     <target name="extra166yclean"
1090 jsr166 1.109 description="Removes all extra166y build products">
1091 dl 1.76
1092     <delete dir="${build.extra166y.dir}"/>
1093    
1094     </target>
1095    
1096    
1097     <target name="extra166ydist-jar"
1098 jsr166 1.128 depends="extra166yclean, extra166yjar">
1099 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1100 jsr166 1.125 </target>
1101 dl 1.76
1102 jsr166 1.125 <target name="extra166ydist-docs"
1103     depends="extra166yclean, extra166ydocs">
1104 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1105 dl 1.76 </target>
1106    
1107 dl 1.90 <!-- jsr166e -->
1108    
1109 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1110     <property name="build.jsr166e.javac" value="${javac6}"/>
1111    
1112 dl 1.90 <target name="jsr166ecompile"
1113 jsr166 1.94 depends="configure-compiler"
1114 dl 1.90 description="Compiles jsr166e sources">
1115    
1116 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1117 dl 1.90
1118 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1119 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1120 jsr166 1.94 debug="${build.debug}"
1121     debuglevel="${build.debuglevel}"
1122     deprecation="${build.deprecation}"
1123 jsr166 1.144 source="${build.jsr166e.java.version}"
1124 jsr166 1.94 classpath=""
1125     includeAntRuntime="false"
1126     includeJavaRuntime="false"
1127 jsr166 1.144 executable="${build.jsr166e.javac}"
1128 jsr166 1.94 fork="true">
1129 dl 1.90
1130 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1131 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1132 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1133 jsr166 1.164 <compilerarg value="-Werror"/>
1134 jsr166 1.118 <compilerarg line="${build.args}"/>
1135 dl 1.90
1136     </javac>
1137     </target>
1138    
1139 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1140     <target name="jsr166edoclint">
1141    
1142     <mkdir dir="${build.jsr166e.classes.dir}"/>
1143    
1144     <javac srcdir="${topsrc.dir}"
1145     destdir="${build.jsr166e.classes.dir}"
1146     debug="${build.debug}"
1147     debuglevel="${build.debuglevel}"
1148     deprecation="${build.deprecation}"
1149     source="${build.jsr166e.java.version}"
1150     classpath=""
1151     bootclasspath="${bootclasspath7}"
1152     includeAntRuntime="false"
1153     includeJavaRuntime="false"
1154     executable="${javac8}"
1155     fork="true">
1156    
1157     <include name="jsr166e/**/*.java"/>
1158     <compilerarg value="-XDignore.symbol.file=true"/>
1159     <compilerarg value="-Xlint:all"/>
1160 jsr166 1.164 <compilerarg value="-Werror"/>
1161 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1162    
1163     </javac>
1164     </target>
1165    
1166 dl 1.90
1167 jsr166 1.128 <target name="jsr166ejar"
1168 dl 1.90 depends="jsr166ecompile"
1169     description="Builds library jar from compiled sources">
1170    
1171 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1172 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1173 jsr166 1.178 <manifest>
1174 jsr166 1.179 <attribute name="Built-By" value="${user.name}"/>
1175     <attribute name="Implementation-Vendor" value="JCP JSR-166 Expert Group."/>
1176 jsr166 1.178 </manifest>
1177 dl 1.90 </jar>
1178    
1179     </target>
1180    
1181    
1182     <target name="jsr166edocs"
1183 jsr166 1.107 description="Builds javadocs to build dir">
1184 dl 1.90
1185 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1186     <mkdir dir="${jsr166edocs.dir}"/>
1187 dl 1.90
1188 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1189 jsr166 1.107 packagenames="jsr166e.*"
1190 jsr166 1.152 link="${java.api.url}"
1191 jsr166 1.130 access="${build.javadoc.access}"
1192 jsr166 1.144 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1193     source="${build.jsr166e.java.version}"
1194 jsr166 1.118 executable="${javadoc7}">
1195 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1196 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1197    
1198 jsr166 1.96 </javadoc>
1199 dl 1.90 </target>
1200    
1201    
1202 jsr166 1.174 <target name="jsr166e-tck-one-java-version"
1203 jsr166 1.148 depends="jsr166ejar">
1204 jsr166 1.122
1205 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1206    
1207 jsr166 1.122 <run-tck-tests
1208     tck.src.dir="${test.src.dir}/tck-jsr166e"
1209 jsr166 1.144 target="${build.jsr166e.java.version}"
1210 jsr166 1.122 workdir="${build.jsr166e.dir}"
1211     classes="${jsr166e.jar}"/>
1212     </target>
1213    
1214 jsr166 1.174 <target name="jsr166e-tck"
1215 jsr166 1.144 description="Runs tck tests for jsr166e for multiple java versions">
1216    
1217     <!-- <antcall target="clean"/> -->
1218 jsr166 1.174 <!-- <antcall target="jsr166e-tck-one-java-version"> -->
1219 jsr166 1.144 <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1220     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1221     <!-- </antcall> -->
1222    
1223     <antcall target="clean"/>
1224 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1225 jsr166 1.144 <param name="build.jsr166e.java.version" value="7"/>
1226     <param name="build.jsr166e.javac" value="${javac7}"/>
1227     </antcall>
1228    
1229     <antcall target="clean"/>
1230 jsr166 1.174 <antcall target="jsr166e-tck-one-java-version">
1231 jsr166 1.144 <param name="build.jsr166e.java.version" value="6"/>
1232     <param name="build.jsr166e.javac" value="${javac6}"/>
1233     </antcall>
1234     </target>
1235    
1236 jsr166 1.122
1237 jsr166 1.147 <target name="jsr166e-test"
1238 jsr166 1.174 depends="jsr166e-tck"
1239 jsr166 1.147 description="Runs all tests for jsr166e">
1240     </target>
1241    
1242 dl 1.90 <target name="jsr166edist"
1243 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1244 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1245    
1246    
1247     <target name="jsr166eclean"
1248 jsr166 1.109 description="Removes all jsr166e build products">
1249 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1250     </target>
1251    
1252    
1253     <target name="jsr166edist-jar"
1254 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1255 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1256 jsr166 1.125 </target>
1257 dl 1.90
1258 jsr166 1.125 <target name="jsr166edist-docs"
1259     depends="jsr166eclean, jsr166edocs">
1260 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1261 dl 1.90 </target>
1262    
1263 jsr166 1.130
1264     <!-- Find buglets that can be detected by static build tools -->
1265    
1266     <target name="lint">
1267     <antcall target="dists">
1268 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1269     </antcall>
1270     </target>
1271    
1272     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1273     <target name="lint-private">
1274     <antcall target="dist">
1275 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1276     </antcall>
1277     </target>
1278    
1279    
1280 tim 1.1 </project>