ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/build.xml
Revision: 1.198
Committed: Thu Mar 24 20:44:47 2016 UTC (8 years, 1 month ago) by jsr166
Content type: text/xml
Branch: MAIN
Changes since 1.197: +5 -0 lines
Log Message:
disable javadoc tags @revised, @spec

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