ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.102
Committed: Sat Jan 19 20:53:34 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.101: +15 -36 lines
Log Message:
fiddle with javadoc targets

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 tim 1.32 depends="init, 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.100 depends="init, 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 tim 1.32 <target name="init">
314 tim 1.27
315 tim 1.11 <!-- Version is kept in a separate file -->
316     <loadfile property="version" srcFile="version.properties"/>
317     <echo>Building JSR-166 version ${version}</echo>
318 tim 1.54 <echo>java.home is ${java.home}</echo>
319 tim 1.27
320     </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     <target name="loops" depends="init, configure-compiler"
508     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     depends="init, configure-compiler"
686     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     depends="init, configure-compiler"
788     description="Compiles jsr166y sources">
789    
790     <mkdir dir="${build.jsr166y.dir}"/>
791    
792     <javac srcdir="${jsr166ysrc.dir}"
793     destdir="${build.jsr166y.dir}"
794     debug="${build.debug}"
795     debuglevel="${build.debuglevel}"
796     deprecation="${build.deprecation}"
797     source="${build.sourcelevel}"
798     fork="true">
799    
800     <include name="**/*.java"/>
801     <compilerarg line="${build.args}"/>
802 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
803 dl 1.74 <compilerarg value="${bootclasspath.args}"/>
804    
805     <!-- <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
806    
807     </javac>
808    
809     </target>
810    
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 dl 1.77 depends="init, configure-compiler, jsr166ycompile"
892 dl 1.76 description="Compiles extra166y sources">
893    
894     <mkdir dir="${build.extra166y.dir}"/>
895    
896     <javac srcdir="${extra166ysrc.dir}"
897     destdir="${build.extra166y.dir}"
898     debug="${build.debug}"
899 dl 1.77 classpath="${jsr166yproduct.jar}"
900 dl 1.76 debuglevel="${build.debuglevel}"
901     deprecation="${build.deprecation}"
902     source="${build.sourcelevel}"
903     fork="true">
904    
905     <include name="**/*.java"/>
906     <compilerarg line="${build.args}"/>
907 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
908 dl 1.76 <compilerarg value="${bootclasspath.args}"/>
909    
910     <!-- <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
911    
912     </javac>
913    
914     </target>
915    
916    
917    
918     <target name="extra166yjar"
919     depends="extra166ycompile"
920     description="Builds library jar from compiled sources">
921    
922     <mkdir dir="${build.extra166ylib.dir}"/>
923    
924     <jar destfile="${extra166yproduct.jar}" index="true">
925     <fileset dir="${build.extra166y.dir}"/>
926     </jar>
927    
928     </target>
929    
930    
931    
932     <target name="extra166ydocs"
933 jsr166 1.102 description="Builds javadocs with custom tags to build dir">
934 dl 1.76
935     <delete dir="${build.extra166yjavadocs.dir}"/>
936     <mkdir dir="${build.extra166yjavadocs.dir}"/>
937    
938     <javadoc destdir="${build.extra166yjavadocs.dir}"
939 jsr166 1.85 packagenames="extra166y"
940 jsr166 1.91 link="${jdkapidocs.url}"
941 jsr166 1.85 source="${build.sourcelevel}"
942 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
943     additionalparam="-XDignore.symbol.file=true" />
944 dl 1.76
945     </target>
946    
947    
948     <target name="extra166ydist"
949     depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
950     description="Puts all distributable products in single hierarchy"/>
951    
952    
953    
954     <target name="extra166yclean"
955     description="Removes all build products">
956    
957     <delete dir="${build.extra166y.dir}"/>
958     <delete dir="${build.extra166ylib.dir}"/>
959    
960     </target>
961    
962    
963    
964     <target name="extra166ydist-clean"
965     description="Removes all build and distribution products">
966    
967     </target>
968    
969     <target name="extra166ydist-docs"
970 jsr166 1.102 description="Builds javadocs to dist dir">
971 dl 1.76
972     <delete dir="${dist.extra166yjavadocs.dir}"/>
973     <mkdir dir="${dist.extra166yjavadocs.dir}"/>
974    
975     <javadoc destdir="${dist.extra166yjavadocs.dir}"
976 jsr166 1.85 packagenames="extra166y"
977 jsr166 1.91 link="${jdkapidocs.url}"
978 jsr166 1.85 source="${build.sourcelevel}"
979 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
980     additionalparam="-XDignore.symbol.file=true" />
981 dl 1.76
982     </target>
983    
984     <target name="extra166ydist-jar"
985     depends="extra166yclean, extra166yjar">
986    
987     <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
988    
989     </target>
990    
991 dl 1.90 <!-- jsr166e -->
992    
993     <target name="jsr166ecompile"
994 jsr166 1.94 depends="configure-compiler"
995 dl 1.90 description="Compiles jsr166e sources">
996    
997     <mkdir dir="${build.jsr166e.dir}"/>
998    
999 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1000 jsr166 1.94 destdir="${build.jsr166e.dir}"
1001     debug="${build.debug}"
1002     debuglevel="${build.debuglevel}"
1003     deprecation="${build.deprecation}"
1004 dl 1.90 source="1.7"
1005 jsr166 1.94 classpath=""
1006     includeAntRuntime="false"
1007     includeJavaRuntime="false"
1008     executable="${javac7}"
1009     fork="true">
1010 dl 1.90
1011 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1012 dl 1.90 <compilerarg line="${build.args}"/>
1013     <compilerarg value="-XDignore.symbol.file=true"/>
1014 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1015 dl 1.90
1016     </javac>
1017    
1018     </target>
1019    
1020    
1021    
1022     <target name="jsr166ejar"
1023     depends="jsr166ecompile"
1024     description="Builds library jar from compiled sources">
1025    
1026     <mkdir dir="${build.jsr166elib.dir}"/>
1027    
1028     <jar destfile="${jsr166eproduct.jar}" index="true">
1029     <fileset dir="${build.jsr166e.dir}"/>
1030     </jar>
1031    
1032     </target>
1033    
1034    
1035    
1036     <target name="jsr166edocs"
1037 jsr166 1.102 description="Builds javadocs with custom tags to build dir">
1038 dl 1.90
1039     <delete dir="${build.jsr166ejavadocs.dir}"/>
1040     <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1041    
1042     <javadoc destdir="${build.jsr166ejavadocs.dir}"
1043     packagenames="jsr166e,jsr166e.extra"
1044 jsr166 1.96 link="${jdkapi7docs.url}"
1045 dl 1.90 source="1.7"
1046 jsr166 1.99 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1047 jsr166 1.96 executable="${javadoc7}"
1048     additionalparam="-XDignore.symbol.file=true" >
1049     <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1050     <include name="jsr166e/**/*.java"/>
1051     </fileset>
1052     </javadoc>
1053 dl 1.90
1054     </target>
1055    
1056    
1057     <target name="jsr166edist"
1058     depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1059     description="Puts all distributable products in single hierarchy"/>
1060    
1061    
1062    
1063     <target name="jsr166eclean"
1064     description="Removes all build products">
1065    
1066     <delete dir="${build.jsr166e.dir}"/>
1067     <delete dir="${build.jsr166elib.dir}"/>
1068    
1069     </target>
1070    
1071    
1072    
1073     <target name="jsr166edist-clean"
1074     description="Removes all build and distribution products">
1075    
1076     </target>
1077    
1078     <target name="jsr166edist-docs"
1079 jsr166 1.102 description="Builds javadocs to dist dir">
1080 dl 1.90
1081     <delete dir="${dist.jsr166ejavadocs.dir}"/>
1082     <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1083    
1084     <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1085     packagenames="jsr166e,jsr166e.extra"
1086 jsr166 1.91 link="${jdkapidocs.url}"
1087 dl 1.90 source="1.7"
1088     sourcepath="${topsrc.dir}:${jdksrc.dir}"
1089     additionalparam="-XDignore.symbol.file=true" />
1090    
1091     </target>
1092    
1093     <target name="jsr166edist-jar"
1094     depends="jsr166eclean, jsr166ejar">
1095    
1096     <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1097    
1098     </target>
1099    
1100 tim 1.1 </project>