ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.115
Committed: Sun Jan 20 06:11:07 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.114: +35 -3 lines
Log Message:
add "hermetic" jtreg support

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