ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.97
Committed: Tue Jan 15 01:15:02 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.96: +82 -11 lines
Log Message:
support running of tck tests for src/jdk7

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