ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.101
Committed: Sat Jan 19 17:30:36 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.100: +1 -0 lines
Log Message:
add a TODO

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     description="Compiles src/main sources to build folder">
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.100 description="Builds javadocs for src/main">
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.92 description="Builds javadocs with custom tags to build folder">
634    
635 jsr166 1.99 <delete dir="${build.4jdk7.docs.dir}"/>
636     <mkdir dir="${build.4jdk7.docs.dir}"/>
637 jsr166 1.92
638 jsr166 1.99 <javadoc destdir="${build.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     depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs"
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-docs"
675 jsr166 1.92 description="Builds javadocs without custom tags to dist folder">
676    
677 jsr166 1.99 <delete dir="${dist.4jdk7.docs.dir}"/>
678     <mkdir dir="${dist.4jdk7.docs.dir}"/>
679 jsr166 1.92
680 jsr166 1.99 <javadoc destdir="${dist.4jdk7.docs.dir}"
681 jsr166 1.92 packagenames="none"
682     link="${jdkapi7docs.url}"
683 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
684     sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
685 jsr166 1.92 classpath=""
686 jsr166 1.99 executable="${javadoc7}">
687 jsr166 1.92 <arg value="-XDignore.symbol.file=true"/>
688 jsr166 1.99 <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
689 jsr166 1.92 <include name="**/*.java"/>
690     </fileset>
691     </javadoc>
692    
693     </target>
694    
695 jsr166 1.99 <target name="4jdk7dist-jar"
696     depends="4jdk7clean, 4jdk7compile">
697 jsr166 1.92
698 jsr166 1.99 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
699 jsr166 1.92
700     </target>
701    
702 dl 1.70 <!-- jsr166x -->
703    
704    
705     <target name="jsr166xcompile"
706     depends="init, configure-compiler"
707     description="Compiles jsr166x sources">
708    
709     <mkdir dir="${build.jsr166x.dir}"/>
710    
711     <javac srcdir="${jsr166xsrc.dir}"
712     destdir="${build.jsr166x.dir}"
713     debug="${build.debug}"
714     debuglevel="${build.debuglevel}"
715     deprecation="${build.deprecation}"
716     source="${build.sourcelevel}"
717     fork="true">
718    
719     <include name="**/*.java"/>
720     <compilerarg line="${build.args}"/>
721 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
722 dl 1.70
723     </javac>
724    
725     </target>
726    
727    
728    
729     <target name="jsr166xjar"
730     depends="jsr166xcompile"
731     description="Builds library jar from compiled sources">
732    
733     <mkdir dir="${build.jsr166xlib.dir}"/>
734    
735     <jar destfile="${jsr166xproduct.jar}">
736     <fileset dir="${build.jsr166x.dir}"/>
737     </jar>
738    
739     </target>
740    
741    
742    
743     <target name="jsr166xdocs"
744     description="Builds javadocs with custom tags to build folder">
745    
746     <delete dir="${build.jsr166xjavadocs.dir}"/>
747     <mkdir dir="${build.jsr166xjavadocs.dir}"/>
748    
749     <javadoc destdir="${build.jsr166xjavadocs.dir}"
750 jsr166 1.85 packagenames="jsr166x"
751 jsr166 1.91 link="${jdkapidocs.url}"
752 jsr166 1.85 source="${build.sourcelevel}"
753 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
754     additionalparam="-XDignore.symbol.file=true" />
755 dl 1.70
756     </target>
757    
758    
759     <target name="jsr166xdist"
760     depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
761     description="Puts all distributable products in single hierarchy"/>
762    
763    
764    
765     <target name="jsr166xclean"
766     description="Removes all build products">
767    
768     <delete dir="${build.jsr166x.dir}"/>
769     <delete dir="${build.jsr166xlib.dir}"/>
770    
771     </target>
772    
773    
774    
775     <target name="jsr166xdist-clean"
776     description="Removes all build and distribution products">
777    
778     </target>
779    
780    
781    
782     <target name="jsr166xdist-docs"
783     description="Builds javadocs without custom tags to dist folder">
784    
785     <delete dir="${dist.jsr166xjavadocs.dir}"/>
786     <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
787    
788     <javadoc destdir="${dist.jsr166xjavadocs.dir}"
789 jsr166 1.85 packagenames="jsr166x"
790 jsr166 1.91 link="${jdkapidocs.url}"
791 jsr166 1.85 source="${build.sourcelevel}"
792 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
793     additionalparam="-XDignore.symbol.file=true" />
794 dl 1.70
795     </target>
796    
797     <target name="jsr166xdist-jar"
798     depends="jsr166xclean, jsr166xjar">
799    
800     <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>
801    
802     </target>
803    
804 dl 1.74 <!-- jsr166y -->
805    
806    
807     <target name="jsr166ycompile"
808     depends="init, configure-compiler"
809     description="Compiles jsr166y sources">
810    
811     <mkdir dir="${build.jsr166y.dir}"/>
812    
813     <javac srcdir="${jsr166ysrc.dir}"
814     destdir="${build.jsr166y.dir}"
815     debug="${build.debug}"
816     debuglevel="${build.debuglevel}"
817     deprecation="${build.deprecation}"
818     source="${build.sourcelevel}"
819     fork="true">
820    
821     <include name="**/*.java"/>
822     <compilerarg line="${build.args}"/>
823 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
824 dl 1.74 <compilerarg value="${bootclasspath.args}"/>
825    
826     <!-- <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
827    
828     </javac>
829    
830     </target>
831    
832    
833    
834     <target name="jsr166yjar"
835     depends="jsr166ycompile"
836     description="Builds library jar from compiled sources">
837    
838     <mkdir dir="${build.jsr166ylib.dir}"/>
839    
840 dl 1.76 <jar destfile="${jsr166yproduct.jar}" index="true">
841 dl 1.74 <fileset dir="${build.jsr166y.dir}"/>
842     </jar>
843    
844     </target>
845    
846    
847    
848     <target name="jsr166ydocs"
849     description="Builds javadocs with custom tags to build folder">
850    
851     <delete dir="${build.jsr166yjavadocs.dir}"/>
852     <mkdir dir="${build.jsr166yjavadocs.dir}"/>
853    
854     <javadoc destdir="${build.jsr166yjavadocs.dir}"
855 jsr166 1.85 packagenames="jsr166y"
856 jsr166 1.91 link="${jdkapidocs.url}"
857 jsr166 1.85 source="${build.sourcelevel}"
858 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
859     additionalparam="-XDignore.symbol.file=true" />
860 dl 1.74
861     </target>
862    
863    
864     <target name="jsr166ydist"
865     depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
866     description="Puts all distributable products in single hierarchy"/>
867    
868    
869    
870     <target name="jsr166yclean"
871     description="Removes all build products">
872    
873     <delete dir="${build.jsr166y.dir}"/>
874     <delete dir="${build.jsr166ylib.dir}"/>
875    
876     </target>
877    
878    
879    
880     <target name="jsr166ydist-clean"
881     description="Removes all build and distribution products">
882    
883     </target>
884    
885     <target name="jsr166ydist-docs"
886     description="Builds javadocs without custom tags to dist folder">
887    
888     <delete dir="${dist.jsr166yjavadocs.dir}"/>
889     <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
890    
891     <javadoc destdir="${dist.jsr166yjavadocs.dir}"
892 jsr166 1.85 packagenames="jsr166y"
893 jsr166 1.91 link="${jdkapidocs.url}"
894 jsr166 1.85 source="${build.sourcelevel}"
895 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
896     additionalparam="-XDignore.symbol.file=true" />
897 dl 1.74
898     </target>
899    
900     <target name="jsr166ydist-jar"
901     depends="jsr166yclean, jsr166yjar">
902    
903     <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
904    
905     </target>
906    
907 dl 1.90
908 dl 1.76 <!-- extra166y -->
909    
910    
911     <target name="extra166ycompile"
912 dl 1.77 depends="init, configure-compiler, jsr166ycompile"
913 dl 1.76 description="Compiles extra166y sources">
914    
915     <mkdir dir="${build.extra166y.dir}"/>
916    
917     <javac srcdir="${extra166ysrc.dir}"
918     destdir="${build.extra166y.dir}"
919     debug="${build.debug}"
920 dl 1.77 classpath="${jsr166yproduct.jar}"
921 dl 1.76 debuglevel="${build.debuglevel}"
922     deprecation="${build.deprecation}"
923     source="${build.sourcelevel}"
924     fork="true">
925    
926     <include name="**/*.java"/>
927     <compilerarg line="${build.args}"/>
928 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
929 dl 1.76 <compilerarg value="${bootclasspath.args}"/>
930    
931     <!-- <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
932    
933     </javac>
934    
935     </target>
936    
937    
938    
939     <target name="extra166yjar"
940     depends="extra166ycompile"
941     description="Builds library jar from compiled sources">
942    
943     <mkdir dir="${build.extra166ylib.dir}"/>
944    
945     <jar destfile="${extra166yproduct.jar}" index="true">
946     <fileset dir="${build.extra166y.dir}"/>
947     </jar>
948    
949     </target>
950    
951    
952    
953     <target name="extra166ydocs"
954     description="Builds javadocs with custom tags to build folder">
955    
956     <delete dir="${build.extra166yjavadocs.dir}"/>
957     <mkdir dir="${build.extra166yjavadocs.dir}"/>
958    
959     <javadoc destdir="${build.extra166yjavadocs.dir}"
960 jsr166 1.85 packagenames="extra166y"
961 jsr166 1.91 link="${jdkapidocs.url}"
962 jsr166 1.85 source="${build.sourcelevel}"
963 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
964     additionalparam="-XDignore.symbol.file=true" />
965 dl 1.76
966     </target>
967    
968    
969     <target name="extra166ydist"
970     depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
971     description="Puts all distributable products in single hierarchy"/>
972    
973    
974    
975     <target name="extra166yclean"
976     description="Removes all build products">
977    
978     <delete dir="${build.extra166y.dir}"/>
979     <delete dir="${build.extra166ylib.dir}"/>
980    
981     </target>
982    
983    
984    
985     <target name="extra166ydist-clean"
986     description="Removes all build and distribution products">
987    
988     </target>
989    
990     <target name="extra166ydist-docs"
991     description="Builds javadocs without custom tags to dist folder">
992    
993     <delete dir="${dist.extra166yjavadocs.dir}"/>
994     <mkdir dir="${dist.extra166yjavadocs.dir}"/>
995    
996     <javadoc destdir="${dist.extra166yjavadocs.dir}"
997 jsr166 1.85 packagenames="extra166y"
998 jsr166 1.91 link="${jdkapidocs.url}"
999 jsr166 1.85 source="${build.sourcelevel}"
1000 jsr166 1.89 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1001     additionalparam="-XDignore.symbol.file=true" />
1002 dl 1.76
1003     </target>
1004    
1005     <target name="extra166ydist-jar"
1006     depends="extra166yclean, extra166yjar">
1007    
1008     <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
1009    
1010     </target>
1011    
1012 dl 1.90 <!-- jsr166e -->
1013    
1014     <target name="jsr166ecompile"
1015 jsr166 1.94 depends="configure-compiler"
1016 dl 1.90 description="Compiles jsr166e sources">
1017    
1018     <mkdir dir="${build.jsr166e.dir}"/>
1019    
1020 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1021 jsr166 1.94 destdir="${build.jsr166e.dir}"
1022     debug="${build.debug}"
1023     debuglevel="${build.debuglevel}"
1024     deprecation="${build.deprecation}"
1025 dl 1.90 source="1.7"
1026 jsr166 1.94 classpath=""
1027     includeAntRuntime="false"
1028     includeJavaRuntime="false"
1029     executable="${javac7}"
1030     fork="true">
1031 dl 1.90
1032 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1033 dl 1.90 <compilerarg line="${build.args}"/>
1034     <compilerarg value="-XDignore.symbol.file=true"/>
1035 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1036 dl 1.90
1037     </javac>
1038    
1039     </target>
1040    
1041    
1042    
1043     <target name="jsr166ejar"
1044     depends="jsr166ecompile"
1045     description="Builds library jar from compiled sources">
1046    
1047     <mkdir dir="${build.jsr166elib.dir}"/>
1048    
1049     <jar destfile="${jsr166eproduct.jar}" index="true">
1050     <fileset dir="${build.jsr166e.dir}"/>
1051     </jar>
1052    
1053     </target>
1054    
1055    
1056    
1057     <target name="jsr166edocs"
1058     description="Builds javadocs with custom tags to build folder">
1059    
1060     <delete dir="${build.jsr166ejavadocs.dir}"/>
1061     <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1062    
1063     <javadoc destdir="${build.jsr166ejavadocs.dir}"
1064     packagenames="jsr166e,jsr166e.extra"
1065 jsr166 1.96 link="${jdkapi7docs.url}"
1066 dl 1.90 source="1.7"
1067 jsr166 1.99 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1068 jsr166 1.96 executable="${javadoc7}"
1069     additionalparam="-XDignore.symbol.file=true" >
1070     <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1071     <include name="jsr166e/**/*.java"/>
1072     </fileset>
1073     </javadoc>
1074 dl 1.90
1075     </target>
1076    
1077    
1078     <target name="jsr166edist"
1079     depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1080     description="Puts all distributable products in single hierarchy"/>
1081    
1082    
1083    
1084     <target name="jsr166eclean"
1085     description="Removes all build products">
1086    
1087     <delete dir="${build.jsr166e.dir}"/>
1088     <delete dir="${build.jsr166elib.dir}"/>
1089    
1090     </target>
1091    
1092    
1093    
1094     <target name="jsr166edist-clean"
1095     description="Removes all build and distribution products">
1096    
1097     </target>
1098    
1099     <target name="jsr166edist-docs"
1100     description="Builds javadocs without custom tags to dist folder">
1101    
1102     <delete dir="${dist.jsr166ejavadocs.dir}"/>
1103     <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1104    
1105     <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1106     packagenames="jsr166e,jsr166e.extra"
1107 jsr166 1.91 link="${jdkapidocs.url}"
1108 dl 1.90 source="1.7"
1109     sourcepath="${topsrc.dir}:${jdksrc.dir}"
1110     additionalparam="-XDignore.symbol.file=true" />
1111    
1112     </target>
1113    
1114     <target name="jsr166edist-jar"
1115     depends="jsr166eclean, jsr166ejar">
1116    
1117     <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1118    
1119     </target>
1120    
1121 tim 1.1 </project>