ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.141
Committed: Tue Jun 18 19:03:50 2013 UTC (10 years, 10 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.140: +2 -1 lines
Log Message:
fix 4jdk7-test-jtreg target by introducing jdk8test exclude file

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 jsr166 1.141 classes="${4jdk7product.jar}"
726     jtregflags="-exclude:${jtreg.src.dir}/jdk8tests"/>
727 jsr166 1.115 </target>
728    
729    
730     <target name="4jdk7-test"
731     depends="4jdk7-test-tck, 4jdk7-test-jtreg"
732     description="Runs tck and jtreg tests for jsr166-4jdk7">
733     </target>
734    
735 jsr166 1.92
736 jsr166 1.99 <target name="4jdk7docs"
737 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
738 jsr166 1.92
739 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
740     <mkdir dir="${4jdk7docs.dir}"/>
741 jsr166 1.92
742 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
743 jsr166 1.92 packagenames="none"
744     link="${jdkapi7docs.url}"
745 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
746 jsr166 1.130 access="${build.javadoc.access}"
747 jsr166 1.119 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
748 jsr166 1.92 classpath=""
749 jsr166 1.99 executable="${javadoc7}">
750     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
751 jsr166 1.92 <include name="**/*.java"/>
752     </fileset>
753 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
754 jsr166 1.92 </javadoc>
755     </target>
756    
757    
758 jsr166 1.99 <target name="4jdk7dist"
759 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
760 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
761    
762    
763 jsr166 1.99 <target name="4jdk7clean"
764 jsr166 1.109 description="Removes all 4jdk7 build products">
765 jsr166 1.92
766 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
767 jsr166 1.92
768     </target>
769    
770    
771 jsr166 1.99 <target name="4jdk7dist-clean"
772 jsr166 1.92 description="Removes all build and distribution products">
773    
774     </target>
775    
776 jsr166 1.99 <target name="4jdk7dist-jar"
777 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
778 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
779     </target>
780 jsr166 1.92
781    
782 jsr166 1.125 <target name="4jdk7dist-docs"
783     depends="4jdk7clean, 4jdk7docs">
784 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
785 jsr166 1.92 </target>
786    
787 jsr166 1.109
788 dl 1.70 <!-- jsr166x -->
789    
790     <target name="jsr166xcompile"
791 jsr166 1.103 depends="configure-compiler"
792 jsr166 1.105 description="Compiles jsr166x sources to build dir">
793 dl 1.70
794 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
795 dl 1.70
796 jsr166 1.105 <javac srcdir="${topsrc.dir}"
797 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
798 jsr166 1.105 debug="${build.debug}"
799     debuglevel="${build.debuglevel}"
800     deprecation="${build.deprecation}"
801     classpath=""
802 jsr166 1.119 bootclasspath="${bootclasspath6}"
803 jsr166 1.107 source="5"
804 jsr166 1.105 includeAntRuntime="false"
805     includeJavaRuntime="false"
806     executable="${javac7}"
807     fork="true">
808 dl 1.70
809 jsr166 1.105 <include name="jsr166x/**/*.java"/>
810 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
811 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
812 jsr166 1.118 <compilerarg line="${build.args}"/>
813 dl 1.70
814     </javac>
815     </target>
816    
817    
818 jsr166 1.128 <target name="jsr166xjar"
819 dl 1.70 depends="jsr166xcompile"
820     description="Builds library jar from compiled sources">
821    
822 jsr166 1.106 <jar destfile="${jsr166x.jar}">
823 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
824 dl 1.70 </jar>
825    
826     </target>
827    
828    
829     <target name="jsr166xdocs"
830 jsr166 1.102 description="Builds javadocs to dist dir">
831 dl 1.70
832 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
833     <mkdir dir="${jsr166xdocs.dir}"/>
834 dl 1.70
835 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
836 jsr166 1.107 packagenames="jsr166x.*"
837 jsr166 1.91 link="${jdkapidocs.url}"
838 jsr166 1.130 access="${build.javadoc.access}"
839 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
840     bootclasspath="${bootclasspath6}"
841 jsr166 1.107 source="5"
842 jsr166 1.118 executable="${javadoc7}">
843     <arg value="-XDignore.symbol.file=true"/>
844 dl 1.70
845 jsr166 1.118 </javadoc>
846 dl 1.70 </target>
847    
848    
849     <target name="jsr166xdist"
850 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
851 dl 1.70 description="Puts all distributable products in single hierarchy"/>
852    
853    
854     <target name="jsr166xclean"
855 jsr166 1.109 description="Removes all jsr166x build products">
856 dl 1.70
857     <delete dir="${build.jsr166x.dir}"/>
858    
859     </target>
860    
861    
862     <target name="jsr166xdist-clean"
863     description="Removes all build and distribution products">
864    
865     </target>
866    
867    
868     <target name="jsr166xdist-jar"
869 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
870 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
871 jsr166 1.125 </target>
872 dl 1.70
873 jsr166 1.125 <target name="jsr166xdist-docs"
874     depends="jsr166xclean, jsr166xdocs">
875 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
876 dl 1.70 </target>
877    
878 dl 1.74 <!-- jsr166y -->
879    
880    
881     <target name="jsr166ycompile"
882 jsr166 1.103 depends="configure-compiler"
883 dl 1.74 description="Compiles jsr166y sources">
884    
885 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
886 dl 1.74
887 jsr166 1.103 <javac srcdir="${topsrc.dir}"
888 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
889 jsr166 1.103 debug="${build.debug}"
890     debuglevel="${build.debuglevel}"
891     deprecation="${build.deprecation}"
892 jsr166 1.107 source="6"
893 jsr166 1.103 classpath=""
894 jsr166 1.119 bootclasspath="${bootclasspath6}"
895 jsr166 1.103 includeAntRuntime="false"
896     includeJavaRuntime="false"
897     executable="${javac7}"
898     fork="true">
899 dl 1.74
900 jsr166 1.103 <include name="jsr166y/**/*.java"/>
901 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
902 jsr166 1.103 <compilerarg value="-Xlint:all"/>
903 jsr166 1.118 <compilerarg line="${build.args}"/>
904    
905 dl 1.74 </javac>
906     </target>
907    
908    
909 jsr166 1.128 <target name="jsr166yjar"
910 dl 1.74 depends="jsr166ycompile"
911     description="Builds library jar from compiled sources">
912    
913 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
914 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
915 dl 1.74 </jar>
916    
917     </target>
918    
919    
920     <target name="jsr166ydocs"
921 jsr166 1.102 description="Builds javadocs to dist dir">
922 dl 1.74
923 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
924     <mkdir dir="${jsr166ydocs.dir}"/>
925 dl 1.74
926 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
927 jsr166 1.107 packagenames="jsr166y.*"
928 jsr166 1.91 link="${jdkapidocs.url}"
929 jsr166 1.130 access="${build.javadoc.access}"
930 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
931     bootclasspath="${bootclasspath6}"
932 jsr166 1.107 source="6"
933 jsr166 1.118 executable="${javadoc7}">
934     <arg value="-XDignore.symbol.file=true"/>
935 dl 1.74
936 jsr166 1.118 </javadoc>
937 dl 1.74 </target>
938    
939    
940     <target name="jsr166ydist"
941 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
942 dl 1.74 description="Puts all distributable products in single hierarchy"/>
943    
944    
945     <target name="jsr166yclean"
946 jsr166 1.109 description="Removes all jsr166y build products">
947 dl 1.74
948     <delete dir="${build.jsr166y.dir}"/>
949    
950     </target>
951    
952    
953     <target name="jsr166ydist-clean"
954     description="Removes all build and distribution products">
955    
956     </target>
957    
958     <target name="jsr166ydist-jar"
959 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
960 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
961 jsr166 1.125 </target>
962 dl 1.74
963 jsr166 1.125 <target name="jsr166ydist-docs"
964     depends="jsr166yclean, jsr166ydocs">
965 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
966 dl 1.74 </target>
967    
968 dl 1.90
969 dl 1.76 <!-- extra166y -->
970    
971    
972     <target name="extra166ycompile"
973 jsr166 1.128 depends="configure-compiler, jsr166yjar"
974 dl 1.76 description="Compiles extra166y sources">
975    
976 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
977 dl 1.76
978 jsr166 1.103 <javac srcdir="${topsrc.dir}"
979 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
980 jsr166 1.103 debug="${build.debug}"
981     debuglevel="${build.debuglevel}"
982     deprecation="${build.deprecation}"
983 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
984 jsr166 1.105 classpath=""
985 jsr166 1.107 source="6"
986 jsr166 1.103 includeAntRuntime="false"
987     includeJavaRuntime="false"
988     executable="${javac7}"
989     fork="true">
990 dl 1.76
991 jsr166 1.103 <include name="extra166y/**/*.java"/>
992 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
993 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
994 jsr166 1.118 <compilerarg line="${build.args}"/>
995 dl 1.76
996     </javac>
997     </target>
998    
999    
1000 jsr166 1.128 <target name="extra166yjar"
1001 dl 1.76 depends="extra166ycompile"
1002     description="Builds library jar from compiled sources">
1003    
1004 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
1005 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
1006 dl 1.76 </jar>
1007    
1008     </target>
1009    
1010    
1011     <target name="extra166ydocs"
1012 jsr166 1.107 description="Builds javadocs to build dir">
1013 dl 1.76
1014 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1015     <mkdir dir="${extra166ydocs.dir}"/>
1016 dl 1.76
1017 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1018 jsr166 1.107 packagenames="extra166y.*"
1019 jsr166 1.91 link="${jdkapidocs.url}"
1020 jsr166 1.130 access="${build.javadoc.access}"
1021 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1022     bootclasspath="${bootclasspath6}"
1023 jsr166 1.107 source="6"
1024 jsr166 1.118 executable="${javadoc7}">
1025     <arg value="-XDignore.symbol.file=true"/>
1026 dl 1.76
1027 jsr166 1.118 </javadoc>
1028 dl 1.76 </target>
1029    
1030    
1031     <target name="extra166ydist"
1032 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1033 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1034    
1035    
1036     <target name="extra166yclean"
1037 jsr166 1.109 description="Removes all extra166y build products">
1038 dl 1.76
1039     <delete dir="${build.extra166y.dir}"/>
1040    
1041     </target>
1042    
1043    
1044     <target name="extra166ydist-clean"
1045     description="Removes all build and distribution products">
1046    
1047     </target>
1048    
1049     <target name="extra166ydist-jar"
1050 jsr166 1.128 depends="extra166yclean, extra166yjar">
1051 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1052 jsr166 1.125 </target>
1053 dl 1.76
1054 jsr166 1.125 <target name="extra166ydist-docs"
1055     depends="extra166yclean, extra166ydocs">
1056 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1057 dl 1.76 </target>
1058    
1059 dl 1.90 <!-- jsr166e -->
1060    
1061     <target name="jsr166ecompile"
1062 jsr166 1.94 depends="configure-compiler"
1063 dl 1.90 description="Compiles jsr166e sources">
1064    
1065 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1066 dl 1.90
1067 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1068 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1069 jsr166 1.94 debug="${build.debug}"
1070     debuglevel="${build.debuglevel}"
1071     deprecation="${build.deprecation}"
1072 jsr166 1.107 source="7"
1073 jsr166 1.94 classpath=""
1074     includeAntRuntime="false"
1075     includeJavaRuntime="false"
1076     executable="${javac7}"
1077     fork="true">
1078 dl 1.90
1079 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1080 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1081 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1082 jsr166 1.118 <compilerarg line="${build.args}"/>
1083 dl 1.90
1084     </javac>
1085     </target>
1086    
1087    
1088 jsr166 1.128 <target name="jsr166ejar"
1089 dl 1.90 depends="jsr166ecompile"
1090     description="Builds library jar from compiled sources">
1091    
1092 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1093 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1094 dl 1.90 </jar>
1095    
1096     </target>
1097    
1098    
1099     <target name="jsr166edocs"
1100 jsr166 1.107 description="Builds javadocs to build dir">
1101 dl 1.90
1102 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1103     <mkdir dir="${jsr166edocs.dir}"/>
1104 dl 1.90
1105 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1106 jsr166 1.107 packagenames="jsr166e.*"
1107     link="${jdkapidocs.url}"
1108 jsr166 1.130 access="${build.javadoc.access}"
1109 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1110 jsr166 1.107 source="7"
1111 jsr166 1.118 executable="${javadoc7}">
1112     <arg value="-XDignore.symbol.file=true"/>
1113    
1114 jsr166 1.96 </javadoc>
1115 dl 1.90 </target>
1116    
1117    
1118 jsr166 1.122 <target name="jsr166e-test-tck"
1119 jsr166 1.128 depends="jsr166ejar"
1120 jsr166 1.122 description="Runs tck tests for jsr166e">
1121    
1122     <run-tck-tests
1123     tck.src.dir="${test.src.dir}/tck-jsr166e"
1124 jsr166 1.138 target="7"
1125 jsr166 1.122 workdir="${build.jsr166e.dir}"
1126     classes="${jsr166e.jar}"/>
1127     </target>
1128    
1129    
1130 dl 1.90 <target name="jsr166edist"
1131 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1132 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1133    
1134    
1135     <target name="jsr166eclean"
1136 jsr166 1.109 description="Removes all jsr166e build products">
1137 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1138     </target>
1139    
1140    
1141     <target name="jsr166edist-clean"
1142     description="Removes all build and distribution products">
1143    
1144     </target>
1145    
1146     <target name="jsr166edist-jar"
1147 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1148 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1149 jsr166 1.125 </target>
1150 dl 1.90
1151 jsr166 1.125 <target name="jsr166edist-docs"
1152     depends="jsr166eclean, jsr166edocs">
1153 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1154 dl 1.90 </target>
1155    
1156 jsr166 1.130
1157     <!-- Find buglets that can be detected by static build tools -->
1158    
1159     <target name="lint">
1160     <antcall target="dists">
1161     <param name="build.javadoc.access" value="private"/>
1162     </antcall>
1163     </target>
1164    
1165    
1166 tim 1.1 </project>