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