ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.183
Committed: Sat Sep 26 17:58:52 2015 UTC (8 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.182: +11 -15 lines
Log Message:
Automatically pass all ant jsr166.* system properties to tck tests

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