ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.121
Committed: Mon Jan 21 22:03:09 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.120: +1 -1 lines
Log Message:
get tck src dependencies right

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