ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.140
Committed: Mon May 20 19:12:23 2013 UTC (10 years, 11 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.139: +6 -3 lines
Log Message:
make it easier to stress test a particular tck class

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