ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.131
Committed: Fri Feb 1 18:31:17 2013 UTC (11 years, 2 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.130: +10 -0 lines
Log Message:
add test-tck target

File Contents

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