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

Diff of /jsr166/build.xml

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

revision 1.95 by jsr166, Mon Jan 14 19:22:27 2013 UTC revision 1.151 by jsr166, Sun Feb 16 14:25:46 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"/>
   
   <!-- Bootclasspath argument -->  
   <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>  
159    
160    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->    <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
161    <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>    <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
# Line 117  Line 163 
163    <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>    <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
164    
165    <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>    <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
166    <!-- The below does not yet exist as of 2012-11 -->    <!-- The expected canonical location does not yet exist as of 2014-02 -->
167    <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->    <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
168    
169      <property name="jdkapi9docs.url"      value="${jdkapi8docs.url}"/>
170      <!-- No published jdk9 docs exist as of 2014-02 -->
171      <!-- <property name="jdkapi9docs.url" value="http://docs.oracle.com/javase/9/docs/api/"/> -->
172    
173      <!-- Default jdk api doc location (latest stable release seems best) -->
174    <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>    <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
175    
176      <!-- Define the "jtreg" task -->
177      <!-- See the docs in "jtreg -onlineHelp" -->
178      <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
179               classpath="${lib.dir}/jtreg.jar" />
180    
181    <!-- Test classpath -->    <!-- Test classpath -->
182    <path id="test.classpath">    <path id="test.classpath">
183      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
184      <pathelement location="${junit.jar}"/>      <pathelement location="${junit.jar}"/>
185    </path>    </path>
186    
187      <macrodef name="run-tck-tests">
188        <attribute name="tck.src.dir" default="${tck.src.dir}"/>
189        <attribute name="target"/>
190        <attribute name="compile-target" default="@{target}"/>
191        <attribute name="workdir"/>
192        <attribute name="classes"/>
193        <attribute name="jvmflags" default=""/>
194        <element name="javac-elements" optional="true"/>
195        <sequential>
196    
197        <mkdir dir="@{workdir}/tck-classes"/>
198    
199        <javac srcdir="@{tck.src.dir}"
200               destdir="@{workdir}/tck-classes"
201               debug="${build.debug}"
202               debuglevel="${build.debuglevel}"
203               deprecation="${build.deprecation}"
204               source="@{compile-target}"
205               target="@{compile-target}"
206               classpath="${junit.jar}"
207               bootclasspath="@{classes}:${bootclasspath@{compile-target}}"
208               includeAntRuntime="false"
209               includeJavaRuntime="false"
210               executable="${javac@{compile-target}}"
211               fork="true">
212    
213          <include name="*.java"/>
214          <compilerarg value="-XDignore.symbol.file=true"/>
215          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
216          <compilerarg line="${build.args}"/>
217          <javac-elements/>
218    
219        </javac>
220    
221        <java classname="${jsr166.tckTestClass}"
222              failonerror="true"
223              jvm="${java@{target}}"
224              fork="true">
225            <jvmarg value="-Xbootclasspath/p:@{classes}"/>
226            <jvmarg line="@{jvmflags}"/>
227            <sysproperty key="jsr166.profileTests"     value="${jsr166.profileTests}"/>
228            <sysproperty key="jsr166.profileThreshold" value="${jsr166.profileThreshold}"/>
229            <sysproperty key="jsr166.runsPerTest"      value="${jsr166.runsPerTest}"/>
230            <classpath>
231              <pathelement location="${junit.jar}"/>
232              <pathelement location="@{workdir}/tck-classes"/>
233            </classpath>
234        </java>
235    
236        </sequential>
237      </macrodef>
238    
239      <macrodef name="run-jtreg-tests">
240        <attribute name="jtreg.src.dir" default="${jtreg.src.dir}"/>
241        <attribute name="source" default="7"/>
242        <attribute name="target"/>
243        <attribute name="workdir"/>
244        <attribute name="classes"/>
245        <attribute name="jtregflags" default=""/>
246        <sequential>
247        <delete dir="@{workdir}/JTwork"   quiet="true"/>
248        <delete dir="@{workdir}/JTreport" quiet="true"/>
249        <mkdir dir="@{workdir}/JTwork/scratch"/>
250        <mkdir dir="@{workdir}/JTreport"/>
251        <jtreg dir="@{jtreg.src.dir}"
252               jdk="${jdk@{target}.home}"
253               workDir="@{workdir}/JTwork"
254               reportDir="@{workdir}/JTreport">
255    
256          <arg value="-Xbootclasspath/p:@{classes}"/>
257          <arg value="-agentvm"/>
258          <arg value="-v:nopass,fail"/>
259          <arg value="-vmoptions:-esa -ea"/>
260          <arg value="-automatic"/>
261          <arg value="-k:!ignore"/>
262          <arg line="@{jtregflags}"/>
263        </jtreg>
264        </sequential>
265      </macrodef>
266    
267    <!-- ALoops classpath -->    <!-- ALoops classpath -->
268    <path id="loops.classpath">    <path id="loops.classpath">
269      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
270    </path>    </path>
271    
272      <!-- Support @jls tag, used in jdk8+ javadoc -->
273      <property name="javadoc.jls.cite" value="The Java&amp;trade; Language Specification"/>
274      <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
275    
276    <!-- Main targets -->    <!-- Main targets -->
277    
278      <property name="build.main.java.version" value="9"/>
279      <property name="build.main.javac" value="${javac9}"/>
280    
281    <target name="dists"    <target name="dists"
282            depends="dist, jsr166xdist, jsr166ydist,jsr166edist,  extra166ydist"            depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
283            description="Builds all public jars and docs"/>            description="Builds all public jars and docs"/>
284    
285    <target name="compile"    <target name="compile"
286            depends="init, configure-compiler"            depends="configure-compiler"
287            description="Compiles main sources to build folder">            description="Compiles src/main sources to build dir">
288    
289      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
290    
291      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
292            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
293              debug="${build.debug}"             debug="${build.debug}"
294         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
295        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
296             source="${build.sourcelevel}"             classpath=""
297               fork="true">             includeAntRuntime="false"
298               includeJavaRuntime="false"
299               executable="${build.main.javac}"
300               fork="true">
301    
302        <include name="**/*.java"/>        <include name="**/*.java"/>
303          <compilerarg value="-Xprefer:source"/>
304        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
305          <compilerarg value="-Xlint:all"/>
306  <!--        <compilerarg value="-Xdoclint:all/protected"/>
307        <exclude name="java/lang/**"/>        <compilerarg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
308        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
       <compilerarg line="-Xlint -Xmaxwarns 1000"/>  
 -->  
309    
310      </javac>      </javac>
   
311    </target>    </target>
312    
313    
   
314    <target name="jar"    <target name="jar"
315            depends="compile"            depends="compile"
316            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
317    
     <mkdir dir="${build.lib.dir}"/>  
   
318      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
319        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}"/>
320      </jar>      </jar>
   
321    </target>    </target>
322    
323    
   
   <target name="test"  
           depends="init, configure-tests, report-tests"  
           description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />  
   
   
   
324    <target name="docs"    <target name="docs"
325            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs for src/main to dist dir">
326    
327      <delete dir="${build.javadocs.dir}"/>      <delete dir="${docs.dir}"/>
328      <mkdir dir="${build.javadocs.dir}"/>      <mkdir dir="${docs.dir}"/>
329    
330      <!-- the packagenames="none" hack below prevents scanning the -->      <!-- the packagenames="none" hack below prevents scanning the -->
331      <!-- sourcepath for packages -->      <!-- sourcepath for packages -->
332    
333      <javadoc destdir="${build.javadocs.dir}"      <javadoc destdir="${docs.dir}"
334               packagenames="none"               packagenames="none"
335               link="${jdkapidocs.url}"               link="${jdkapi9docs.url}"
336               overview="${src.dir}/intro.html"               overview="${src.dir}/intro.html"
337               sourcepath="${src.dir}:${jdksrc.dir}"               access="${build.javadoc.access}"
338               additionalparam="-XDignore.symbol.file=true" >               sourcepath="${src.dir}:${jdk9src.dir}"
339                 classpath=""
340                 executable="${javadoc9}">
341        <fileset dir="${src.dir}" defaultexcludes="yes">        <fileset dir="${src.dir}" defaultexcludes="yes">
342          <include name="**/*.java"/>          <include name="**/*.java"/>
343        </fileset>        </fileset>
344          <arg line="-Xmaxerrs 1000 -Xmaxwarns 1000"/>
345          <arg value="-XDignore.symbol.file=true"/>
346          <arg value="-tag"/>
347          <arg value="${javadoc.jls.option}"/>
348          <arg value="-tag"/>
349          <arg value="apiNote:a:&lt;em&gt;API Note:&lt;/em&gt;"/>
350          <arg value="-tag"/>
351          <arg value="implSpec:a:&lt;em&gt;Implementation Requirements:&lt;/em&gt;"/>
352          <arg value="-tag"/>
353          <arg value="implNote:a:&lt;em&gt;Implementation Note:&lt;/em&gt;"/>
354      </javadoc>      </javadoc>
   
355    </target>    </target>
356    
357    
   
358    <target name="dist"    <target name="dist"
359            depends="init, dist-clean, dist-jar, dist-docs"            depends="dist-clean, dist-jar, dist-docs"
360            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
361    
362    
# Line 232  Line 375 
375        <exclude name="**/SyntaxTest.java"/>        <exclude name="**/SyntaxTest.java"/>
376        <exclude name="**/SuperfluousAbstract.java"/>        <exclude name="**/SuperfluousAbstract.java"/>
377      </jar>      </jar>
   
378    </target>    </target>
379    
380    
   
381    <target name="clean"    <target name="clean"
382            description="Removes all build products">            description="Removes all build products">
383    
384      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
     <delete dir="${build.classes.dir}"/>  
     <delete dir="${build.lib.dir}"/>  
385    
386    </target>    </target>
387    
388    
   
389    <target name="dist-clean"    <target name="dist-clean"
390            description="Removes all build and distribution products">            description="Removes all build and distribution products">
391    
392        <delete dir="${build.dir}"/>
393      <delete dir="${dist.dir}"/>      <delete dir="${dist.dir}"/>
394    
395    </target>    </target>
396    
397    
   
   <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>  
   
   
398    <target name="dist-jar"    <target name="dist-jar"
399            depends="clean, jar">            depends="clean, jar">
   
400      <copy file="${product.jar}" todir="${dist.dir}"/>      <copy file="${product.jar}" todir="${dist.dir}"/>
   
401    </target>    </target>
402    
403      <target name="dist-docs"
404    <target name="compile-tests"            depends="clean, docs">
405            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>  
 -->  
   
406    </target>    </target>
407    
408    
409    <target name="run-tests"    <target name="test-tck"
410            depends="compile-tests">            depends="jar"
411              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>  
412    
413        <run-tck-tests
414          target="${build.main.java.version}"
415          workdir="${build.dir}"
416          classes="${product.jar}"/>
417    </target>    </target>
418    
419      <target name="test-jtreg"
420              depends="jar"
421              description="Runs jtreg tests for main using the jtreg ant task">
422        <run-jtreg-tests
423           target="${build.main.java.version}"
424           workdir="${build.dir}"
425           classes="${product.jar}"/>
426      </target>
427    
428    <target name="report-tests"    <target name="test"
429            depends="run-tests">            depends="test-tck, test-jtreg"
430              description="Runs tck and jtreg tests for main">
431      </target>
432    
433      <!-- Sets junit.report.format to frames if redirection is present,    <target name="test89"
434           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>  
435    
436      <fail message="Test Cases Failed" if="junit.failed"/>      <antcall target="clean"/>
437        <antcall target="test">
438          <param name="build.main.java.version" value="8"/>
439          <param name="build.main.javac" value="${javac8}"/>
440        </antcall>
441    
442        <antcall target="clean"/>
443        <antcall target="test">
444          <param name="build.main.java.version" value="9"/>
445          <param name="build.main.javac" value="${javac9}"/>
446        </antcall>
447    
448    </target>    </target>
449    
450    
451    
452    <target name="configure-compiler">    <target name="configure-compiler">
453    
454      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
# Line 451  Line 466 
466    </target>    </target>
467    
468    
   <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>  
   
469    
470    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
471    
472    
473    <target name="loops" depends="init, configure-compiler"    <target name="loops" depends="configure-compiler"
474            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
475    
476      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
# Line 504  Line 496 
496    </target>    </target>
497    
498    
499    <!-- jdk7 -->    <!-- jsr166 4jdk7 -->
   
500    
501    <target name="jdk7compile"    <target name="4jdk7compile"
502            depends="configure-compiler"            depends="configure-compiler"
503            description="Compiles src/jdk7 sources">            description="Compiles src/jdk7 sources, targeting jdk7">
504    
505      <mkdir dir="${build.jdk7.classes.dir}"/>      <mkdir dir="${build.4jdk7.classes.dir}"/>
506    
507      <javac srcdir="${jdk7src.dir}"      <javac srcdir="${4jdk7src.dir}"
508             destdir="${build.jdk7.classes.dir}"             destdir="${build.4jdk7.classes.dir}"
509             debug="${build.debug}"             debug="${build.debug}"
510             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
511             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
512             source="1.6"             source="6"
513             classpath=""             classpath=""
514             bootclasspath="${bootclasspath6}"             bootclasspath="${bootclasspath6}"
515             includeAntRuntime="false"             includeAntRuntime="false"
516             includeJavaRuntime="false"             includeJavaRuntime="false"
517             executable="${javac6}"             executable="${javac7}"
518             fork="true">             fork="true">
519    
520        <include name="**/*.java"/>        <include name="**/*.java"/>
521        <compilerarg line="${build.args}"/>        <compilerarg value="-Xprefer:source"/>
522        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
523        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
524          <compilerarg line="${build.args}"/>
525    
526      </javac>      </javac>
   
527    </target>    </target>
528    
529      <target name="4jdk7doclint"
530              depends="configure-compiler"
531              description="Finds doclint warnings">
532    
533        <mkdir dir="${build.4jdk7.classes.dir}"/>
534    
535    <target name="jdk7jar"      <javac srcdir="${4jdk7src.dir}"
536            depends="jdk7compile"             destdir="${build.4jdk7.classes.dir}"
537            description="Builds library jar from compiled sources">             debug="${build.debug}"
538               debuglevel="${build.debuglevel}"
539      <mkdir dir="${build.jdk7.lib.dir}"/>             deprecation="${build.deprecation}"
540               source="6"
541               classpath=""
542               bootclasspath="${bootclasspath7}"
543               includeAntRuntime="false"
544               includeJavaRuntime="false"
545               executable="${javac8}"
546               fork="true">
547    
548      <jar destfile="${jdk7product.jar}" index="true">        <include name="**/*.java"/>
549        <fileset dir="${build.jdk7.classes.dir}"/>        <compilerarg value="-Xprefer:source"/>
550      </jar>        <compilerarg value="-XDignore.symbol.file=true"/>
551          <compilerarg value="-Xlint:all"/>
552          <compilerarg value="-Xdoclint:all/protected"/>
553          <compilerarg line="${build.args}"/>
554    
555        </javac>
556    </target>    </target>
557    
558    
559      <target name="4jdk7jar"
560              depends="4jdk7compile"
561              description="Builds library jar from compiled sources">
562    
563    <target name="jdk7docs"      <jar destfile="${4jdk7product.jar}">
564            description="Builds javadocs with custom tags to build folder">        <fileset dir="${build.4jdk7.classes.dir}"/>
565        </jar>
566    
567      <delete dir="${build.jdk7.docs.dir}"/>    </target>
     <mkdir dir="${build.jdk7.docs.dir}"/>  
568    
     <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>  
569    
570      <target name="4jdk7-test-tck"
571              depends="4jdk7jar"
572              description="Runs tck tests for jsr166-4jdk7 directly">
573    
574        <run-tck-tests
575          target="7"
576          workdir="${build.4jdk7.dir}"
577          classes="${4jdk7product.jar}">
578          <javac-elements>
579            <!-- JDK8+ test classes -->
580            <exclude name="*8Test.java"/>
581            <exclude name="*9Test.java"/>
582            <exclude name="DoubleAccumulatorTest.java"/>
583            <exclude name="DoubleAdderTest.java"/>
584            <exclude name="LongAccumulatorTest.java"/>
585            <exclude name="LongAdderTest.java"/>
586            <exclude name="CompletableFutureTest.java"/>
587            <exclude name="SplittableRandomTest.java"/>
588            <exclude name="StampedLockTest.java"/>
589          </javac-elements>
590        </run-tck-tests>
591    </target>    </target>
592    
593    
594    <target name="jdk7dist"    <target name="4jdk7-test-tck-junit"
595            depends="jdk7dist-clean, jdk7dist-jar, jdk7dist-docs"            depends="4jdk7compile"
596            description="Puts all distributable products in single hierarchy"/>            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
597    
598        <junit printsummary="true"
599               showoutput="true"
600               errorProperty="junit.failed"
601               failureProperty="junit.failed"
602               includeantruntime="true"
603               jvm="${java7}"
604               fork="true">
605    
606          <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
607          <jvmarg value="-server"/>
608    
609    <target name="jdk7clean"        <classpath>
610            description="Removes all build products">          <pathelement location="${junit.jar}"/>
611            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
612          </classpath>
613    
614      <delete dir="${build.jdk7.dir}"/>        <formatter type="brief"/>
615    
616    </target>        <test name="${jsr166.tckTestClass}" haltonfailure="no">
617          </test>
618    
619        </junit>
620      </target>
621    
622      <target name="4jdk7-test-jtreg"
623              depends="4jdk7jar"
624              description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
625        <run-jtreg-tests
626           target="7"
627           workdir="${build.4jdk7.dir}"
628           classes="${4jdk7product.jar}"
629           jtregflags="-exclude:${jtreg.src.dir}/jdk8tests"/>
630      </target>
631    
   <target name="jdk7dist-clean"  
           description="Removes all build and distribution products">  
632    
633      <target name="4jdk7-test"
634              depends="4jdk7-test-tck, 4jdk7-test-jtreg"
635              description="Runs tck and jtreg tests for jsr166-4jdk7">
636    </target>    </target>
637    
   <target name="jdk7dist-docs"  
           description="Builds javadocs without custom tags to dist folder">  
638    
639      <delete dir="${dist.jdk7.docs.dir}"/>    <target name="4jdk7docs"
640      <mkdir dir="${dist.jdk7.docs.dir}"/>            description="Builds javadocs for src/jdk7 to dist dir">
641    
642        <delete dir="${4jdk7docs.dir}"/>
643        <mkdir dir="${4jdk7docs.dir}"/>
644    
645      <javadoc destdir="${dist.jdk7.docs.dir}"      <javadoc destdir="${4jdk7docs.dir}"
646               packagenames="none"               packagenames="none"
647               link="${jdkapi7docs.url}"               link="${jdkapi7docs.url}"
648               overview="${jdk7src.dir}/intro.html"               overview="${4jdk7src.dir}/intro.html"
649               sourcepath="${jdk7src.dir}"               access="${build.javadoc.access}"
650                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
651               classpath=""               classpath=""
652               executable="${javadoc7}"               executable="${javadoc7}">
653               bootclasspath="${bootclasspath6}"        <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
              source="1.6">  
       <arg value="-XDignore.symbol.file=true"/>  
       <fileset dir="${jdk7src.dir}" defaultexcludes="yes">  
654          <include name="**/*.java"/>          <include name="**/*.java"/>
655        </fileset>        </fileset>
656          <arg value="-XDignore.symbol.file=true"/>
657      </javadoc>      </javadoc>
658      </target>
659    
660    
661      <target name="4jdk7dist"
662              depends="4jdk7dist-jar, 4jdk7dist-docs"
663              description="Puts all distributable products in single hierarchy"/>
664    
665    
666      <target name="4jdk7clean"
667              description="Removes all 4jdk7 build products">
668    
669        <delete dir="${build.4jdk7.dir}"/>
670    
671    </target>    </target>
672    
   <target name="jdk7dist-jar"  
           depends="jdk7clean, jdk7jar">  
673    
674      <copy file="${jdk7product.jar}" todir="${dist.dir}"/>    <target name="4jdk7dist-jar"
675              depends="4jdk7clean, 4jdk7jar">
676        <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
677      </target>
678    
679    
680      <target name="4jdk7dist-docs"
681              depends="4jdk7clean, 4jdk7docs">
682        <mirror-dir src="${4jdk7docs.dir}" dst="${dist.4jdk7docs.dir}"/>
683    </target>    </target>
684    
   <!-- jsr166x -->  
685    
686      <!-- jsr166x -->
687    
688    <target name="jsr166xcompile"    <target name="jsr166xcompile"
689            depends="init, configure-compiler"            depends="configure-compiler"
690            description="Compiles jsr166x sources">            description="Compiles jsr166x sources to build dir">
691    
692      <mkdir dir="${build.jsr166x.dir}"/>      <mkdir dir="${build.jsr166x.classes.dir}"/>
693    
694      <javac srcdir="${jsr166xsrc.dir}"      <javac srcdir="${topsrc.dir}"
695            destdir="${build.jsr166x.dir}"             destdir="${build.jsr166x.classes.dir}"
696              debug="${build.debug}"             debug="${build.debug}"
697         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
698        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
699             source="${build.sourcelevel}"             classpath=""
700               fork="true">             bootclasspath="${bootclasspath6}"
701               source="5"
702               includeAntRuntime="false"
703               includeJavaRuntime="false"
704               executable="${javac7}"
705               fork="true">
706    
707        <include name="**/*.java"/>        <include name="jsr166x/**/*.java"/>
       <compilerarg line="${build.args}"/>  
708        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
709          <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
710          <compilerarg line="${build.args}"/>
711    
712      </javac>      </javac>
   
713    </target>    </target>
714    
715    
   
716    <target name="jsr166xjar"    <target name="jsr166xjar"
717            depends="jsr166xcompile"            depends="jsr166xcompile"
718            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
719    
720      <mkdir dir="${build.jsr166xlib.dir}"/>      <jar destfile="${jsr166x.jar}">
721          <fileset dir="${build.jsr166x.classes.dir}"/>
     <jar destfile="${jsr166xproduct.jar}">  
       <fileset dir="${build.jsr166x.dir}"/>  
722      </jar>      </jar>
723    
724    </target>    </target>
725    
726    
   
727    <target name="jsr166xdocs"    <target name="jsr166xdocs"
728            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs to dist dir">
729    
730      <delete dir="${build.jsr166xjavadocs.dir}"/>      <delete dir="${jsr166xdocs.dir}"/>
731      <mkdir dir="${build.jsr166xjavadocs.dir}"/>      <mkdir dir="${jsr166xdocs.dir}"/>
732    
733      <javadoc destdir="${build.jsr166xjavadocs.dir}"      <javadoc destdir="${jsr166xdocs.dir}"
734               packagenames="jsr166x"               packagenames="jsr166x.*"
735               link="${jdkapidocs.url}"               link="${jdkapidocs.url}"
736               source="${build.sourcelevel}"               access="${build.javadoc.access}"
737               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdk6src.dir}"
738               additionalparam="-XDignore.symbol.file=true" />               bootclasspath="${bootclasspath6}"
739                 source="5"
740                 executable="${javadoc7}">
741          <arg value="-XDignore.symbol.file=true"/>
742    
743        </javadoc>
744    </target>    </target>
745    
746    
747    <target name="jsr166xdist"    <target name="jsr166xdist"
748            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"            depends="jsr166xdist-jar, jsr166xdist-docs"
749            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
750    
751    
   
752    <target name="jsr166xclean"    <target name="jsr166xclean"
753            description="Removes all build products">            description="Removes all jsr166x build products">
754    
755      <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">  
756    
757    </target>    </target>
758    
759    
   
   <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>  
   
760    <target name="jsr166xdist-jar"    <target name="jsr166xdist-jar"
761            depends="jsr166xclean, jsr166xjar">            depends="jsr166xclean, jsr166xjar">
762        <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
763      </target>
764    
765      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>    <target name="jsr166xdist-docs"
766              depends="jsr166xclean, jsr166xdocs">
767        <mirror-dir src="${jsr166xdocs.dir}" dst="${dist.jsr166xdocs.dir}"/>
768    </target>    </target>
769    
770    <!-- jsr166y -->    <!-- jsr166y -->
771    
772    
773    <target name="jsr166ycompile"    <target name="jsr166ycompile"
774            depends="init, configure-compiler"            depends="configure-compiler"
775            description="Compiles jsr166y sources">            description="Compiles jsr166y sources">
776    
777      <mkdir dir="${build.jsr166y.dir}"/>      <mkdir dir="${build.jsr166y.classes.dir}"/>
778    
779      <javac srcdir="${jsr166ysrc.dir}"      <javac srcdir="${topsrc.dir}"
780            destdir="${build.jsr166y.dir}"             destdir="${build.jsr166y.classes.dir}"
781              debug="${build.debug}"             debug="${build.debug}"
782         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
783        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
784             source="${build.sourcelevel}"             source="6"
785               fork="true">             classpath=""
786               bootclasspath="${bootclasspath6}"
787               includeAntRuntime="false"
788               includeJavaRuntime="false"
789               executable="${javac7}"
790               fork="true">
791    
792        <include name="**/*.java"/>        <include name="jsr166y/**/*.java"/>
       <compilerarg line="${build.args}"/>  
793        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
794        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="-Xlint:all"/>
795          <compilerarg line="${build.args}"/>
 <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->  
796    
797      </javac>      </javac>
   
798    </target>    </target>
799    
800    
   
801    <target name="jsr166yjar"    <target name="jsr166yjar"
802            depends="jsr166ycompile"            depends="jsr166ycompile"
803            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
804    
805      <mkdir dir="${build.jsr166ylib.dir}"/>      <jar destfile="${jsr166y.jar}" index="true">
806          <fileset dir="${build.jsr166y.classes.dir}"/>
     <jar destfile="${jsr166yproduct.jar}" index="true">  
       <fileset dir="${build.jsr166y.dir}"/>  
807      </jar>      </jar>
808    
809    </target>    </target>
810    
811    
   
812    <target name="jsr166ydocs"    <target name="jsr166ydocs"
813            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs to dist dir">
814    
815      <delete dir="${build.jsr166yjavadocs.dir}"/>      <delete dir="${jsr166ydocs.dir}"/>
816      <mkdir dir="${build.jsr166yjavadocs.dir}"/>      <mkdir dir="${jsr166ydocs.dir}"/>
817    
818      <javadoc destdir="${build.jsr166yjavadocs.dir}"      <javadoc destdir="${jsr166ydocs.dir}"
819               packagenames="jsr166y"               packagenames="jsr166y.*"
820               link="${jdkapidocs.url}"               link="${jdkapidocs.url}"
821               source="${build.sourcelevel}"               access="${build.javadoc.access}"
822               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdk6src.dir}"
823               additionalparam="-XDignore.symbol.file=true" />               bootclasspath="${bootclasspath6}"
824                 source="6"
825                 executable="${javadoc7}">
826          <arg value="-XDignore.symbol.file=true"/>
827    
828        </javadoc>
829    </target>    </target>
830    
831    
832    <target name="jsr166ydist"    <target name="jsr166ydist"
833            depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"            depends="jsr166ydist-jar, jsr166ydist-docs"
834            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
835    
836    
   
837    <target name="jsr166yclean"    <target name="jsr166yclean"
838            description="Removes all build products">            description="Removes all jsr166y build products">
839    
840      <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">  
841    
842    </target>    </target>
843    
   <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>  
844    
845    <target name="jsr166ydist-jar"    <target name="jsr166ydist-jar"
846            depends="jsr166yclean, jsr166yjar">            depends="jsr166yclean, jsr166yjar">
847        <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
848      </target>
849    
850      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>    <target name="jsr166ydist-docs"
851              depends="jsr166yclean, jsr166ydocs">
852        <mirror-dir src="${jsr166ydocs.dir}" dst="${dist.jsr166ydocs.dir}"/>
853    </target>    </target>
854    
855    
# Line 835  Line 857 
857    
858    
859    <target name="extra166ycompile"    <target name="extra166ycompile"
860            depends="init, configure-compiler, jsr166ycompile"            depends="configure-compiler, jsr166yjar"
861            description="Compiles extra166y sources">            description="Compiles extra166y sources">
862    
863      <mkdir dir="${build.extra166y.dir}"/>      <mkdir dir="${build.extra166y.classes.dir}"/>
864    
865      <javac srcdir="${extra166ysrc.dir}"      <javac srcdir="${topsrc.dir}"
866            destdir="${build.extra166y.dir}"             destdir="${build.extra166y.classes.dir}"
867              debug="${build.debug}"             debug="${build.debug}"
868              classpath="${jsr166yproduct.jar}"             debuglevel="${build.debuglevel}"
869         debuglevel="${build.debuglevel}"             deprecation="${build.deprecation}"
870        deprecation="${build.deprecation}"             bootclasspath="@{jsr166y.jar}:${bootclasspath6}"
871             source="${build.sourcelevel}"             classpath=""
872               fork="true">             source="6"
873               includeAntRuntime="false"
874               includeJavaRuntime="false"
875               executable="${javac7}"
876               fork="true">
877    
878        <include name="**/*.java"/>        <include name="extra166y/**/*.java"/>
       <compilerarg line="${build.args}"/>  
879        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
880        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
881          <compilerarg line="${build.args}"/>
 <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->  
882    
883      </javac>      </javac>
   
884    </target>    </target>
885    
886    
   
887    <target name="extra166yjar"    <target name="extra166yjar"
888            depends="extra166ycompile"            depends="extra166ycompile"
889            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
890    
891      <mkdir dir="${build.extra166ylib.dir}"/>      <jar destfile="${extra166y.jar}" index="true">
892          <fileset dir="${build.extra166y.classes.dir}"/>
     <jar destfile="${extra166yproduct.jar}" index="true">  
       <fileset dir="${build.extra166y.dir}"/>  
893      </jar>      </jar>
894    
895    </target>    </target>
896    
897    
   
898    <target name="extra166ydocs"    <target name="extra166ydocs"
899            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs to build dir">
900    
901      <delete dir="${build.extra166yjavadocs.dir}"/>      <delete dir="${extra166ydocs.dir}"/>
902      <mkdir dir="${build.extra166yjavadocs.dir}"/>      <mkdir dir="${extra166ydocs.dir}"/>
903    
904      <javadoc destdir="${build.extra166yjavadocs.dir}"      <javadoc destdir="${extra166ydocs.dir}"
905               packagenames="extra166y"               packagenames="extra166y.*"
906               link="${jdkapidocs.url}"               link="${jdkapidocs.url}"
907               source="${build.sourcelevel}"               access="${build.javadoc.access}"
908               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdk6src.dir}"
909               additionalparam="-XDignore.symbol.file=true" />               bootclasspath="${bootclasspath6}"
910                 source="6"
911                 executable="${javadoc7}">
912          <arg value="-XDignore.symbol.file=true"/>
913    
914        </javadoc>
915    </target>    </target>
916    
917    
918    <target name="extra166ydist"    <target name="extra166ydist"
919            depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"            depends="extra166ydist-jar, extra166ydist-docs"
920            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
921    
922    
   
923    <target name="extra166yclean"    <target name="extra166yclean"
924            description="Removes all build products">            description="Removes all extra166y build products">
925    
926      <delete dir="${build.extra166y.dir}"/>      <delete dir="${build.extra166y.dir}"/>
     <delete dir="${build.extra166ylib.dir}"/>  
927    
928    </target>    </target>
929    
930    
   
   <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>  
   
931    <target name="extra166ydist-jar"    <target name="extra166ydist-jar"
932            depends="extra166yclean, extra166yjar">            depends="extra166yclean, extra166yjar">
933        <copy file="${extra166y.jar}" todir="${dist.dir}"/>
934      </target>
935    
936      <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>    <target name="extra166ydist-docs"
937              depends="extra166yclean, extra166ydocs">
938        <mirror-dir src="${extra166ydocs.dir}" dst="${dist.extra166ydocs.dir}"/>
939    </target>    </target>
940    
941    <!-- jsr166e -->    <!-- jsr166e -->
942    
943      <property name="build.jsr166e.java.version" value="6"/>
944      <property name="build.jsr166e.javac" value="${javac6}"/>
945    
946    <target name="jsr166ecompile"    <target name="jsr166ecompile"
947            depends="configure-compiler"            depends="configure-compiler"
948            description="Compiles jsr166e sources">            description="Compiles jsr166e sources">
949    
950      <mkdir dir="${build.jsr166e.dir}"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
951    
952      <javac srcdir="${topsrc.dir}"      <javac srcdir="${topsrc.dir}"
953             destdir="${build.jsr166e.dir}"             destdir="${build.jsr166e.classes.dir}"
954             debug="${build.debug}"             debug="${build.debug}"
955             debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
956             deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
957             source="1.7"             source="${build.jsr166e.java.version}"
958             classpath=""             classpath=""
959             includeAntRuntime="false"             includeAntRuntime="false"
960             includeJavaRuntime="false"             includeJavaRuntime="false"
961             executable="${javac7}"             executable="${build.jsr166e.javac}"
962             fork="true">             fork="true">
963    
964        <include name="jsr166e/**/*.java"/>        <include name="jsr166e/**/*.java"/>
       <compilerarg line="${build.args}"/>  
965        <compilerarg value="-XDignore.symbol.file=true"/>        <compilerarg value="-XDignore.symbol.file=true"/>
966        <compilerarg value="-Xlint:all"/>        <compilerarg value="-Xlint:all"/>
967          <compilerarg line="${build.args}"/>
968    
969      </javac>      </javac>
   
970    </target>    </target>
971    
972      <!-- jsr166e: find doclint errors -->
973      <target name="jsr166edoclint">
974    
975        <mkdir dir="${build.jsr166e.classes.dir}"/>
976    
977        <javac srcdir="${topsrc.dir}"
978               destdir="${build.jsr166e.classes.dir}"
979               debug="${build.debug}"
980               debuglevel="${build.debuglevel}"
981               deprecation="${build.deprecation}"
982               source="${build.jsr166e.java.version}"
983               classpath=""
984               bootclasspath="${bootclasspath7}"
985               includeAntRuntime="false"
986               includeJavaRuntime="false"
987               executable="${javac8}"
988               fork="true">
989    
990          <include name="jsr166e/**/*.java"/>
991          <compilerarg value="-XDignore.symbol.file=true"/>
992          <compilerarg value="-Xlint:all"/>
993          <compilerarg value="-Xdoclint:all/protected"/>
994    
995        </javac>
996      </target>
997    
998    
999    <target name="jsr166ejar"    <target name="jsr166ejar"
1000            depends="jsr166ecompile"            depends="jsr166ecompile"
1001            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
1002    
1003      <mkdir dir="${build.jsr166elib.dir}"/>      <jar destfile="${jsr166e.jar}" index="true">
1004          <fileset dir="${build.jsr166e.classes.dir}"/>
     <jar destfile="${jsr166eproduct.jar}" index="true">  
       <fileset dir="${build.jsr166e.dir}"/>  
1005      </jar>      </jar>
1006    
1007    </target>    </target>
1008    
1009    
   
1010    <target name="jsr166edocs"    <target name="jsr166edocs"
1011            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs to build dir">
1012    
1013      <delete dir="${build.jsr166ejavadocs.dir}"/>      <delete dir="${jsr166edocs.dir}"/>
1014      <mkdir dir="${build.jsr166ejavadocs.dir}"/>      <mkdir dir="${jsr166edocs.dir}"/>
1015    
1016      <javadoc destdir="${build.jsr166ejavadocs.dir}"      <javadoc destdir="${jsr166edocs.dir}"
1017               packagenames="jsr166e,jsr166e.extra"               packagenames="jsr166e.*"
1018               link="${jdkapidocs.url}"               link="${jdkapidocs.url}"
1019               source="1.7"               access="${build.javadoc.access}"
1020               sourcepath="${topsrc.dir}:${jdksrc.dir}"               sourcepath="${topsrc.dir}:${jdk6src.dir}"
1021               additionalparam="-XDignore.symbol.file=true" />               source="${build.jsr166e.java.version}"
1022                 executable="${javadoc7}">
1023          <arg value="-XDignore.symbol.file=true"/>
1024    
1025        </javadoc>
1026    </target>    </target>
1027    
1028    
1029    <target name="jsr166edist"    <target name="jsr166e-test-tck-one-java-version"
1030            depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"            depends="jsr166ejar">
           description="Puts all distributable products in single hierarchy"/>  
   
1031    
1032        <echo message="Testing with jdk${build.jsr166e.java.version} ..."/>
1033    
1034    <target name="jsr166eclean"      <run-tck-tests
1035            description="Removes all build products">        tck.src.dir="${test.src.dir}/tck-jsr166e"
1036          target="${build.jsr166e.java.version}"
1037      <delete dir="${build.jsr166e.dir}"/>        workdir="${build.jsr166e.dir}"
1038      <delete dir="${build.jsr166elib.dir}"/>        classes="${jsr166e.jar}"/>
   
1039    </target>    </target>
1040    
1041      <target name="jsr166e-test-tck"
1042              description="Runs tck tests for jsr166e for multiple java versions">
1043    
1044    <!--     <antcall target="clean"/> -->
1045    <!--     <antcall target="jsr166e-test-tck-one-java-version"> -->
1046    <!--       <param name="build.jsr166e.java.version" value="8"/> -->
1047    <!--       <param name="build.jsr166e.javac" value="${javac8}"/> -->
1048    <!--     </antcall> -->
1049    
1050    <target name="jsr166edist-clean"      <antcall target="clean"/>
1051            description="Removes all build and distribution products">      <antcall target="jsr166e-test-tck-one-java-version">
1052          <param name="build.jsr166e.java.version" value="7"/>
1053          <param name="build.jsr166e.javac" value="${javac7}"/>
1054        </antcall>
1055    
1056        <antcall target="clean"/>
1057        <antcall target="jsr166e-test-tck-one-java-version">
1058          <param name="build.jsr166e.java.version" value="6"/>
1059          <param name="build.jsr166e.javac" value="${javac6}"/>
1060        </antcall>
1061    </target>    </target>
1062    
   <target name="jsr166edist-docs"  
           description="Builds javadocs without custom tags to dist folder">  
1063    
1064      <delete dir="${dist.jsr166ejavadocs.dir}"/>    <target name="jsr166e-test"
1065      <mkdir dir="${dist.jsr166ejavadocs.dir}"/>            depends="jsr166e-test-tck"
1066              description="Runs all tests for jsr166e">
1067      </target>
1068    
1069      <target name="jsr166edist"
1070              depends="jsr166edist-jar, jsr166edist-docs"
1071              description="Puts all distributable products in single hierarchy"/>
1072    
     <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" />  
1073    
1074      <target name="jsr166eclean"
1075              description="Removes all jsr166e build products">
1076        <delete dir="${build.jsr166e.dir}"/>
1077    </target>    </target>
1078    
1079    
1080    <target name="jsr166edist-jar"    <target name="jsr166edist-jar"
1081            depends="jsr166eclean, jsr166ejar">            depends="jsr166eclean, jsr166ejar">
1082        <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1083      </target>
1084    
1085      <target name="jsr166edist-docs"
1086              depends="jsr166eclean, jsr166edocs">
1087        <mirror-dir src="${jsr166edocs.dir}" dst="${dist.jsr166edocs.dir}"/>
1088      </target>
1089    
1090    
1091      <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>  <!-- Find buglets that can be detected by static build tools -->
1092    
1093      <target name="lint">
1094        <antcall target="dists">
1095          <param name="build.javadoc.access" value="private"/>
1096        </antcall>
1097    </target>    </target>
1098    
1099    
1100  </project>  </project>

Legend:
Removed from v.1.95  
changed lines
  Added in v.1.151

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