ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.109
Committed: Sun Jan 20 01:06:24 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.108: +22 -49 lines
Log Message:
build.xml rewrite continued

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