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

Diff of /jsr166/build.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.1.93  
changed lines
  Added in v.1.153

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