ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.114
Committed: Sun Jan 20 04:44:26 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.113: +18 -13 lines
Log Message:
yet another directory layout reorg

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