ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.108
Committed: Sat Jan 19 23:58:12 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.107: +16 -87 lines
Log Message:
only one docs target per subdir

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