ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.116
Committed: Sun Jan 20 07:24:52 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.115: +38 -31 lines
Log Message:
refactor run-tck-tests to compile and run tests

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