ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.99
Committed: Sat Jan 19 01:37:44 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.98: +68 -65 lines
Log Message:
disambiguate between jdk7 proper and jsr166 for jdk7 ("4jdk7")

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