ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.98
Committed: Wed Jan 16 07:39:51 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.97: +9 -0 lines
Log Message:
document new jdk location conventions

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