ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.189
Committed: Thu Nov 5 15:02:34 2015 UTC (8 years, 5 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.188: +1 -0 lines
Log Message:
build class file version 50 for jsr166y

File Contents

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