ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.124
Committed: Tue Jan 22 21:22:57 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.123: +6 -6 lines
Log Message:
rename docs dirs

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