/[cvs]/jsr166/build.xml
ViewVC logotype

Annotation of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.173 - (hide annotations)
Thu Sep 3 01:24:31 2015 UTC (4 years, 3 months ago) by jsr166
Branch: MAIN
Changes since 1.172: +11 -24 lines
File MIME type: text/xml
fork jtreg to jtreg-jdk7; jtreg/ is now jdk8+

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.151 $HOME/jdk/jdk9
20 jsr166 1.99 where each of the above is a JDK or a symlink to same, and
21     $HOME/jdk/src/jdk6
22     $HOME/jdk/src/jdk7
23     $HOME/jdk/src/jdk8
24 jsr166 1.151 $HOME/jdk/src/jdk9
25 jsr166 1.99 where each of the above is a complete JDK source tree
26     (e.g. mercurial forest) or a symlink to same.
27 jsr166 1.159
28     Alternatively, define ant variables thus:
29     ant -Djdk$N.home=...
30     for $N in 6 7 8 9 ...
31 tim 1.29 ------------------------------------------------------------------------------
32 tim 1.18 </description>
33 tim 1.11
34 jsr166 1.148 <!-- Display main targets by running 'ant -projecthelp' -->
35     <target name="usage">
36 jsr166 1.129 <java classname="org.apache.tools.ant.Main">
37     <arg value="-projecthelp" />
38     </java>
39 tim 1.29 </target>
40 tim 1.3
41 tim 1.11
42 tim 1.27 <!-- User-specific settings -->
43 tim 1.23 <property file="user.properties"/>
44 tim 1.27
45 tim 1.1
46     <!-- Compilation options -->
47 jsr166 1.114 <property name="build.sourcelevel" value="6"/>
48 tim 1.1 <property name="build.debug" value="true"/>
49     <property name="build.debuglevel" value="source,lines,vars"/>
50 tim 1.13 <property name="build.deprecation" value="false"/>
51 jsr166 1.130 <property name="build.javadoc.access" value="protected"/>
52 tim 1.1
53 jsr166 1.156 <!-- Tck options; see JSR166TestCase.java
54 jsr166 1.158 To profile a single tck test class:
55 jsr166 1.156 ant -Djsr166.profileTests=true -Djsr166.profileThreshold=100 -Djsr166.tckTestClass=CompletableFutureTest test-tck
56 jsr166 1.158 To stress test a single tck test class:
57 jsr166 1.156 ant -Djsr166.tckTestClass=CountedCompleterTest -Djsr166.runsPerTest=100 test-tck
58     -->
59 jsr166 1.139 <property name="jsr166.profileTests" value="false"/>
60     <property name="jsr166.profileThreshold" value="100"/>
61     <property name="jsr166.runsPerTest" value="1"/>
62 jsr166 1.140 <property name="jsr166.tckTestClass" value="JSR166TestCase"/>
63 jsr166 1.139
64 tim 1.1 <!-- Build locations -->
65 jsr166 1.79 <property name="build.dir" location="build"/>
66     <property name="build.classes.dir" location="${build.dir}/classes"/>
67     <property name="build.testcases.dir" location="${build.dir}/testcases"/>
68     <property name="build.loops.dir" location="${build.dir}/loops"/>
69     <property name="build.reports.dir" location="${build.dir}/reports"/>
70 jsr166 1.92
71 jsr166 1.109 <property name="build.4jdk7.dir" location="${build.dir}/jsr166-4jdk7"/>
72     <property name="build.4jdk7.classes.dir" location="${build.4jdk7.dir}/classes"/>
73 jsr166 1.113 <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
74 jsr166 1.109 <property name="build.4jdk7.docs.dir" location="${build.4jdk7.dir}/docs"/>
75 jsr166 1.92
76 jsr166 1.79 <property name="build.jsr166x.dir" location="${build.dir}/jsr166x"/>
77     <property name="build.jsr166y.dir" location="${build.dir}/jsr166y"/>
78 dl 1.90 <property name="build.jsr166e.dir" location="${build.dir}/jsr166e"/>
79 jsr166 1.79 <property name="build.extra166y.dir" location="${build.dir}/extra166y"/>
80 dl 1.76
81 jsr166 1.126 <property name="build.jsr166x.classes.dir" location="${build.jsr166x.dir}/classes"/>
82     <property name="build.jsr166y.classes.dir" location="${build.jsr166y.dir}/classes"/>
83     <property name="build.jsr166e.classes.dir" location="${build.jsr166e.dir}/classes"/>
84     <property name="build.extra166y.classes.dir" location="${build.extra166y.dir}/classes"/>
85 jsr166 1.114
86 jsr166 1.118 <!-- JDK locations -->
87 jsr166 1.92 <property name="jdks.home" location="${user.home}/jdk"/>
88 jsr166 1.93
89     <macrodef name="defjdklocations">
90     <attribute name="v"/>
91     <sequential>
92 jsr166 1.99 <property name="jdk@{v}.home" location="${jdks.home}/jdk@{v}"/>
93     <property name="java@{v}" location="${jdk@{v}.home}/bin/java"/>
94     <property name="javac@{v}" location="${jdk@{v}.home}/bin/javac"/>
95     <property name="javadoc@{v}" location="${jdk@{v}.home}/bin/javadoc"/>
96     <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
97 jsr166 1.118 <local name="boot.jar.dir"/>
98     <property name="boot.jar.dir" location="${jdk@{v}.home}/jre/lib"/>
99     <path id="bootclasspath@{v}">
100     <pathelement path="${boot.jar.dir}/resources.jar"/>
101     <pathelement path="${boot.jar.dir}/rt.jar"/>
102     <pathelement path="${boot.jar.dir}/jsse.jar"/>
103     <pathelement path="${boot.jar.dir}/jce.jar"/>
104     <pathelement path="${boot.jar.dir}/charsets.jar"/>
105     </path>
106     <property name="bootclasspath@{v}" value="${toString:bootclasspath@{v}}"/>
107 jsr166 1.93 </sequential>
108     </macrodef>
109    
110 jsr166 1.125 <macrodef name="mirror-dir">
111     <attribute name="src"/>
112     <attribute name="dst"/>
113     <sequential>
114     <delete dir="@{dst}"/>
115     <mkdir dir="@{dst}"/>
116     <copy todir="@{dst}" preservelastmodified="true">
117     <fileset dir="@{src}"/>
118     </copy>
119     </sequential>
120     </macrodef>
121    
122 jsr166 1.93 <defjdklocations v="6"/>
123     <defjdklocations v="7"/>
124     <defjdklocations v="8"/>
125 jsr166 1.151 <defjdklocations v="9"/>
126 jsr166 1.92
127 tim 1.1 <!-- Source locations -->
128 tim 1.22 <property name="src.dir" location="${basedir}/src/main"/>
129     <property name="test.src.dir" location="${basedir}/src/test"/>
130 jsr166 1.65 <property name="loops.src.dir" location="${basedir}/src/loops"/>
131 tim 1.60 <property name="tck.src.dir" location="${test.src.dir}/tck"/>
132 jsr166 1.173 <property name="jtreg7.src.dir" location="${test.src.dir}/jtreg-jdk7"/>
133     <property name="jtreg8.src.dir" location="${test.src.dir}/jtreg"/>
134     <property name="jtreg9.src.dir" location="${test.src.dir}/jtreg"/>
135     <property name="jtreg.src.dir" location="${jtreg9.src.dir}"/>
136 tim 1.1 <property name="lib.dir" location="${basedir}/lib"/>
137 tim 1.9 <property name="dist.dir" location="${basedir}/dist"/>
138 dl 1.70 <property name="topsrc.dir" location="${basedir}/src"/>
139 jsr166 1.99 <property name="4jdk7src.dir" location="${topsrc.dir}/jdk7"/>
140 jsr166 1.92 <property name="jsr166xsrc.dir" location="${topsrc.dir}/jsr166x"/>
141     <property name="jsr166ysrc.dir" location="${topsrc.dir}/jsr166y"/>
142     <property name="jsr166esrc.dir" location="${topsrc.dir}/jsr166e"/>
143     <property name="extra166ysrc.dir" location="${topsrc.dir}/extra166y"/>
144 jsr166 1.91
145 jsr166 1.125 <!-- Javadoc locations -->
146 jsr166 1.127 <property name="docs.dir" location="${build.dir}/docs"/>
147     <property name="4jdk7docs.dir" location="${build.4jdk7.dir}/docs"/>
148     <property name="jsr166xdocs.dir" location="${build.jsr166x.dir}/docs"/>
149     <property name="jsr166ydocs.dir" location="${build.jsr166y.dir}/docs"/>
150     <property name="jsr166edocs.dir" location="${build.jsr166e.dir}/docs"/>
151     <property name="extra166ydocs.dir" location="${build.extra166y.dir}/docs"/>
152    
153     <property name="dist.docs.dir" location="${dist.dir}/docs"/>
154     <property name="dist.4jdk7docs.dir" location="${dist.dir}/jsr166-4jdk7docs"/>
155     <property name="dist.jsr166xdocs.dir" location="${dist.dir}/jsr166xdocs"/>
156     <property name="dist.jsr166ydocs.dir" location="${dist.dir}/jsr166ydocs"/>
157     <property name="dist.jsr166edocs.dir" location="${dist.dir}/jsr166edocs"/>
158     <property name="dist.extra166ydocs.dir" location="${dist.dir}/extra166ydocs"/>
159 tim 1.1
160     <!-- Jar locations -->
161 jsr166 1.109 <property name="product.jar" location="${build.dir}/jsr166.jar"/>
162     <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
163     <property name="jsr166x.jar" location="${build.jsr166x.dir}/jsr166x.jar"/>
164     <property name="jsr166y.jar" location="${build.jsr166y.dir}/jsr166y.jar"/>
165     <property name="jsr166e.jar" location="${build.jsr166e.dir}/jsr166e.jar"/>
166     <property name="extra166y.jar" location="${build.extra166y.dir}/extra166y.jar"/>
167 jsr166 1.106 <property name="junit.jar" location="${lib.dir}/junit.jar"/>
168 jsr166 1.65
169 jsr166 1.152 <!-- Canonical location of jdk docs root, to use with javadoc -Xdocrootparent flag -->
170     <property name="java5.docroot.url" value="http://docs.oracle.com/javase/1.5.0/docs"/>
171     <property name="java6.docroot.url" value="http://docs.oracle.com/javase/6/docs"/>
172     <property name="java7.docroot.url" value="http://docs.oracle.com/javase/7/docs"/>
173 jsr166 1.157 <property name="java8.docroot.url" value="http://docs.oracle.com/javase/8/docs"/>
174     <!-- The expected canonical location does not yet exist as of 2014-07 -->
175 jsr166 1.152 <!-- <property name="java9.docroot.url" value="http://docs.oracle.com/javase/9/docs"/> -->
176 jsr166 1.157 <property name="java9.docroot.url" value="http://download.java.net/jdk9/docs"/>
177 jsr166 1.152 <!-- Default jdk doc location (latest stable release seems best) -->
178 jsr166 1.157 <property name="java.docroot.url" value="${java8.docroot.url}"/>
179 jsr166 1.151
180 jsr166 1.152 <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
181     <property name="java5.api.url" value="${java5.docroot.url}/api/"/>
182     <property name="java6.api.url" value="${java6.docroot.url}/api/"/>
183     <property name="java7.api.url" value="${java7.docroot.url}/api/"/>
184     <property name="java8.api.url" value="${java8.docroot.url}/api/"/>
185     <property name="java9.api.url" value="${java9.docroot.url}/api/"/>
186     <property name="java.api.url" value="${java.docroot.url}/api/"/>
187 jsr166 1.91
188 jsr166 1.115 <!-- Define the "jtreg" task -->
189     <!-- See the docs in "jtreg -onlineHelp" -->
190     <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
191     classpath="${lib.dir}/jtreg.jar" />
192    
193 tim 1.59 <!-- Test classpath -->
194     <path id="test.classpath">
195     <pathelement location="${build.testcases.dir}"/>
196     <pathelement location="${junit.jar}"/>
197     </path>
198 tim 1.28
199 jsr166 1.118 <macrodef name="run-tck-tests">
200 jsr166 1.122 <attribute name="tck.src.dir" default="${tck.src.dir}"/>
201 jsr166 1.118 <attribute name="target"/>
202 jsr166 1.138 <attribute name="compile-target" default="@{target}"/>
203 jsr166 1.118 <attribute name="workdir"/>
204 jsr166 1.122 <attribute name="classes"/>
205 jsr166 1.155 <attribute name="jvmflags" default="-ea -esa -Djsr166.testImplementationDetails=true"/>
206 jsr166 1.132 <element name="javac-elements" optional="true"/>
207 jsr166 1.118 <sequential>
208    
209     <mkdir dir="@{workdir}/tck-classes"/>
210    
211 jsr166 1.122 <javac srcdir="@{tck.src.dir}"
212 jsr166 1.118 destdir="@{workdir}/tck-classes"
213     debug="${build.debug}"
214     debuglevel="${build.debuglevel}"
215     deprecation="${build.deprecation}"
216 jsr166 1.138 source="@{compile-target}"
217     target="@{compile-target}"
218 jsr166 1.118 classpath="${junit.jar}"
219     includeAntRuntime="false"
220     includeJavaRuntime="false"
221 jsr166 1.138 executable="${javac@{compile-target}}"
222 jsr166 1.118 fork="true">
223    
224 jsr166 1.121 <include name="*.java"/>
225 jsr166 1.118 <compilerarg value="-XDignore.symbol.file=true"/>
226     <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
227 jsr166 1.162 <compilerarg value="-Xbootclasspath/p:@{classes}"/>
228 jsr166 1.118 <compilerarg line="${build.args}"/>
229 jsr166 1.132 <javac-elements/>
230 jsr166 1.118
231     </javac>
232    
233 jsr166 1.140 <java classname="${jsr166.tckTestClass}"
234 jsr166 1.118 failonerror="true"
235     jvm="${java@{target}}"
236     fork="true">
237 jsr166 1.122 <jvmarg value="-Xbootclasspath/p:@{classes}"/>
238 jsr166 1.118 <jvmarg line="@{jvmflags}"/>
239 jsr166 1.160
240     <!-- ant -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 test-tck -->
241     <syspropertyset id="java.util.concurrent.ForkJoinPool-properties">
242     <propertyref prefix="java.util.concurrent.ForkJoinPool"/>
243     </syspropertyset>
244    
245 jsr166 1.139 <sysproperty key="jsr166.profileTests" value="${jsr166.profileTests}"/>
246     <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>
247     <sysproperty key="jsr166.runsPerTest" value="${jsr166.runsPerTest}"/>
248 jsr166 1.118 <classpath>
249     <pathelement location="${junit.jar}"/>
250     <pathelement location="@{workdir}/tck-classes"/>
251     </classpath>
252     </java>
253    
254     </sequential>
255     </macrodef>
256    
257 jsr166 1.165 <!-- Define jtreg test sets for different jdk versions -->
258 jsr166 1.173 <fileset dir="${jtreg9.src.dir}">
259 jsr166 1.165 <patternset id="jdk9.jtreg.tests">
260     <include name="**/*.java"/>
261     </patternset>
262     </fileset>
263    
264 jsr166 1.173 <fileset dir="${jtreg8.src.dir}">
265 jsr166 1.165 <patternset id="jdk8.jtreg.tests">
266     <include name="**/*.java"/>
267 jsr166 1.173 <exclude name="**/SpliteratorCharacteristics.java"/>
268 jsr166 1.168 <!-- https://bugs.openjdk.java.net/browse/JDK-6842353 -->
269 jsr166 1.173 <exclude name="**/GCDuringIteration.java"/>
270 jsr166 1.165 </patternset>
271     </fileset>
272    
273 jsr166 1.173 <fileset dir="${jtreg7.src.dir}">
274 jsr166 1.165 <patternset id="jdk7.jtreg.tests">
275     <include name="**/*.java"/>
276     </patternset>
277     </fileset>
278    
279 jsr166 1.135 <macrodef name="run-jtreg-tests">
280 jsr166 1.173 <!-- ant -Djtreg9.src.dir=src/test/jtreg/util/concurrent/CompletableFuture test-jtreg -->
281 jsr166 1.135 <attribute name="source" default="7"/>
282     <attribute name="target"/>
283     <attribute name="workdir"/>
284     <attribute name="classes"/>
285     <attribute name="jtregflags" default=""/>
286     <sequential>
287     <delete dir="@{workdir}/JTwork" quiet="true"/>
288     <delete dir="@{workdir}/JTreport" quiet="true"/>
289     <mkdir dir="@{workdir}/JTwork/scratch"/>
290     <mkdir dir="@{workdir}/JTreport"/>
291 jsr166 1.173 <jtreg dir="${jtreg@{target}.src.dir}"
292 jsr166 1.135 jdk="${jdk@{target}.home}"
293     workDir="@{workdir}/JTwork"
294     reportDir="@{workdir}/JTreport">
295 jsr166 1.165 <patternset refid="jdk@{target}.jtreg.tests"/>
296 jsr166 1.135 <arg value="-Xbootclasspath/p:@{classes}"/>
297     <arg value="-agentvm"/>
298     <arg value="-v:nopass,fail"/>
299     <arg value="-vmoptions:-esa -ea"/>
300     <arg value="-automatic"/>
301     <arg value="-k:!ignore"/>
302     <arg line="@{jtregflags}"/>
303     </jtreg>
304     </sequential>
305     </macrodef>
306    
307 jsr166 1.65 <!-- ALoops classpath -->
308     <path id="loops.classpath">
309     <pathelement location="${build.loops.dir}"/>
310     </path>
311    
312 jsr166 1.100 <!-- Support @jls tag, used in jdk8+ javadoc -->
313 jsr166 1.120 <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
314 jsr166 1.100 <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
315 tim 1.28
316 tim 1.59 <!-- Main targets -->
317 tim 1.28
318 jsr166 1.151 <property name="build.main.java.version" value="9"/>
319     <property name="build.main.javac" value="${javac9}"/>
320    
321 dl 1.80 <target name="dists"
322 jsr166 1.107 depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
323 dl 1.80 description="Builds all public jars and docs"/>
324 tim 1.11
325 tim 1.28 <target name="compile"
326 jsr166 1.100 depends="configure-compiler"
327 jsr166 1.102 description="Compiles src/main sources to build dir">
328 tim 1.27
329 tim 1.1 <mkdir dir="${build.classes.dir}"/>
330 tim 1.27
331 tim 1.60 <javac srcdir="${src.dir}"
332 jsr166 1.100 destdir="${build.classes.dir}"
333     debug="${build.debug}"
334     debuglevel="${build.debuglevel}"
335     deprecation="${build.deprecation}"
336     classpath=""
337     includeAntRuntime="false"
338     includeJavaRuntime="false"
339 jsr166 1.151 executable="${build.main.javac}"
340 jsr166 1.100 fork="true">
341 tim 1.1
342 jsr166 1.68 <include name="**/*.java"/>
343 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
344 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
345 jsr166 1.100 <compilerarg value="-Xlint:all"/>
346 jsr166 1.164 <compilerarg value="-Werror"/>
347 jsr166 1.146 <compilerarg value="-Xdoclint:all/protected"/>
348     <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
349 dl 1.73 <compilerarg line="${build.args}"/>
350 tim 1.1
351     </javac>
352     </target>
353    
354    
355 tim 1.28 <target name="jar"
356 tim 1.59 depends="compile"
357     description="Builds library jar from compiled sources">
358    
359     <jar destfile="${product.jar}">
360     <fileset dir="${build.classes.dir}"/>
361     </jar>
362     </target>
363    
364 tim 1.1
365 tim 1.59 <target name="docs"
366 jsr166 1.102 description="Builds javadocs for src/main to dist dir">
367 tim 1.59
368 jsr166 1.127 <delete dir="${docs.dir}"/>
369     <mkdir dir="${docs.dir}"/>
370 tim 1.59
371 jsr166 1.88 <!-- the packagenames="none" hack below prevents scanning the -->
372     <!-- sourcepath for packages -->
373    
374 jsr166 1.127 <javadoc destdir="${docs.dir}"
375 jsr166 1.88 packagenames="none"
376 jsr166 1.152 link="${java9.api.url}"
377 jsr166 1.88 overview="${src.dir}/intro.html"
378 jsr166 1.130 access="${build.javadoc.access}"
379 jsr166 1.151 sourcepath="${src.dir}:${jdk9src.dir}"
380 jsr166 1.100 classpath=""
381 jsr166 1.151 executable="${javadoc9}">
382 jsr166 1.119 <fileset dir="${src.dir}" defaultexcludes="yes">
383     <include name="**/*.java"/>
384     </fileset>
385 jsr166 1.152 <arg line="-Xdocrootparent ${java9.docroot.url}"/>
386 jsr166 1.146 <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
387 jsr166 1.100 <arg value="-XDignore.symbol.file=true"/>
388     <arg value="-tag"/>
389     <arg value="${javadoc.jls.option}"/>
390 dl 1.143 <arg value="-tag"/>
391     <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
392     <arg value="-tag"/>
393     <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
394     <arg value="-tag"/>
395 jsr166 1.144 <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
396 tim 1.59 </javadoc>
397     </target>
398    
399    
400 tim 1.28 <target name="dist"
401 jsr166 1.125 depends="dist-clean, dist-jar, dist-docs"
402 tim 1.16 description="Puts all distributable products in single hierarchy"/>
403 tim 1.1
404 tim 1.58
405 tim 1.42 <target name="release"
406     depends="dist"
407     description="Puts entire CVS tree, plus distribution productions, in a jar">
408    
409     <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
410    
411     <jar basedir="${basedir}" destfile="${release.jar}">
412 tim 1.58 <!-- <exclude name="build/**"/> -->
413 tim 1.42 <exclude name="${release.jar}"/>
414     <exclude name="user.properties"/>
415     <exclude name="etc/notes/**"/>
416 tim 1.58 <exclude name="src/emulation/**"/>
417 tim 1.44 <exclude name="**/SyntaxTest.java"/>
418 tim 1.58 <exclude name="**/SuperfluousAbstract.java"/>
419 tim 1.42 </jar>
420     </target>
421 tim 1.1
422 tim 1.59
423 tim 1.11 <target name="clean"
424     description="Removes all build products">
425 tim 1.27
426 tim 1.11 <delete dir="${build.dir}"/>
427 tim 1.27
428 tim 1.1 </target>
429    
430    
431 tim 1.11 <target name="dist-clean"
432     description="Removes all build and distribution products">
433 tim 1.27
434 jsr166 1.148 <delete dir="${build.dir}"/>
435 tim 1.11 <delete dir="${dist.dir}"/>
436 tim 1.27
437 tim 1.9 </target>
438 tim 1.10
439    
440 tim 1.28 <target name="dist-jar"
441     depends="clean, jar">
442 tim 1.11 <copy file="${product.jar}" todir="${dist.dir}"/>
443 jsr166 1.125 </target>
444 tim 1.27
445 jsr166 1.125 <target name="dist-docs"
446     depends="clean, docs">
447 jsr166 1.127 <mirror-dir src="${docs.dir}" dst="${dist.docs.dir}"/>
448 tim 1.11 </target>
449    
450 jsr166 1.163 <target name="tck" depends="test-tck" description="alias for test-tck"/>
451 jsr166 1.131 <target name="test-tck"
452     depends="jar"
453     description="Runs tck tests for main directly">
454    
455     <run-tck-tests
456 jsr166 1.151 target="${build.main.java.version}"
457 jsr166 1.131 workdir="${build.dir}"
458     classes="${product.jar}"/>
459     </target>
460 tim 1.1
461 jsr166 1.160 <target name="test-tck-parallelism-1"
462     description="Runs test-tck with given common pool parallelism">
463     <antcall target="test-tck">
464     <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="1"/>
465     </antcall>
466     </target>
467    
468     <target name="test-tck-parallelism-0"
469     description="Runs test-tck with given common pool parallelism">
470     <antcall target="test-tck">
471     <param name="java.util.concurrent.ForkJoinPool.common.parallelism" value="0"/>
472     </antcall>
473     </target>
474    
475 jsr166 1.163 <target name="jtreg" depends="test-jtreg" description="alias for test-jtreg"/>
476 jsr166 1.135 <target name="test-jtreg"
477     depends="jar"
478     description="Runs jtreg tests for main using the jtreg ant task">
479     <run-jtreg-tests
480 jsr166 1.151 target="${build.main.java.version}"
481 jsr166 1.135 workdir="${build.dir}"
482     classes="${product.jar}"/>
483     </target>
484    
485 jsr166 1.142 <target name="test"
486 jsr166 1.160 depends="test-tck, test-tck-parallelism-1, test-jtreg"
487 jsr166 1.135 description="Runs tck and jtreg tests for main">
488     </target>
489    
490 jsr166 1.168 <target name="jtreg8" description="Runs jtreg tests with jdk8">
491    
492     <antcall target="jtreg">
493     <param name="build.main.java.version" value="8"/>
494     <param name="build.main.javac" value="${javac8}"/>
495     </antcall>
496    
497     </target>
498    
499 jsr166 1.151 <target name="test89"
500     description="Runs tck and jtreg tests for main for multiple java versions">
501    
502     <antcall target="clean"/>
503     <antcall target="test">
504     <param name="build.main.java.version" value="8"/>
505     <param name="build.main.javac" value="${javac8}"/>
506     </antcall>
507    
508     <antcall target="clean"/>
509     <antcall target="test">
510     <param name="build.main.java.version" value="9"/>
511     <param name="build.main.javac" value="${javac9}"/>
512     </antcall>
513    
514     </target>
515    
516 tim 1.18
517    
518 tim 1.32 <target name="configure-compiler">
519 tim 1.54
520     <property name="unchecked.option" value="-Xlint:unchecked"/>
521    
522     <condition property="warnunchecked.arg" value="${unchecked.option}">
523 tim 1.57 <istrue value="${build.warnunchecked}"/>
524 tim 1.32 </condition>
525    
526 tim 1.37 <property name="warnunchecked.arg" value=""/>
527 tim 1.34
528 tim 1.32
529     <!-- Common options in javac invocations -->
530 tim 1.57 <property name="build.args" value="${warnunchecked.arg}"/>
531 tim 1.33
532     </target>
533    
534    
535 tim 1.28
536 jsr166 1.65 <!-- Various demos and test programs -->
537    
538    
539 jsr166 1.103 <target name="loops" depends="configure-compiler"
540 jsr166 1.65 description="Benchmark from Doug Lea's AQS paper">
541    
542     <mkdir dir="${build.loops.dir}"/>
543    
544     <javac srcdir="${loops.src.dir}"
545     destdir="${build.loops.dir}"
546     debug="${build.debug}"
547     debuglevel="${build.debuglevel}"
548     deprecation="${build.deprecation}"
549     source="${build.sourcelevel}"
550     fork="true">
551    
552     <compilerarg line="${build.args}"/>
553     <classpath refid="loops.classpath"/>
554 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
555 jsr166 1.65
556     </javac>
557    
558     <java classname="ALoops" fork="true">
559     <classpath refid="loops.classpath"/>
560     </java>
561    
562     </target>
563    
564    
565 jsr166 1.166 <target name="compile-test-loops" depends="jar"
566     description="compile all the perf tests in src/test/loops">
567    
568     <mkdir dir="${build.dir}/test/loops"/>
569    
570     <javac srcdir="${basedir}/src/test/loops"
571     destdir="${build.dir}/test/loops"
572     debug="${build.debug}"
573     debuglevel="${build.debuglevel}"
574     deprecation="${build.deprecation}"
575     includeAntRuntime="false"
576     includeJavaRuntime="false"
577     executable="${javac9}"
578     fork="true">
579    
580     <include name="*.java"/>
581     <compilerarg value="-XDignore.symbol.file=true"/>
582 jsr166 1.167 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
583 jsr166 1.166 <compilerarg value="-Xbootclasspath/p:${product.jar}"/>
584     <compilerarg line="${build.args}"/>
585    
586     </javac>
587    
588     </target>
589    
590    
591 jsr166 1.99 <!-- jsr166 4jdk7 -->
592 jsr166 1.92
593 jsr166 1.99 <target name="4jdk7compile"
594 jsr166 1.92 depends="configure-compiler"
595 jsr166 1.99 description="Compiles src/jdk7 sources, targeting jdk7">
596 jsr166 1.92
597 jsr166 1.99 <mkdir dir="${build.4jdk7.classes.dir}"/>
598 jsr166 1.92
599 jsr166 1.99 <javac srcdir="${4jdk7src.dir}"
600     destdir="${build.4jdk7.classes.dir}"
601 jsr166 1.92 debug="${build.debug}"
602     debuglevel="${build.debuglevel}"
603     deprecation="${build.deprecation}"
604 jsr166 1.107 source="6"
605 jsr166 1.92 classpath=""
606 jsr166 1.119 bootclasspath="${bootclasspath6}"
607 jsr166 1.92 includeAntRuntime="false"
608     includeJavaRuntime="false"
609 jsr166 1.97 executable="${javac7}"
610 jsr166 1.92 fork="true">
611    
612     <include name="**/*.java"/>
613 jsr166 1.133 <compilerarg value="-Xprefer:source"/>
614 jsr166 1.92 <compilerarg value="-XDignore.symbol.file=true"/>
615     <compilerarg value="-Xlint:all"/>
616 jsr166 1.164 <compilerarg value="-Werror"/>
617 jsr166 1.118 <compilerarg line="${build.args}"/>
618 jsr166 1.92
619     </javac>
620 jsr166 1.118 </target>
621 jsr166 1.92
622 jsr166 1.149 <target name="4jdk7doclint"
623     depends="configure-compiler"
624     description="Finds doclint warnings">
625    
626     <mkdir dir="${build.4jdk7.classes.dir}"/>
627    
628     <javac srcdir="${4jdk7src.dir}"
629     destdir="${build.4jdk7.classes.dir}"
630     debug="${build.debug}"
631     debuglevel="${build.debuglevel}"
632     deprecation="${build.deprecation}"
633     source="6"
634     classpath=""
635     bootclasspath="${bootclasspath7}"
636     includeAntRuntime="false"
637     includeJavaRuntime="false"
638     executable="${javac8}"
639     fork="true">
640    
641     <include name="**/*.java"/>
642     <compilerarg value="-Xprefer:source"/>
643     <compilerarg value="-XDignore.symbol.file=true"/>
644     <compilerarg value="-Xlint:all"/>
645     <compilerarg value="-Xdoclint:all/protected"/>
646     <compilerarg line="${build.args}"/>
647    
648     </javac>
649     </target>
650    
651 jsr166 1.116
652 jsr166 1.128 <target name="4jdk7jar"
653 jsr166 1.116 depends="4jdk7compile"
654     description="Builds library jar from compiled sources">
655    
656     <jar destfile="${4jdk7product.jar}">
657 jsr166 1.99 <fileset dir="${build.4jdk7.classes.dir}"/>
658 jsr166 1.97 </jar>
659    
660 jsr166 1.92 </target>
661    
662    
663 jsr166 1.99 <target name="4jdk7-test-tck"
664 jsr166 1.128 depends="4jdk7jar"
665 jsr166 1.99 description="Runs tck tests for jsr166-4jdk7 directly">
666 jsr166 1.116
667 jsr166 1.97 <run-tck-tests
668 jsr166 1.116 target="7"
669     workdir="${build.4jdk7.dir}"
670 jsr166 1.132 classes="${4jdk7product.jar}">
671     <javac-elements>
672 jsr166 1.134 <!-- JDK8+ test classes -->
673 jsr166 1.137 <exclude name="*8Test.java"/>
674 jsr166 1.151 <exclude name="*9Test.java"/>
675 jsr166 1.138 <exclude name="DoubleAccumulatorTest.java"/>
676     <exclude name="DoubleAdderTest.java"/>
677     <exclude name="LongAccumulatorTest.java"/>
678     <exclude name="LongAdderTest.java"/>
679 jsr166 1.137 <exclude name="CompletableFutureTest.java"/>
680 jsr166 1.145 <exclude name="SplittableRandomTest.java"/>
681 jsr166 1.132 <exclude name="StampedLockTest.java"/>
682     </javac-elements>
683     </run-tck-tests>
684 jsr166 1.97 </target>
685    
686    
687 jsr166 1.99 <target name="4jdk7-test-tck-junit"
688     depends="4jdk7compile"
689     description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
690 jsr166 1.97
691     <junit printsummary="true"
692     showoutput="true"
693     errorProperty="junit.failed"
694     failureProperty="junit.failed"
695     includeantruntime="true"
696     jvm="${java7}"
697     fork="true">
698    
699 jsr166 1.99 <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
700 jsr166 1.97 <jvmarg value="-server"/>
701 jsr166 1.92
702 jsr166 1.97 <classpath>
703     <pathelement location="${junit.jar}"/>
704 jsr166 1.99 <pathelement location="${build.4jdk7.tck.classes.dir}"/>
705 jsr166 1.97 </classpath>
706 jsr166 1.92
707 jsr166 1.97 <formatter type="brief"/>
708 jsr166 1.92
709 jsr166 1.140 <test name="${jsr166.tckTestClass}" haltonfailure="no">
710 jsr166 1.97 </test>
711 jsr166 1.92
712 jsr166 1.97 </junit>
713 jsr166 1.92 </target>
714    
715 jsr166 1.115 <target name="4jdk7-test-jtreg"
716 jsr166 1.135 depends="4jdk7jar"
717 jsr166 1.115 description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
718 jsr166 1.135 <run-jtreg-tests
719     target="7"
720     workdir="${build.4jdk7.dir}"
721 jsr166 1.165 classes="${4jdk7product.jar}"/>
722 jsr166 1.115 </target>
723    
724    
725     <target name="4jdk7-test"
726     depends="4jdk7-test-tck, 4jdk7-test-jtreg"
727     description="Runs tck and jtreg tests for jsr166-4jdk7">
728     </target>
729    
730 jsr166 1.92
731 jsr166 1.99 <target name="4jdk7docs"
732 jsr166 1.102 description="Builds javadocs for src/jdk7 to dist dir">
733 jsr166 1.92
734 jsr166 1.127 <delete dir="${4jdk7docs.dir}"/>
735     <mkdir dir="${4jdk7docs.dir}"/>
736 jsr166 1.92
737 jsr166 1.127 <javadoc destdir="${4jdk7docs.dir}"
738 jsr166 1.92 packagenames="none"
739 jsr166 1.152 link="${java7.api.url}"
740 jsr166 1.99 overview="${4jdk7src.dir}/intro.html"
741 jsr166 1.130 access="${build.javadoc.access}"
742 jsr166 1.119 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
743 jsr166 1.92 classpath=""
744 jsr166 1.99 executable="${javadoc7}">
745     <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
746 jsr166 1.92 <include name="**/*.java"/>
747     </fileset>
748 jsr166 1.152 <arg line="-Xdocrootparent ${java7.docroot.url}"/>
749 jsr166 1.119 <arg value="-XDignore.symbol.file=true"/>
750 jsr166 1.92 </javadoc>
751     </target>
752    
753    
754 jsr166 1.99 <target name="4jdk7dist"
755 jsr166 1.125 depends="4jdk7dist-jar, 4jdk7dist-docs"
756 jsr166 1.92 description="Puts all distributable products in single hierarchy"/>
757    
758    
759 jsr166 1.99 <target name="4jdk7clean"
760 jsr166 1.109 description="Removes all 4jdk7 build products">
761 jsr166 1.92
762 jsr166 1.99 <delete dir="${build.4jdk7.dir}"/>
763 jsr166 1.92
764     </target>
765    
766    
767 jsr166 1.99 <target name="4jdk7dist-jar"
768 jsr166 1.128 depends="4jdk7clean, 4jdk7jar">
769 jsr166 1.125 <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
770     </target>
771 jsr166 1.92
772    
773 jsr166 1.125 <target name="4jdk7dist-docs"
774     depends="4jdk7clean, 4jdk7docs">
775 jsr166 1.127 <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
776 jsr166 1.92 </target>
777    
778 jsr166 1.109
779 dl 1.70 <!-- jsr166x -->
780    
781     <target name="jsr166xcompile"
782 jsr166 1.103 depends="configure-compiler"
783 jsr166 1.105 description="Compiles jsr166x sources to build dir">
784 dl 1.70
785 jsr166 1.114 <mkdir dir="${build.jsr166x.classes.dir}"/>
786 dl 1.70
787 jsr166 1.105 <javac srcdir="${topsrc.dir}"
788 jsr166 1.114 destdir="${build.jsr166x.classes.dir}"
789 jsr166 1.105 debug="${build.debug}"
790     debuglevel="${build.debuglevel}"
791     deprecation="${build.deprecation}"
792     classpath=""
793 jsr166 1.119 bootclasspath="${bootclasspath6}"
794 jsr166 1.107 source="5"
795 jsr166 1.105 includeAntRuntime="false"
796     includeJavaRuntime="false"
797     executable="${javac7}"
798     fork="true">
799 dl 1.70
800 jsr166 1.105 <include name="jsr166x/**/*.java"/>
801 dl 1.84 <compilerarg value="-XDignore.symbol.file=true"/>
802 jsr166 1.105 <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
803 jsr166 1.164 <compilerarg value="-Werror"/>
804 jsr166 1.118 <compilerarg line="${build.args}"/>
805 dl 1.70
806     </javac>
807     </target>
808    
809    
810 jsr166 1.128 <target name="jsr166xjar"
811 dl 1.70 depends="jsr166xcompile"
812     description="Builds library jar from compiled sources">
813    
814 jsr166 1.106 <jar destfile="${jsr166x.jar}">
815 jsr166 1.114 <fileset dir="${build.jsr166x.classes.dir}"/>
816 dl 1.70 </jar>
817    
818     </target>
819    
820    
821     <target name="jsr166xdocs"
822 jsr166 1.102 description="Builds javadocs to dist dir">
823 dl 1.70
824 jsr166 1.127 <delete dir="${jsr166xdocs.dir}"/>
825     <mkdir dir="${jsr166xdocs.dir}"/>
826 dl 1.70
827 jsr166 1.127 <javadoc destdir="${jsr166xdocs.dir}"
828 jsr166 1.107 packagenames="jsr166x.*"
829 jsr166 1.152 link="${java.api.url}"
830 jsr166 1.130 access="${build.javadoc.access}"
831 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
832     bootclasspath="${bootclasspath6}"
833 jsr166 1.107 source="5"
834 jsr166 1.118 executable="${javadoc7}">
835 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
836 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
837 dl 1.70
838 jsr166 1.118 </javadoc>
839 dl 1.70 </target>
840    
841    
842     <target name="jsr166xdist"
843 jsr166 1.125 depends="jsr166xdist-jar, jsr166xdist-docs"
844 dl 1.70 description="Puts all distributable products in single hierarchy"/>
845    
846    
847     <target name="jsr166xclean"
848 jsr166 1.109 description="Removes all jsr166x build products">
849 dl 1.70
850     <delete dir="${build.jsr166x.dir}"/>
851    
852     </target>
853    
854    
855     <target name="jsr166xdist-jar"
856 jsr166 1.128 depends="jsr166xclean, jsr166xjar">
857 jsr166 1.106 <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
858 jsr166 1.125 </target>
859 dl 1.70
860 jsr166 1.125 <target name="jsr166xdist-docs"
861     depends="jsr166xclean, jsr166xdocs">
862 jsr166 1.127 <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
863 dl 1.70 </target>
864    
865 dl 1.74 <!-- jsr166y -->
866    
867    
868     <target name="jsr166ycompile"
869 jsr166 1.103 depends="configure-compiler"
870 dl 1.74 description="Compiles jsr166y sources">
871    
872 jsr166 1.114 <mkdir dir="${build.jsr166y.classes.dir}"/>
873 dl 1.74
874 jsr166 1.103 <javac srcdir="${topsrc.dir}"
875 jsr166 1.114 destdir="${build.jsr166y.classes.dir}"
876 jsr166 1.103 debug="${build.debug}"
877     debuglevel="${build.debuglevel}"
878     deprecation="${build.deprecation}"
879 jsr166 1.107 source="6"
880 jsr166 1.103 classpath=""
881 jsr166 1.119 bootclasspath="${bootclasspath6}"
882 jsr166 1.103 includeAntRuntime="false"
883     includeJavaRuntime="false"
884     executable="${javac7}"
885     fork="true">
886 dl 1.74
887 jsr166 1.103 <include name="jsr166y/**/*.java"/>
888 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
889 jsr166 1.103 <compilerarg value="-Xlint:all"/>
890 jsr166 1.164 <compilerarg value="-Werror"/>
891 jsr166 1.118 <compilerarg line="${build.args}"/>
892    
893 dl 1.74 </javac>
894     </target>
895    
896    
897 jsr166 1.128 <target name="jsr166yjar"
898 dl 1.74 depends="jsr166ycompile"
899     description="Builds library jar from compiled sources">
900    
901 jsr166 1.106 <jar destfile="${jsr166y.jar}" index="true">
902 jsr166 1.114 <fileset dir="${build.jsr166y.classes.dir}"/>
903 dl 1.74 </jar>
904    
905     </target>
906    
907    
908     <target name="jsr166ydocs"
909 jsr166 1.102 description="Builds javadocs to dist dir">
910 dl 1.74
911 jsr166 1.127 <delete dir="${jsr166ydocs.dir}"/>
912     <mkdir dir="${jsr166ydocs.dir}"/>
913 dl 1.74
914 jsr166 1.127 <javadoc destdir="${jsr166ydocs.dir}"
915 jsr166 1.107 packagenames="jsr166y.*"
916 jsr166 1.152 link="${java.api.url}"
917 jsr166 1.130 access="${build.javadoc.access}"
918 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
919     bootclasspath="${bootclasspath6}"
920 jsr166 1.107 source="6"
921 jsr166 1.118 executable="${javadoc7}">
922 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
923 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
924 dl 1.74
925 jsr166 1.118 </javadoc>
926 dl 1.74 </target>
927    
928    
929     <target name="jsr166ydist"
930 jsr166 1.125 depends="jsr166ydist-jar, jsr166ydist-docs"
931 dl 1.74 description="Puts all distributable products in single hierarchy"/>
932    
933    
934     <target name="jsr166yclean"
935 jsr166 1.109 description="Removes all jsr166y build products">
936 dl 1.74
937     <delete dir="${build.jsr166y.dir}"/>
938    
939     </target>
940    
941    
942     <target name="jsr166ydist-jar"
943 jsr166 1.128 depends="jsr166yclean, jsr166yjar">
944 jsr166 1.106 <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
945 jsr166 1.125 </target>
946 dl 1.74
947 jsr166 1.125 <target name="jsr166ydist-docs"
948     depends="jsr166yclean, jsr166ydocs">
949 jsr166 1.127 <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
950 dl 1.74 </target>
951    
952 dl 1.90
953 dl 1.76 <!-- extra166y -->
954    
955    
956     <target name="extra166ycompile"
957 jsr166 1.128 depends="configure-compiler, jsr166yjar"
958 dl 1.76 description="Compiles extra166y sources">
959    
960 jsr166 1.114 <mkdir dir="${build.extra166y.classes.dir}"/>
961 dl 1.76
962 jsr166 1.103 <javac srcdir="${topsrc.dir}"
963 jsr166 1.114 destdir="${build.extra166y.classes.dir}"
964 jsr166 1.103 debug="${build.debug}"
965     debuglevel="${build.debuglevel}"
966     deprecation="${build.deprecation}"
967 jsr166 1.119 bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
968 jsr166 1.105 classpath=""
969 jsr166 1.107 source="6"
970 jsr166 1.103 includeAntRuntime="false"
971     includeJavaRuntime="false"
972     executable="${javac7}"
973     fork="true">
974 dl 1.76
975 jsr166 1.103 <include name="extra166y/**/*.java"/>
976 dl 1.83 <compilerarg value="-XDignore.symbol.file=true"/>
977 jsr166 1.103 <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
978 jsr166 1.164 <compilerarg value="-Werror"/>
979 jsr166 1.118 <compilerarg line="${build.args}"/>
980 dl 1.76
981     </javac>
982     </target>
983    
984    
985 jsr166 1.128 <target name="extra166yjar"
986 dl 1.76 depends="extra166ycompile"
987     description="Builds library jar from compiled sources">
988    
989 jsr166 1.106 <jar destfile="${extra166y.jar}" index="true">
990 jsr166 1.114 <fileset dir="${build.extra166y.classes.dir}"/>
991 dl 1.76 </jar>
992    
993     </target>
994    
995    
996     <target name="extra166ydocs"
997 jsr166 1.107 description="Builds javadocs to build dir">
998 dl 1.76
999 jsr166 1.127 <delete dir="${extra166ydocs.dir}"/>
1000     <mkdir dir="${extra166ydocs.dir}"/>
1001 dl 1.76
1002 jsr166 1.127 <javadoc destdir="${extra166ydocs.dir}"
1003 jsr166 1.107 packagenames="extra166y.*"
1004 jsr166 1.152 link="${java.api.url}"
1005 jsr166 1.130 access="${build.javadoc.access}"
1006 jsr166 1.119 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1007     bootclasspath="${bootclasspath6}"
1008 jsr166 1.107 source="6"
1009 jsr166 1.118 executable="${javadoc7}">
1010 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1011 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1012 dl 1.76
1013 jsr166 1.118 </javadoc>
1014 dl 1.76 </target>
1015    
1016    
1017     <target name="extra166ydist"
1018 jsr166 1.125 depends="extra166ydist-jar, extra166ydist-docs"
1019 dl 1.76 description="Puts all distributable products in single hierarchy"/>
1020    
1021    
1022     <target name="extra166yclean"
1023 jsr166 1.109 description="Removes all extra166y build products">
1024 dl 1.76
1025     <delete dir="${build.extra166y.dir}"/>
1026    
1027     </target>
1028    
1029    
1030     <target name="extra166ydist-jar"
1031 jsr166 1.128 depends="extra166yclean, extra166yjar">
1032 jsr166 1.106 <copy file="${extra166y.jar}" todir="${dist.dir}"/>
1033 jsr166 1.125 </target>
1034 dl 1.76
1035 jsr166 1.125 <target name="extra166ydist-docs"
1036     depends="extra166yclean, extra166ydocs">
1037 jsr166 1.127 <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
1038 dl 1.76 </target>
1039    
1040 dl 1.90 <!-- jsr166e -->
1041    
1042 jsr166 1.144 <property name="build.jsr166e.java.version" value="6"/>
1043     <property name="build.jsr166e.javac" value="${javac6}"/>
1044    
1045 dl 1.90 <target name="jsr166ecompile"
1046 jsr166 1.94 depends="configure-compiler"
1047 dl 1.90 description="Compiles jsr166e sources">
1048    
1049 jsr166 1.114 <mkdir dir="${build.jsr166e.classes.dir}"/>
1050 dl 1.90
1051 jsr166 1.95 <javac srcdir="${topsrc.dir}"
1052 jsr166 1.114 destdir="${build.jsr166e.classes.dir}"
1053 jsr166 1.94 debug="${build.debug}"
1054     debuglevel="${build.debuglevel}"
1055     deprecation="${build.deprecation}"
1056 jsr166 1.144 source="${build.jsr166e.java.version}"
1057 jsr166 1.94 classpath=""
1058     includeAntRuntime="false"
1059     includeJavaRuntime="false"
1060 jsr166 1.144 executable="${build.jsr166e.javac}"
1061 jsr166 1.94 fork="true">
1062 dl 1.90
1063 jsr166 1.95 <include name="jsr166e/**/*.java"/>
1064 dl 1.90 <compilerarg value="-XDignore.symbol.file=true"/>
1065 jsr166 1.94 <compilerarg value="-Xlint:all"/>
1066 jsr166 1.164 <compilerarg value="-Werror"/>
1067 jsr166 1.118 <compilerarg line="${build.args}"/>
1068 dl 1.90
1069     </javac>
1070     </target>
1071    
1072 jsr166 1.150 <!-- jsr166e: find doclint errors -->
1073     <target name="jsr166edoclint">
1074    
1075     <mkdir dir="${build.jsr166e.classes.dir}"/>
1076    
1077     <javac srcdir="${topsrc.dir}"
1078     destdir="${build.jsr166e.classes.dir}"
1079     debug="${build.debug}"
1080     debuglevel="${build.debuglevel}"
1081     deprecation="${build.deprecation}"
1082     source="${build.jsr166e.java.version}"
1083     classpath=""
1084     bootclasspath="${bootclasspath7}"
1085     includeAntRuntime="false"
1086     includeJavaRuntime="false"
1087     executable="${javac8}"
1088     fork="true">
1089    
1090     <include name="jsr166e/**/*.java"/>
1091     <compilerarg value="-XDignore.symbol.file=true"/>
1092     <compilerarg value="-Xlint:all"/>
1093 jsr166 1.164 <compilerarg value="-Werror"/>
1094 jsr166 1.150 <compilerarg value="-Xdoclint:all/protected"/>
1095    
1096     </javac>
1097     </target>
1098    
1099 dl 1.90
1100 jsr166 1.128 <target name="jsr166ejar"
1101 dl 1.90 depends="jsr166ecompile"
1102     description="Builds library jar from compiled sources">
1103    
1104 jsr166 1.106 <jar destfile="${jsr166e.jar}" index="true">
1105 jsr166 1.114 <fileset dir="${build.jsr166e.classes.dir}"/>
1106 dl 1.90 </jar>
1107    
1108     </target>
1109    
1110    
1111     <target name="jsr166edocs"
1112 jsr166 1.107 description="Builds javadocs to build dir">
1113 dl 1.90
1114 jsr166 1.127 <delete dir="${jsr166edocs.dir}"/>
1115     <mkdir dir="${jsr166edocs.dir}"/>
1116 dl 1.90
1117 jsr166 1.127 <javadoc destdir="${jsr166edocs.dir}"
1118 jsr166 1.107 packagenames="jsr166e.*"
1119 jsr166 1.152 link="${java.api.url}"
1120 jsr166 1.130 access="${build.javadoc.access}"
1121 jsr166 1.144 sourcepath="${topsrc.dir}:${jdk6src.dir}"
1122     source="${build.jsr166e.java.version}"
1123 jsr166 1.118 executable="${javadoc7}">
1124 jsr166 1.152 <arg line="-Xdocrootparent ${java.docroot.url}"/>
1125 jsr166 1.118 <arg value="-XDignore.symbol.file=true"/>
1126    
1127 jsr166 1.96 </javadoc>
1128 dl 1.90 </target>
1129    
1130    
1131 jsr166 1.144 <target name="jsr166e-test-tck-one-java-version"
1132 jsr166 1.148 depends="jsr166ejar">
1133 jsr166 1.122
1134 jsr166 1.144 <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1135    
1136 jsr166 1.122 <run-tck-tests
1137     tck.src.dir="${test.src.dir}/tck-jsr166e"
1138 jsr166 1.144 target="${build.jsr166e.java.version}"
1139 jsr166 1.122 workdir="${build.jsr166e.dir}"
1140     classes="${jsr166e.jar}"/>
1141     </target>
1142    
1143 jsr166 1.144 <target name="jsr166e-test-tck"
1144     description="Runs tck tests for jsr166e for multiple java versions">
1145    
1146     <!-- <antcall target="clean"/> -->
1147     <!-- <antcall target="jsr166e-test-tck-one-java-version"> -->
1148     <!-- <param name="build.jsr166e.java.version" value="8"/> -->
1149     <!-- <param name="build.jsr166e.javac" value="${javac8}"/> -->
1150     <!-- </antcall> -->
1151    
1152     <antcall target="clean"/>
1153     <antcall target="jsr166e-test-tck-one-java-version">
1154     <param name="build.jsr166e.java.version" value="7"/>
1155     <param name="build.jsr166e.javac" value="${javac7}"/>
1156     </antcall>
1157    
1158     <antcall target="clean"/>
1159     <antcall target="jsr166e-test-tck-one-java-version">
1160     <param name="build.jsr166e.java.version" value="6"/>
1161     <param name="build.jsr166e.javac" value="${javac6}"/>
1162     </antcall>
1163     </target>
1164    
1165 jsr166 1.122
1166 jsr166 1.147 <target name="jsr166e-test"
1167     depends="jsr166e-test-tck"
1168     description="Runs all tests for jsr166e">
1169     </target>
1170    
1171 dl 1.90 <target name="jsr166edist"
1172 jsr166 1.125 depends="jsr166edist-jar, jsr166edist-docs"
1173 dl 1.90 description="Puts all distributable products in single hierarchy"/>
1174    
1175    
1176     <target name="jsr166eclean"
1177 jsr166 1.109 description="Removes all jsr166e build products">
1178 dl 1.90 <delete dir="${build.jsr166e.dir}"/>
1179     </target>
1180    
1181    
1182     <target name="jsr166edist-jar"
1183 jsr166 1.128 depends="jsr166eclean, jsr166ejar">
1184 jsr166 1.106 <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1185 jsr166 1.125 </target>
1186 dl 1.90
1187 jsr166 1.125 <target name="jsr166edist-docs"
1188     depends="jsr166eclean, jsr166edocs">
1189 jsr166 1.127 <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1190 dl 1.90 </target>
1191    
1192 jsr166 1.130
1193     <!-- Find buglets that can be detected by static build tools -->
1194    
1195     <target name="lint">
1196     <antcall target="dists">
1197 jsr166 1.161 <param name="build.javadoc.access" value="public"/>
1198     </antcall>
1199     </target>
1200    
1201     <!-- Generates all doclint warnings, even for private methods (rarely useful) -->
1202     <target name="lint-private">
1203     <antcall target="dist">
1204 jsr166 1.130 <param name="build.javadoc.access" value="private"/>
1205     </antcall>
1206     </target>
1207    
1208    
1209 tim 1.1 </project>

dl@cs.oswego.edu
ViewVC Help
Powered by ViewVC 1.1.27