ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.145
Committed: Sun Jul 14 22:39:31 2013 UTC (10 years, 9 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.144: +1 -0 lines
Log Message:
register SplittableRandomTest as a jdk8+ test

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