ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.103
Committed: Sat Jan 19 21:35:40 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.102: +39 -37 lines
Log Message:
nuke obsolete "init" task; modernize jsr166ycompile, extra166ycompile

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