ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.101
Committed: Sat Jan 19 17:30:36 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.100: +1 -0 lines
Log Message:
add a TODO

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 folder">
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="init, 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">
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="init, 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="init, 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 with custom tags to build folder">
634
635 <delete dir="${build.4jdk7.docs.dir}"/>
636 <mkdir dir="${build.4jdk7.docs.dir}"/>
637
638 <javadoc destdir="${build.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, 4jdk7dist-docs"
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-docs"
675 description="Builds javadocs without custom tags to dist folder">
676
677 <delete dir="${dist.4jdk7.docs.dir}"/>
678 <mkdir dir="${dist.4jdk7.docs.dir}"/>
679
680 <javadoc destdir="${dist.4jdk7.docs.dir}"
681 packagenames="none"
682 link="${jdkapi7docs.url}"
683 overview="${4jdk7src.dir}/intro.html"
684 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
685 classpath=""
686 executable="${javadoc7}">
687 <arg value="-XDignore.symbol.file=true"/>
688 <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
689 <include name="**/*.java"/>
690 </fileset>
691 </javadoc>
692
693 </target>
694
695 <target name="4jdk7dist-jar"
696 depends="4jdk7clean, 4jdk7compile">
697
698 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
699
700 </target>
701
702 <!-- jsr166x -->
703
704
705 <target name="jsr166xcompile"
706 depends="init, configure-compiler"
707 description="Compiles jsr166x sources">
708
709 <mkdir dir="${build.jsr166x.dir}"/>
710
711 <javac srcdir="${jsr166xsrc.dir}"
712 destdir="${build.jsr166x.dir}"
713 debug="${build.debug}"
714 debuglevel="${build.debuglevel}"
715 deprecation="${build.deprecation}"
716 source="${build.sourcelevel}"
717 fork="true">
718
719 <include name="**/*.java"/>
720 <compilerarg line="${build.args}"/>
721 <compilerarg value="-XDignore.symbol.file=true"/>
722
723 </javac>
724
725 </target>
726
727
728
729 <target name="jsr166xjar"
730 depends="jsr166xcompile"
731 description="Builds library jar from compiled sources">
732
733 <mkdir dir="${build.jsr166xlib.dir}"/>
734
735 <jar destfile="${jsr166xproduct.jar}">
736 <fileset dir="${build.jsr166x.dir}"/>
737 </jar>
738
739 </target>
740
741
742
743 <target name="jsr166xdocs"
744 description="Builds javadocs with custom tags to build folder">
745
746 <delete dir="${build.jsr166xjavadocs.dir}"/>
747 <mkdir dir="${build.jsr166xjavadocs.dir}"/>
748
749 <javadoc destdir="${build.jsr166xjavadocs.dir}"
750 packagenames="jsr166x"
751 link="${jdkapidocs.url}"
752 source="${build.sourcelevel}"
753 sourcepath="${topsrc.dir}:${jdksrc.dir}"
754 additionalparam="-XDignore.symbol.file=true" />
755
756 </target>
757
758
759 <target name="jsr166xdist"
760 depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
761 description="Puts all distributable products in single hierarchy"/>
762
763
764
765 <target name="jsr166xclean"
766 description="Removes all build products">
767
768 <delete dir="${build.jsr166x.dir}"/>
769 <delete dir="${build.jsr166xlib.dir}"/>
770
771 </target>
772
773
774
775 <target name="jsr166xdist-clean"
776 description="Removes all build and distribution products">
777
778 </target>
779
780
781
782 <target name="jsr166xdist-docs"
783 description="Builds javadocs without custom tags to dist folder">
784
785 <delete dir="${dist.jsr166xjavadocs.dir}"/>
786 <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
787
788 <javadoc destdir="${dist.jsr166xjavadocs.dir}"
789 packagenames="jsr166x"
790 link="${jdkapidocs.url}"
791 source="${build.sourcelevel}"
792 sourcepath="${topsrc.dir}:${jdksrc.dir}"
793 additionalparam="-XDignore.symbol.file=true" />
794
795 </target>
796
797 <target name="jsr166xdist-jar"
798 depends="jsr166xclean, jsr166xjar">
799
800 <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>
801
802 </target>
803
804 <!-- jsr166y -->
805
806
807 <target name="jsr166ycompile"
808 depends="init, configure-compiler"
809 description="Compiles jsr166y sources">
810
811 <mkdir dir="${build.jsr166y.dir}"/>
812
813 <javac srcdir="${jsr166ysrc.dir}"
814 destdir="${build.jsr166y.dir}"
815 debug="${build.debug}"
816 debuglevel="${build.debuglevel}"
817 deprecation="${build.deprecation}"
818 source="${build.sourcelevel}"
819 fork="true">
820
821 <include name="**/*.java"/>
822 <compilerarg line="${build.args}"/>
823 <compilerarg value="-XDignore.symbol.file=true"/>
824 <compilerarg value="${bootclasspath.args}"/>
825
826 <!-- <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
827
828 </javac>
829
830 </target>
831
832
833
834 <target name="jsr166yjar"
835 depends="jsr166ycompile"
836 description="Builds library jar from compiled sources">
837
838 <mkdir dir="${build.jsr166ylib.dir}"/>
839
840 <jar destfile="${jsr166yproduct.jar}" index="true">
841 <fileset dir="${build.jsr166y.dir}"/>
842 </jar>
843
844 </target>
845
846
847
848 <target name="jsr166ydocs"
849 description="Builds javadocs with custom tags to build folder">
850
851 <delete dir="${build.jsr166yjavadocs.dir}"/>
852 <mkdir dir="${build.jsr166yjavadocs.dir}"/>
853
854 <javadoc destdir="${build.jsr166yjavadocs.dir}"
855 packagenames="jsr166y"
856 link="${jdkapidocs.url}"
857 source="${build.sourcelevel}"
858 sourcepath="${topsrc.dir}:${jdksrc.dir}"
859 additionalparam="-XDignore.symbol.file=true" />
860
861 </target>
862
863
864 <target name="jsr166ydist"
865 depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
866 description="Puts all distributable products in single hierarchy"/>
867
868
869
870 <target name="jsr166yclean"
871 description="Removes all build products">
872
873 <delete dir="${build.jsr166y.dir}"/>
874 <delete dir="${build.jsr166ylib.dir}"/>
875
876 </target>
877
878
879
880 <target name="jsr166ydist-clean"
881 description="Removes all build and distribution products">
882
883 </target>
884
885 <target name="jsr166ydist-docs"
886 description="Builds javadocs without custom tags to dist folder">
887
888 <delete dir="${dist.jsr166yjavadocs.dir}"/>
889 <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
890
891 <javadoc destdir="${dist.jsr166yjavadocs.dir}"
892 packagenames="jsr166y"
893 link="${jdkapidocs.url}"
894 source="${build.sourcelevel}"
895 sourcepath="${topsrc.dir}:${jdksrc.dir}"
896 additionalparam="-XDignore.symbol.file=true" />
897
898 </target>
899
900 <target name="jsr166ydist-jar"
901 depends="jsr166yclean, jsr166yjar">
902
903 <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
904
905 </target>
906
907
908 <!-- extra166y -->
909
910
911 <target name="extra166ycompile"
912 depends="init, configure-compiler, jsr166ycompile"
913 description="Compiles extra166y sources">
914
915 <mkdir dir="${build.extra166y.dir}"/>
916
917 <javac srcdir="${extra166ysrc.dir}"
918 destdir="${build.extra166y.dir}"
919 debug="${build.debug}"
920 classpath="${jsr166yproduct.jar}"
921 debuglevel="${build.debuglevel}"
922 deprecation="${build.deprecation}"
923 source="${build.sourcelevel}"
924 fork="true">
925
926 <include name="**/*.java"/>
927 <compilerarg line="${build.args}"/>
928 <compilerarg value="-XDignore.symbol.file=true"/>
929 <compilerarg value="${bootclasspath.args}"/>
930
931 <!-- <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
932
933 </javac>
934
935 </target>
936
937
938
939 <target name="extra166yjar"
940 depends="extra166ycompile"
941 description="Builds library jar from compiled sources">
942
943 <mkdir dir="${build.extra166ylib.dir}"/>
944
945 <jar destfile="${extra166yproduct.jar}" index="true">
946 <fileset dir="${build.extra166y.dir}"/>
947 </jar>
948
949 </target>
950
951
952
953 <target name="extra166ydocs"
954 description="Builds javadocs with custom tags to build folder">
955
956 <delete dir="${build.extra166yjavadocs.dir}"/>
957 <mkdir dir="${build.extra166yjavadocs.dir}"/>
958
959 <javadoc destdir="${build.extra166yjavadocs.dir}"
960 packagenames="extra166y"
961 link="${jdkapidocs.url}"
962 source="${build.sourcelevel}"
963 sourcepath="${topsrc.dir}:${jdksrc.dir}"
964 additionalparam="-XDignore.symbol.file=true" />
965
966 </target>
967
968
969 <target name="extra166ydist"
970 depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
971 description="Puts all distributable products in single hierarchy"/>
972
973
974
975 <target name="extra166yclean"
976 description="Removes all build products">
977
978 <delete dir="${build.extra166y.dir}"/>
979 <delete dir="${build.extra166ylib.dir}"/>
980
981 </target>
982
983
984
985 <target name="extra166ydist-clean"
986 description="Removes all build and distribution products">
987
988 </target>
989
990 <target name="extra166ydist-docs"
991 description="Builds javadocs without custom tags to dist folder">
992
993 <delete dir="${dist.extra166yjavadocs.dir}"/>
994 <mkdir dir="${dist.extra166yjavadocs.dir}"/>
995
996 <javadoc destdir="${dist.extra166yjavadocs.dir}"
997 packagenames="extra166y"
998 link="${jdkapidocs.url}"
999 source="${build.sourcelevel}"
1000 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1001 additionalparam="-XDignore.symbol.file=true" />
1002
1003 </target>
1004
1005 <target name="extra166ydist-jar"
1006 depends="extra166yclean, extra166yjar">
1007
1008 <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
1009
1010 </target>
1011
1012 <!-- jsr166e -->
1013
1014 <target name="jsr166ecompile"
1015 depends="configure-compiler"
1016 description="Compiles jsr166e sources">
1017
1018 <mkdir dir="${build.jsr166e.dir}"/>
1019
1020 <javac srcdir="${topsrc.dir}"
1021 destdir="${build.jsr166e.dir}"
1022 debug="${build.debug}"
1023 debuglevel="${build.debuglevel}"
1024 deprecation="${build.deprecation}"
1025 source="1.7"
1026 classpath=""
1027 includeAntRuntime="false"
1028 includeJavaRuntime="false"
1029 executable="${javac7}"
1030 fork="true">
1031
1032 <include name="jsr166e/**/*.java"/>
1033 <compilerarg line="${build.args}"/>
1034 <compilerarg value="-XDignore.symbol.file=true"/>
1035 <compilerarg value="-Xlint:all"/>
1036
1037 </javac>
1038
1039 </target>
1040
1041
1042
1043 <target name="jsr166ejar"
1044 depends="jsr166ecompile"
1045 description="Builds library jar from compiled sources">
1046
1047 <mkdir dir="${build.jsr166elib.dir}"/>
1048
1049 <jar destfile="${jsr166eproduct.jar}" index="true">
1050 <fileset dir="${build.jsr166e.dir}"/>
1051 </jar>
1052
1053 </target>
1054
1055
1056
1057 <target name="jsr166edocs"
1058 description="Builds javadocs with custom tags to build folder">
1059
1060 <delete dir="${build.jsr166ejavadocs.dir}"/>
1061 <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1062
1063 <javadoc destdir="${build.jsr166ejavadocs.dir}"
1064 packagenames="jsr166e,jsr166e.extra"
1065 link="${jdkapi7docs.url}"
1066 source="1.7"
1067 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1068 executable="${javadoc7}"
1069 additionalparam="-XDignore.symbol.file=true" >
1070 <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1071 <include name="jsr166e/**/*.java"/>
1072 </fileset>
1073 </javadoc>
1074
1075 </target>
1076
1077
1078 <target name="jsr166edist"
1079 depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1080 description="Puts all distributable products in single hierarchy"/>
1081
1082
1083
1084 <target name="jsr166eclean"
1085 description="Removes all build products">
1086
1087 <delete dir="${build.jsr166e.dir}"/>
1088 <delete dir="${build.jsr166elib.dir}"/>
1089
1090 </target>
1091
1092
1093
1094 <target name="jsr166edist-clean"
1095 description="Removes all build and distribution products">
1096
1097 </target>
1098
1099 <target name="jsr166edist-docs"
1100 description="Builds javadocs without custom tags to dist folder">
1101
1102 <delete dir="${dist.jsr166ejavadocs.dir}"/>
1103 <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1104
1105 <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1106 packagenames="jsr166e,jsr166e.extra"
1107 link="${jdkapidocs.url}"
1108 source="1.7"
1109 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1110 additionalparam="-XDignore.symbol.file=true" />
1111
1112 </target>
1113
1114 <target name="jsr166edist-jar"
1115 depends="jsr166eclean, jsr166ejar">
1116
1117 <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1118
1119 </target>
1120
1121 </project>