ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.99
Committed: Sat Jan 19 01:37:44 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.98: +68 -65 lines
Log Message:
disambiguate between jdk7 proper and jsr166 for jdk7 ("4jdk7")

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