ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.193
Committed: Fri Dec 11 23:58:52 2015 UTC (8 years, 4 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.192: +3 -1 lines
Log Message:
workaround for CODETOOLS-7901571

File Contents

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