ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.105
Committed: Sat Jan 19 21:54:53 2013 UTC (11 years, 3 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.104: +16 -10 lines
Log Message:
modernize jsr166xcompile target

File Contents

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