ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.177
Committed: Fri Sep 11 18:43:46 2015 UTC (8 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.176: +9 -2 lines
Log Message:
properly conditionally detect jdk9 source layout; requires ant 1.9.1

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