ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.161
Committed: Sat Jan 17 23:12:49 2015 UTC (9 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.160: +7 -0 lines
Log Message:
add lint-private

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