ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.181
Committed: Sun Sep 13 05:26:02 2015 UTC (8 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.180: +4 -3 lines
Log Message:
use <local> for have.java.base

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