ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.142
Committed: Tue Jun 18 20:54:57 2013 UTC (10 years, 10 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.141: +1 -166 lines
Log Message:
delete legacy test infrastructure

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