ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.100
Committed: Sat Jan 19 17:15:44 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.99: +30 -40 lines
Log Message:
delete dist-docs; modernize compile and docs targets

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