ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.107
Committed: Sat Jan 19 23:40:04 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.106: +42 -33 lines
Log Message:
javadoc target rewrite continued

File Contents

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