ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.178
Committed: Sun Sep 13 02:09:35 2015 UTC (8 years, 7 months ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.177: +28 -0 lines
Log Message:
add some provenance to jar manifest

File Contents

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