ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.164
Committed: Wed May 20 06:13:09 2015 UTC (8 years, 11 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.163: +7 -0 lines
Log Message:
add -Werror to all javac invocations

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