ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.149
Committed: Sat Jul 20 20:40:24 2013 UTC (10 years, 9 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.148: +29 -0 lines
Log Message:
add 4jdk7doclint target

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