ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.119
Committed: Mon Jan 21 02:31:40 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.118: +21 -31 lines
Log Message:
revert to old-style attribute paths

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