ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.174
Committed: Thu Sep 3 01:38:44 2015 UTC (8 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.173: +23 -25 lines
Log Message:
s/test-jtreg/jtreg/g; s/test-tck/tck/g;

File Contents

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