ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.166
Committed: Mon Aug 10 06:32:23 2015 UTC (8 years, 8 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.165: +26 -0 lines
Log Message:
add target compile-test-loops

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