ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.103
Committed: Sat Jan 19 21:35:40 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.102: +39 -37 lines
Log Message:
nuke obsolete "init" task; modernize jsr166ycompile, extra166ycompile

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 dl 1.80 <property name="build.sourcelevel" value="1.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.lib.dir" location="${build.dir}/lib"/>
49     <property name="build.javadocs.dir" location="${build.dir}/javadocs"/>
50     <property name="build.reports.dir" location="${build.dir}/reports"/>
51 jsr166 1.92
52 jsr166 1.99 <property name="build.4jdk7.dir" location="${build.dir}/4jdk7"/>
53     <property name="build.4jdk7.lib.dir" location="${build.4jdk7.dir}"/>
54     <property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/>
55     <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck/classes"/>
56     <property name="build.4jdk7.docs.dir" location="${build.4jdk7.dir}/docs"/>
57 jsr166 1.92
58 jsr166 1.79 <property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/>
59 dl 1.70 <property name="build.jsr166xlib.dir" location="${build.dir}/jsr166xlib"/>
60     <property name="build.jsr166xjavadocs.dir" location="${build.dir}/jsr166xjavadocs"/>
61 tim 1.1
62 jsr166 1.79 <property name="build.jsr166y.dir" location="${build.dir}/jsr166y"/>
63 dl 1.74 <property name="build.jsr166ylib.dir" location="${build.dir}/jsr166ylib"/>
64     <property name="build.jsr166yjavadocs.dir" location="${build.dir}/jsr166yjavadocs"/>
65    
66 dl 1.90 <property name="build.jsr166e.dir" location="${build.dir}/jsr166e"/>
67     <property name="build.jsr166elib.dir" location="${build.dir}/jsr166elib"/>
68     <property name="build.jsr166ejavadocs.dir" location="${build.dir}/jsr166ejavadocs"/>
69    
70 jsr166 1.79 <property name="build.extra166y.dir" location="${build.dir}/extra166y"/>
71     <property name="build.extra166ylib.dir" location="${build.dir}/extra166ylib"/>
72     <property name="build.extra166yjavadocs.dir" location="${build.dir}/extra166yjavadocs"/>
73 dl 1.76
74 jsr166 1.92 <!-- JDK binary locations -->
75     <property name="jdks.home" location="${user.home}/jdk"/>
76 jsr166 1.93
77     <macrodef name="defjdklocations">
78     <attribute name="v"/>
79     <sequential>
80 jsr166 1.99 <property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/>
81     <property name="java@{v}" location="${jdk@{v}.home}/bin/java"/>
82     <property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/>
83     <property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/>
84     <property name="bootdir@{v}" location="${jdk@{v}.home}/jre/lib"/>
85     <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
86 jsr166 1.97 <property name="bootclasspath@{v}"
87 jsr166 1.93 value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
88     </sequential>
89     </macrodef>
90    
91     <defjdklocations v="6"/>
92     <defjdklocations v="7"/>
93     <defjdklocations v="8"/>
94 jsr166 1.92
95 jsr166 1.97 <macrodef name="run-tck-tests">
96     <attribute name="jvm"/>
97     <attribute name="tck.classes"/>
98     <attribute name="product.jar" default="${product.jar}"/>
99     <attribute name="jvmflags" default=""/>
100     <sequential>
101     <java classname="JSR166TestCase"
102     jvm="@{jvm}" fork="true">
103     <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
104     <jvmarg line="@{jvmflags}"/>
105     <classpath>
106     <pathelement location="${junit.jar}"/>
107     <pathelement location="@{tck.classes}"/>
108     </classpath>
109     </java>
110     </sequential>
111     </macrodef>
112    
113 tim 1.1 <!-- Source locations -->
114 tim 1.22 <property name="src.dir" location="${basedir}/src/main"/>
115     <property name="test.src.dir" location="${basedir}/src/test"/>
116 jsr166 1.65 <property name="loops.src.dir" location="${basedir}/src/loops"/>
117 tim 1.60 <property name="tck.src.dir" location="${test.src.dir}/tck"/>
118 tim 1.62 <property name="jtreg.src.dir" location="${test.src.dir}/jtreg"/>
119 tim 1.1 <property name="lib.dir" location="${basedir}/lib"/>
120 tim 1.9 <property name="dist.dir" location="${basedir}/dist"/>
121 dl 1.70 <property name="topsrc.dir" location="${basedir}/src"/>
122 jsr166 1.99 <property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/>
123 jsr166 1.92 <property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/>
124     <property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/>
125     <property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/>
126     <property name="extra166ysrc.dir" location="${topsrc.dir}/extra166y"/>
127 dl 1.80 <property name="jdksrc.dir" location="/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"/>
128 jsr166 1.91
129 tim 1.9 <!-- Distribution locations -->
130 jsr166 1.79 <property name="dist.javadocs.dir" location="${dist.dir}/docs"/>
131 jsr166 1.99 <property name="dist.4jdk7.docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/>
132 dl 1.70 <property name="dist.jsr166xjavadocs.dir" location="${dist.dir}/jsr166xdocs"/>
133 dl 1.74 <property name="dist.jsr166yjavadocs.dir" location="${dist.dir}/jsr166ydocs"/>
134 dl 1.90 <property name="dist.jsr166ejavadocs.dir" location="${dist.dir}/jsr166edocs"/>
135 jsr166 1.79 <property name="dist.extra166yjavadocs.dir" location="${dist.dir}/extra166ydocs"/>
136 tim 1.1
137     <!-- Jar locations -->
138     <property name="product.jar" location="${build.lib.dir}/jsr166.jar"/>
139 jsr166 1.99 <property name="4jdk7product.jar" location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/>
140 dl 1.70 <property name="jsr166xproduct.jar" location="${build.jsr166xlib.dir}/jsr166x.jar"/>
141 dl 1.74 <property name="jsr166yproduct.jar" location="${build.jsr166ylib.dir}/jsr166y.jar"/>
142 dl 1.90 <property name="jsr166eproduct.jar" location="${build.jsr166elib.dir}/jsr166e.jar"/>
143 jsr166 1.79 <property name="extra166yproduct.jar" location="${build.extra166ylib.dir}/extra166y.jar"/>
144 tim 1.1 <property name="junit.jar" location="${lib.dir}/junit.jar"/>
145 jsr166 1.65
146 tim 1.59 <!-- Bootclasspath argument -->
147     <property name="bootclasspath.args" value="-Xbootclasspath/p:${product.jar}"/>
148 tim 1.27
149 jsr166 1.91 <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
150     <property name="jdkapi5docs.url" value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
151     <property name="jdkapi6docs.url" value="http://docs.oracle.com/javase/6/docs/api/"/>
152     <property name="jdkapi7docs.url" value="http://docs.oracle.com/javase/7/docs/api/"/>
153    
154     <property name="jdkapi8docs.url" value="http://download.java.net/jdk8/docs/api/"/>
155     <!-- The below does not yet exist as of 2012-11 -->
156     <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
157     <property name="jdkapidocs.url" value="${jdkapi7docs.url}"/>
158    
159 tim 1.59 <!-- Test classpath -->
160     <path id="test.classpath">
161     <pathelement location="${build.testcases.dir}"/>
162     <pathelement location="${junit.jar}"/>
163     </path>
164 tim 1.28
165 jsr166 1.65 <!-- ALoops classpath -->
166     <path id="loops.classpath">
167     <pathelement location="${build.loops.dir}"/>
168     </path>
169    
170 jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
171     <!-- TODO: How do we get &trade to work? -->
172 jsr166 1.101 <!-- TODO: Why isn't @jls a "standard" tag? -->
173 jsr166 1.100 <!-- property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
174     <property name="javadoc.jls.cite" value="The Java Language Specification"/>
175     <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
176 tim 1.28
177 tim 1.59 <!-- Main targets -->
178 tim 1.28
179 dl 1.80 <target name="dists"
180 dl 1.90 depends="dist, jsr166xdist, jsr166ydist,jsr166edist, extra166ydist"
181 dl 1.80 description="Builds all public jars and docs"/>
182 tim 1.11
183 tim 1.28 <target name="compile"
184 jsr166 1.100 depends="configure-compiler"
185 jsr166 1.102 description="Compiles src/main sources to build dir">
186 tim 1.27
187 tim 1.1 <mkdir dir="${build.classes.dir}"/>
188 tim 1.27
189 tim 1.60 <javac srcdir="${src.dir}"
190 jsr166 1.100 destdir="${build.classes.dir}"
191     debug="${build.debug}"
192     debuglevel="${build.debuglevel}"
193     deprecation="${build.deprecation}"
194     classpath=""
195     includeAntRuntime="false"
196     includeJavaRuntime="false"
197     executable="${javac8}"
198     fork="true">
199 tim 1.1
200 jsr166 1.68 <include name="**/*.java"/>
201 jsr166 1.100 <compilerarg line="${build.args}"/>
202 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
203 jsr166 1.100 <compilerarg value="-Xlint:all"/>
204 dl 1.74
205 dl 1.72 <!--
206 jsr166 1.68 <exclude name="java/lang/**"/>
207 dl 1.73 <compilerarg line="${build.args}"/>
208     <compilerarg line="-Xlint -Xmaxwarns 1000"/>
209 dl 1.72 -->
210 tim 1.1
211     </javac>
212 tim 1.27
213 tim 1.1 </target>
214    
215    
216 tim 1.59
217 tim 1.28 <target name="jar"
218 tim 1.59 depends="compile"
219     description="Builds library jar from compiled sources">
220    
221     <mkdir dir="${build.lib.dir}"/>
222    
223     <jar destfile="${product.jar}">
224     <fileset dir="${build.classes.dir}"/>
225     </jar>
226    
227     </target>
228    
229 tim 1.1
230    
231 tim 1.28 <target name="test"
232 jsr166 1.103 depends="configure-tests, report-tests"
233 tim 1.29 description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />
234 tim 1.1
235    
236 tim 1.59
237     <target name="docs"
238 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
239 tim 1.59
240 jsr166 1.100 <delete dir="${dist.javadocs.dir}"/>
241     <mkdir dir="${dist.javadocs.dir}"/>
242 tim 1.59
243 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
244     <!-- sourcepath for packages -->
245    
246 jsr166 1.100 <javadoc destdir="${dist.javadocs.dir}"
247 jsr166 1.88 packagenames="none"
248 jsr166 1.100 link="${jdkapi8docs.url}"
249 jsr166 1.88 overview="${src.dir}/intro.html"
250 jsr166 1.100 sourcepath="${src.dir}:${jdk8src.dir}"
251     classpath=""
252     executable="${javadoc8}">
253     <arg value="-XDignore.symbol.file=true"/>
254     <arg value="-tag"/>
255     <arg value="${javadoc.jls.option}"/>
256 jsr166 1.88 <fileset dir="${src.dir}" defaultexcludes="yes">
257 jsr166 1.92 <include name="**/*.java"/>
258 jsr166 1.88 </fileset>
259 tim 1.59 </javadoc>
260    
261     </target>
262    
263    
264    
265 tim 1.28 <target name="dist"
266 jsr166 1.103 depends="dist-clean, dist-jar, docs"
267 tim 1.16 description="Puts all distributable products in single hierarchy"/>
268 tim 1.1
269 tim 1.58
270 tim 1.42 <target name="release"
271     depends="dist"
272     description="Puts entire CVS tree, plus distribution productions, in a jar">
273    
274     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
275    
276     <jar basedir="${basedir}" destfile="${release.jar}">
277 tim 1.58 <!-- <exclude name="build/**"/> -->
278 tim 1.42 <exclude name="${release.jar}"/>
279     <exclude name="user.properties"/>
280     <exclude name="etc/notes/**"/>
281 tim 1.58 <exclude name="src/emulation/**"/>
282 tim 1.44 <exclude name="**/SyntaxTest.java"/>
283 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
284 tim 1.42 </jar>
285    
286     </target>
287 tim 1.1
288 tim 1.59
289    
290 tim 1.11 <target name="clean"
291     description="Removes all build products">
292 tim 1.27
293 tim 1.11 <delete dir="${build.dir}"/>
294     <delete dir="${build.classes.dir}"/>
295     <delete dir="${build.lib.dir}"/>
296 tim 1.27
297 tim 1.1 </target>
298    
299    
300 tim 1.59
301 tim 1.11 <target name="dist-clean"
302     description="Removes all build and distribution products">
303 tim 1.27
304 tim 1.11 <delete dir="${dist.dir}"/>
305 tim 1.27
306 tim 1.9 </target>
307 tim 1.10
308    
309 tim 1.59
310 tim 1.11 <!-- Internal targets -->
311 tim 1.9
312 tim 1.16
313 jsr166 1.103 <!-- <target name="init"> -->
314 tim 1.27
315 tim 1.11 <!-- Version is kept in a separate file -->
316 jsr166 1.103 <!-- <loadfile property="version" srcFile="version.properties"/> -->
317     <!-- <echo>Building JSR-166 version ${version}</echo> -->
318     <!-- <echo>java.home is ${java.home}</echo> -->
319 tim 1.27
320 jsr166 1.103 <!-- </target> -->
321 jsr166 1.65
322    
323 tim 1.28 <target name="dist-jar"
324     depends="clean, jar">
325 tim 1.27
326 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
327 tim 1.27
328 tim 1.11 </target>
329    
330    
331 tim 1.28 <target name="compile-tests"
332     depends="jar">
333 tim 1.27
334 tim 1.1 <mkdir dir="${build.testcases.dir}"/>
335 tim 1.37
336 tim 1.60 <javac srcdir="${tck.src.dir}"
337     destdir="${build.testcases.dir}"
338     debug="${build.debug}"
339     debuglevel="${build.debuglevel}"
340     deprecation="${build.deprecation}"
341     source="${build.sourcelevel}"
342     fork="true">
343    
344     <compilerarg value="${bootclasspath.args}"/>
345     <compilerarg line="${build.args}"/>
346 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
347 jsr166 1.65
348 tim 1.60 <classpath refid="test.classpath"/>
349    
350     </javac>
351    
352     <javac srcdir="${test.src.dir}"
353 tim 1.1 destdir="${build.testcases.dir}"
354     debug="${build.debug}"
355     debuglevel="${build.debuglevel}"
356     deprecation="${build.deprecation}"
357     source="${build.sourcelevel}"
358     fork="true">
359    
360 tim 1.60 <include name="jsr166/test/**"/>
361 jsr166 1.65
362 tim 1.59 <compilerarg value="${bootclasspath.args}"/>
363 tim 1.57 <compilerarg line="${build.args}"/>
364 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
365 jsr166 1.65
366 tim 1.57 <classpath refid="test.classpath"/>
367 tim 1.1
368     </javac>
369 tim 1.27
370 tim 1.62 <!--
371     <javac srcdir="${jtreg.src.dir}"
372     destdir="${build.testcases.dir}"
373     debug="${build.debug}"
374     debuglevel="${build.debuglevel}"
375     deprecation="${build.deprecation}"
376     source="${build.sourcelevel}"
377     fork="true">
378    
379     <compilerarg value="${bootclasspath.args}"/>
380     <compilerarg line="${build.args}"/>
381 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
382 jsr166 1.65
383 tim 1.62 <classpath refid="test.classpath"/>
384    
385     </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     fork="true">
405    
406 tim 1.59 <jvmarg value="${bootclasspath.args}"/>
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    
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     source="1.6"
548     classpath=""
549     bootclasspath="${bootclasspath6}"
550     includeAntRuntime="false"
551     includeJavaRuntime="false"
552 jsr166 1.97 executable="${javac7}"
553 jsr166 1.92 fork="true">
554    
555     <include name="**/*.java"/>
556     <compilerarg line="${build.args}"/>
557     <compilerarg value="-XDignore.symbol.file=true"/>
558     <compilerarg value="-Xlint:all"/>
559    
560     </javac>
561    
562 jsr166 1.99 <mkdir dir="${build.4jdk7.lib.dir}"/>
563 jsr166 1.97
564 jsr166 1.99 <jar destfile="${4jdk7product.jar}" index="true">
565     <fileset dir="${build.4jdk7.classes.dir}"/>
566 jsr166 1.97 </jar>
567    
568 jsr166 1.99 <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
569 jsr166 1.97
570     <javac srcdir="${tck.src.dir}"
571 jsr166 1.99 destdir="${build.4jdk7.tck.classes.dir}"
572 jsr166 1.97 debug="${build.debug}"
573     debuglevel="${build.debuglevel}"
574     deprecation="${build.deprecation}"
575     source="1.6"
576     classpath="${junit.jar}"
577 jsr166 1.99 bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
578 jsr166 1.97 includeAntRuntime="false"
579     includeJavaRuntime="false"
580     executable="${javac7}"
581     fork="true">
582    
583     <include name="**/*.java"/>
584     <compilerarg line="${build.args}"/>
585     <compilerarg value="-XDignore.symbol.file=true"/>
586     <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
587    
588     </javac>
589    
590 jsr166 1.92 </target>
591    
592    
593 jsr166 1.99 <target name="4jdk7-test-tck"
594     depends="4jdk7compile"
595     description="Runs tck tests for jsr166-4jdk7 directly">
596 jsr166 1.97 <run-tck-tests
597     jvm="${java7}"
598 jsr166 1.99 tck.classes="${build.4jdk7.tck.classes.dir}"
599     product.jar="${4jdk7product.jar}"/>
600 jsr166 1.97 </target>
601    
602    
603 jsr166 1.99 <target name="4jdk7-test-tck-junit"
604     depends="4jdk7compile"
605     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
606 jsr166 1.97
607     <junit printsummary="true"
608     showoutput="true"
609     errorProperty="junit.failed"
610     failureProperty="junit.failed"
611     includeantruntime="true"
612     jvm="${java7}"
613     fork="true">
614    
615 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
616 jsr166 1.97 <jvmarg value="-server"/>
617 jsr166 1.92
618 jsr166 1.97 <classpath>
619     <pathelement location="${junit.jar}"/>
620 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
621 jsr166 1.97 </classpath>
622 jsr166 1.92
623 jsr166 1.97 <formatter type="brief"/>
624 jsr166 1.92
625 jsr166 1.97 <test name="JSR166TestCase" haltonfailure="no">
626     </test>
627 jsr166 1.92
628 jsr166 1.97 </junit>
629 jsr166 1.92 </target>
630    
631    
632 jsr166 1.99 <target name="4jdk7docs"
633 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
634 jsr166 1.92
635 jsr166 1.102 <delete dir="${dist.4jdk7.docs.dir}"/>
636     <mkdir dir="${dist.4jdk7.docs.dir}"/>
637 jsr166 1.92
638 jsr166 1.102 <javadoc destdir="${dist.4jdk7.docs.dir}"
639 jsr166 1.92 packagenames="none"
640     link="${jdkapi7docs.url}"
641 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
642     sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
643 jsr166 1.92 classpath=""
644 jsr166 1.99 executable="${javadoc7}">
645     <arg value="-XDignore.symbol.file=true"/>
646     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
647 jsr166 1.92 <include name="**/*.java"/>
648     </fileset>
649     </javadoc>
650    
651     </target>
652    
653    
654 jsr166 1.99 <target name="4jdk7dist"
655 jsr166 1.102 depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
656 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
657    
658    
659    
660 jsr166 1.99 <target name="4jdk7clean"
661 jsr166 1.92 description="Removes all build products">
662    
663 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
664 jsr166 1.92
665     </target>
666    
667    
668    
669 jsr166 1.99 <target name="4jdk7dist-clean"
670 jsr166 1.92 description="Removes all build and distribution products">
671    
672     </target>
673    
674 jsr166 1.99 <target name="4jdk7dist-jar"
675     depends="4jdk7clean, 4jdk7compile">
676 jsr166 1.92
677 jsr166 1.99 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
678 jsr166 1.92
679     </target>
680    
681 dl 1.70 <!-- jsr166x -->
682    
683    
684     <target name="jsr166xcompile"
685 jsr166 1.103 depends="configure-compiler"
686 dl 1.70 description="Compiles jsr166x sources">
687    
688     <mkdir dir="${build.jsr166x.dir}"/>
689    
690     <javac srcdir="${jsr166xsrc.dir}"
691     destdir="${build.jsr166x.dir}"
692     debug="${build.debug}"
693     debuglevel="${build.debuglevel}"
694     deprecation="${build.deprecation}"
695     source="${build.sourcelevel}"
696     fork="true">
697    
698     <include name="**/*.java"/>
699     <compilerarg line="${build.args}"/>
700 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
701 dl 1.70
702     </javac>
703    
704     </target>
705    
706    
707    
708     <target name="jsr166xjar"
709     depends="jsr166xcompile"
710     description="Builds library jar from compiled sources">
711    
712     <mkdir dir="${build.jsr166xlib.dir}"/>
713    
714     <jar destfile="${jsr166xproduct.jar}">
715     <fileset dir="${build.jsr166x.dir}"/>
716     </jar>
717    
718     </target>
719    
720    
721    
722     <target name="jsr166xdocs"
723 jsr166 1.102 description="Builds javadocs to dist dir">
724 dl 1.70
725     <delete dir="${build.jsr166xjavadocs.dir}"/>
726     <mkdir dir="${build.jsr166xjavadocs.dir}"/>
727    
728     <javadoc destdir="${build.jsr166xjavadocs.dir}"
729 jsr166 1.85 packagenames="jsr166x"
730 jsr166 1.91 link="${jdkapidocs.url}"
731 jsr166 1.85 source="${build.sourcelevel}"
732 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
733     additionalparam="-XDignore.symbol.file=true" />
734 dl 1.70
735     </target>
736    
737    
738     <target name="jsr166xdist"
739     depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
740     description="Puts all distributable products in single hierarchy"/>
741    
742    
743    
744     <target name="jsr166xclean"
745     description="Removes all build products">
746    
747     <delete dir="${build.jsr166x.dir}"/>
748     <delete dir="${build.jsr166xlib.dir}"/>
749    
750     </target>
751    
752    
753    
754     <target name="jsr166xdist-clean"
755     description="Removes all build and distribution products">
756    
757     </target>
758    
759    
760    
761     <target name="jsr166xdist-docs"
762 jsr166 1.102 description="Builds javadocs to dist dir">
763 dl 1.70
764     <delete dir="${dist.jsr166xjavadocs.dir}"/>
765     <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
766    
767     <javadoc destdir="${dist.jsr166xjavadocs.dir}"
768 jsr166 1.85 packagenames="jsr166x"
769 jsr166 1.91 link="${jdkapidocs.url}"
770 jsr166 1.85 source="${build.sourcelevel}"
771 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
772     additionalparam="-XDignore.symbol.file=true" />
773 dl 1.70
774     </target>
775    
776     <target name="jsr166xdist-jar"
777     depends="jsr166xclean, jsr166xjar">
778    
779     <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>
780    
781     </target>
782    
783 dl 1.74 <!-- jsr166y -->
784    
785    
786     <target name="jsr166ycompile"
787 jsr166 1.103 depends="configure-compiler"
788 dl 1.74 description="Compiles jsr166y sources">
789    
790     <mkdir dir="${build.jsr166y.dir}"/>
791    
792 jsr166 1.103 <javac srcdir="${topsrc.dir}"
793     destdir="${build.jsr166y.dir}"
794     debug="${build.debug}"
795     debuglevel="${build.debuglevel}"
796     deprecation="${build.deprecation}"
797     source="1.6"
798     classpath=""
799     bootclasspath="${bootclasspath6}"
800     includeAntRuntime="false"
801     includeJavaRuntime="false"
802     executable="${javac7}"
803     fork="true">
804 dl 1.74
805 jsr166 1.103 <include name="jsr166y/**/*.java"/>
806 dl 1.74 <compilerarg line="${build.args}"/>
807 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
808 jsr166 1.103 <compilerarg value="-Xlint:all"/>
809 dl 1.74 </javac>
810     </target>
811    
812    
813     <target name="jsr166yjar"
814     depends="jsr166ycompile"
815     description="Builds library jar from compiled sources">
816    
817     <mkdir dir="${build.jsr166ylib.dir}"/>
818    
819 dl 1.76 <jar destfile="${jsr166yproduct.jar}" index="true">
820 dl 1.74 <fileset dir="${build.jsr166y.dir}"/>
821     </jar>
822    
823     </target>
824    
825    
826    
827     <target name="jsr166ydocs"
828 jsr166 1.102 description="Builds javadocs to dist dir">
829 dl 1.74
830     <delete dir="${build.jsr166yjavadocs.dir}"/>
831     <mkdir dir="${build.jsr166yjavadocs.dir}"/>
832    
833     <javadoc destdir="${build.jsr166yjavadocs.dir}"
834 jsr166 1.85 packagenames="jsr166y"
835 jsr166 1.91 link="${jdkapidocs.url}"
836 jsr166 1.85 source="${build.sourcelevel}"
837 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
838     additionalparam="-XDignore.symbol.file=true" />
839 dl 1.74
840     </target>
841    
842    
843     <target name="jsr166ydist"
844     depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
845     description="Puts all distributable products in single hierarchy"/>
846    
847    
848    
849     <target name="jsr166yclean"
850     description="Removes all build products">
851    
852     <delete dir="${build.jsr166y.dir}"/>
853     <delete dir="${build.jsr166ylib.dir}"/>
854    
855     </target>
856    
857    
858    
859     <target name="jsr166ydist-clean"
860     description="Removes all build and distribution products">
861    
862     </target>
863    
864     <target name="jsr166ydist-docs"
865 jsr166 1.102 description="Builds javadocs to dist dir">
866 dl 1.74
867     <delete dir="${dist.jsr166yjavadocs.dir}"/>
868     <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
869    
870     <javadoc destdir="${dist.jsr166yjavadocs.dir}"
871 jsr166 1.85 packagenames="jsr166y"
872 jsr166 1.91 link="${jdkapidocs.url}"
873 jsr166 1.85 source="${build.sourcelevel}"
874 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
875     additionalparam="-XDignore.symbol.file=true" />
876 dl 1.74
877     </target>
878    
879     <target name="jsr166ydist-jar"
880     depends="jsr166yclean, jsr166yjar">
881    
882     <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
883    
884     </target>
885    
886 dl 1.90
887 dl 1.76 <!-- extra166y -->
888    
889    
890     <target name="extra166ycompile"
891 jsr166 1.103 depends="configure-compiler, jsr166yjar"
892 dl 1.76 description="Compiles extra166y sources">
893    
894     <mkdir dir="${build.extra166y.dir}"/>
895    
896 jsr166 1.103 <javac srcdir="${topsrc.dir}"
897     destdir="${build.extra166y.dir}"
898     debug="${build.debug}"
899     classpath=""
900     debuglevel="${build.debuglevel}"
901     deprecation="${build.deprecation}"
902     source="1.6"
903     bootclasspath="${jsr166yproduct.jar}:${bootclasspath6}"
904     includeAntRuntime="false"
905     includeJavaRuntime="false"
906     executable="${javac7}"
907     fork="true">
908 dl 1.76
909 jsr166 1.103 <include name="extra166y/**/*.java"/>
910 dl 1.76 <compilerarg line="${build.args}"/>
911 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
912 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
913 dl 1.76
914     </javac>
915    
916     </target>
917    
918    
919    
920     <target name="extra166yjar"
921     depends="extra166ycompile"
922     description="Builds library jar from compiled sources">
923    
924     <mkdir dir="${build.extra166ylib.dir}"/>
925    
926     <jar destfile="${extra166yproduct.jar}" index="true">
927     <fileset dir="${build.extra166y.dir}"/>
928     </jar>
929    
930     </target>
931    
932    
933    
934     <target name="extra166ydocs"
935 jsr166 1.102 description="Builds javadocs with custom tags to build dir">
936 dl 1.76
937     <delete dir="${build.extra166yjavadocs.dir}"/>
938     <mkdir dir="${build.extra166yjavadocs.dir}"/>
939    
940     <javadoc destdir="${build.extra166yjavadocs.dir}"
941 jsr166 1.85 packagenames="extra166y"
942 jsr166 1.91 link="${jdkapidocs.url}"
943 jsr166 1.85 source="${build.sourcelevel}"
944 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
945     additionalparam="-XDignore.symbol.file=true" />
946 dl 1.76
947     </target>
948    
949    
950     <target name="extra166ydist"
951     depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
952     description="Puts all distributable products in single hierarchy"/>
953    
954    
955    
956     <target name="extra166yclean"
957     description="Removes all build products">
958    
959     <delete dir="${build.extra166y.dir}"/>
960     <delete dir="${build.extra166ylib.dir}"/>
961    
962     </target>
963    
964    
965    
966     <target name="extra166ydist-clean"
967     description="Removes all build and distribution products">
968    
969     </target>
970    
971     <target name="extra166ydist-docs"
972 jsr166 1.102 description="Builds javadocs to dist dir">
973 dl 1.76
974     <delete dir="${dist.extra166yjavadocs.dir}"/>
975     <mkdir dir="${dist.extra166yjavadocs.dir}"/>
976    
977     <javadoc destdir="${dist.extra166yjavadocs.dir}"
978 jsr166 1.85 packagenames="extra166y"
979 jsr166 1.91 link="${jdkapidocs.url}"
980 jsr166 1.85 source="${build.sourcelevel}"
981 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
982     additionalparam="-XDignore.symbol.file=true" />
983 dl 1.76
984     </target>
985    
986     <target name="extra166ydist-jar"
987     depends="extra166yclean, extra166yjar">
988    
989     <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
990    
991     </target>
992    
993 dl 1.90 <!-- jsr166e -->
994    
995     <target name="jsr166ecompile"
996 jsr166 1.94 depends="configure-compiler"
997 dl 1.90 description="Compiles jsr166e sources">
998    
999     <mkdir dir="${build.jsr166e.dir}"/>
1000    
1001 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1002 jsr166 1.94 destdir="${build.jsr166e.dir}"
1003     debug="${build.debug}"
1004     debuglevel="${build.debuglevel}"
1005     deprecation="${build.deprecation}"
1006 dl 1.90 source="1.7"
1007 jsr166 1.94 classpath=""
1008     includeAntRuntime="false"
1009     includeJavaRuntime="false"
1010     executable="${javac7}"
1011     fork="true">
1012 dl 1.90
1013 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1014 dl 1.90 <compilerarg line="${build.args}"/>
1015     <compilerarg value="-XDignore.symbol.file=true"/>
1016 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1017 dl 1.90
1018     </javac>
1019    
1020     </target>
1021    
1022    
1023    
1024     <target name="jsr166ejar"
1025     depends="jsr166ecompile"
1026     description="Builds library jar from compiled sources">
1027    
1028     <mkdir dir="${build.jsr166elib.dir}"/>
1029    
1030     <jar destfile="${jsr166eproduct.jar}" index="true">
1031     <fileset dir="${build.jsr166e.dir}"/>
1032     </jar>
1033    
1034     </target>
1035    
1036    
1037    
1038     <target name="jsr166edocs"
1039 jsr166 1.102 description="Builds javadocs with custom tags to build dir">
1040 dl 1.90
1041     <delete dir="${build.jsr166ejavadocs.dir}"/>
1042     <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1043    
1044     <javadoc destdir="${build.jsr166ejavadocs.dir}"
1045     packagenames="jsr166e,jsr166e.extra"
1046 jsr166 1.96 link="${jdkapi7docs.url}"
1047 dl 1.90 source="1.7"
1048 jsr166 1.99 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1049 jsr166 1.96 executable="${javadoc7}"
1050     additionalparam="-XDignore.symbol.file=true" >
1051     <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1052     <include name="jsr166e/**/*.java"/>
1053     </fileset>
1054     </javadoc>
1055 dl 1.90
1056     </target>
1057    
1058    
1059     <target name="jsr166edist"
1060     depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1061     description="Puts all distributable products in single hierarchy"/>
1062    
1063    
1064    
1065     <target name="jsr166eclean"
1066     description="Removes all build products">
1067    
1068     <delete dir="${build.jsr166e.dir}"/>
1069     <delete dir="${build.jsr166elib.dir}"/>
1070    
1071     </target>
1072    
1073    
1074    
1075     <target name="jsr166edist-clean"
1076     description="Removes all build and distribution products">
1077    
1078     </target>
1079    
1080     <target name="jsr166edist-docs"
1081 jsr166 1.102 description="Builds javadocs to dist dir">
1082 dl 1.90
1083     <delete dir="${dist.jsr166ejavadocs.dir}"/>
1084     <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1085    
1086     <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1087     packagenames="jsr166e,jsr166e.extra"
1088 jsr166 1.91 link="${jdkapidocs.url}"
1089 dl 1.90 source="1.7"
1090     sourcepath="${topsrc.dir}:${jdksrc.dir}"
1091     additionalparam="-XDignore.symbol.file=true" />
1092    
1093     </target>
1094    
1095     <target name="jsr166edist-jar"
1096     depends="jsr166eclean, jsr166ejar">
1097    
1098     <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1099    
1100     </target>
1101    
1102 tim 1.1 </project>