ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.113
Committed: Sun Jan 20 03:51:38 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.112: +1 -1 lines
Log Message:
fiddle with directory layout

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