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

Diff of /jsr166/build.xml

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

revision 1.74 by dl, Thu Sep 13 11:19:25 2007 UTC revision 1.113 by jsr166, Sun Jan 20 03:51:38 2013 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      where each of the above is a JDK or a symlink to same, and
20      $HOME/jdk/src/jdk6
21      $HOME/jdk/src/jdk7
22      $HOME/jdk/src/jdk8
23      where each of the above is a complete JDK source tree
24      (e.g. mercurial forest) or a symlink to same.
25  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
26    </description>    </description>
27    
# Line 21  Line 35 
35    
36    
37    <!-- Compilation options -->    <!-- Compilation options -->
38    <property name="build.sourcelevel"    value="1.5"/>    <property name="build.sourcelevel"    value="1.6"/>
39    <property name="build.debug"          value="true"/>    <property name="build.debug"          value="true"/>
40    <property name="build.debuglevel"     value="source,lines,vars"/>    <property name="build.debuglevel"     value="source,lines,vars"/>
41    <property name="build.deprecation"    value="false"/>    <property name="build.deprecation"    value="false"/>
42    
43    <!-- Build locations -->    <!-- Build locations -->
44    <property name="build.dir"            location="build"/>    <property name="build.dir"                   location="build"/>
45    <property name="build.classes.dir"    location="${build.dir}/classes"/>    <property name="build.classes.dir"           location="${build.dir}/classes"/>
46    <property name="build.testcases.dir"  location="${build.dir}/testcases"/>    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
47    <property name="build.j1.dir"         location="${build.dir}/j1"/>    <property name="build.loops.dir"             location="${build.dir}/loops"/>
48    <property name="build.loops.dir"      location="${build.dir}/loops"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
49    <property name="build.lib.dir"        location="${build.dir}/lib"/>  
50    <property name="build.ant.dir"        location="${build.dir}/ant"/>    <property name="build.4jdk7.dir"             location="${build.dir}/jsr166-4jdk7"/>
51    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>    <property name="build.4jdk7.classes.dir"     location="${build.4jdk7.dir}/classes"/>
52    <property name="build.reports.dir"    location="${build.dir}/reports"/>    <property name="build.4jdk7.tck.classes.dir" location="${build.4jdk7.dir}/tck-classes"/>
53    <property name="build.checkstyle.dir" location="${build.dir}/checkstyle"/>    <property name="build.4jdk7.docs.dir"        location="${build.4jdk7.dir}/docs"/>
54    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>  
55    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
56    <property name="build.dc-filter.dir"  location="${build.dir}/filterdocchk"/>    <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
57    <property name="build.jsr166x.dir"    location="${build.dir}/jsr166x"/>    <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
58    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.extra166y.dir"         location="${build.dir}/extra166y"/>
59    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>  
60      <!-- JDK binary locations -->
61    <property name="build.jsr166y.dir"    location="${build.dir}/jsr166y"/>    <property name="jdks.home"  location="${user.home}/jdk"/>
62    <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>  
63    <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>    <macrodef name="defjdklocations">
64        <attribute name="v"/>
65        <sequential>
66        <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
67        <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
68        <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
69        <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
70        <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
71        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
72        <property name="bootclasspath@{v}"
73         value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
74        </sequential>
75      </macrodef>
76    
77      <defjdklocations v="6"/>
78      <defjdklocations v="7"/>
79      <defjdklocations v="8"/>
80    
81      <macrodef name="run-tck-tests">
82        <attribute name="jvm"/>
83        <attribute name="tck.classes"/>
84        <attribute name="product.jar" default="${product.jar}"/>
85        <attribute name="jvmflags" default=""/>
86        <sequential>
87        <java classname="JSR166TestCase"
88              jvm="@{jvm}" fork="true">
89            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
90            <jvmarg line="@{jvmflags}"/>
91            <classpath>
92              <pathelement location="${junit.jar}"/>
93              <pathelement location="@{tck.classes}"/>
94            </classpath>
95        </java>
96        </sequential>
97      </macrodef>
98    
99    <!-- Source locations -->    <!-- Source locations -->
100    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
101    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
   <property name="j1.src.dir"           location="${basedir}/src/javaone"/>  
102    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
103    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
104    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>    <property name="jtreg.src.dir"        location="${test.src.dir}/jtreg"/>
   <property name="ant.src.dir"          location="${basedir}/etc/ant"/>  
   <property name="stylesheet.dir"       location="${basedir}/etc/xsl"/>  
105    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
106    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
107    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
108    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
109    <property name="jsr166ysrc.dir"       location="${basedir}/src/jsr166y"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
110      <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
111      <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
112      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
113    
114    <!-- Distribution locations -->    <!-- Distribution locations -->
115    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"          location="${dist.dir}/jsr166.docs"/>
116    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.4jdk7.docs.dir"        location="${dist.dir}/jsr166-4jdk7.docs"/>
117    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166xjavadocs.dir"   location="${dist.dir}/jsr166x.docs"/>
118      <property name="dist.jsr166yjavadocs.dir"   location="${dist.dir}/jsr166y.docs"/>
119      <property name="dist.jsr166ejavadocs.dir"   location="${dist.dir}/jsr166e.docs"/>
120      <property name="dist.extra166yjavadocs.dir" location="${dist.dir}/extra166y.docs"/>
121    
122    <!-- Jar locations -->    <!-- Jar locations -->
123    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
124    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
125    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
126    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
127    <property name="concurrent.jar"       location="${lib.dir}/concurrent.jar"/>    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
128      <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
129      <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
130    
131    <!-- Bootclasspath argument -->    <!-- Bootclasspath argument -->
132    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
133    
134      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
135      <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
136      <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
137      <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
138    
139      <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
140      <!-- The below does not yet exist as of 2012-11 -->
141      <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
142    
143      <!-- Default jdk api doc location (latest stable release seems best) -->
144      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
145    
146    <!-- Test classpath -->    <!-- Test classpath -->
147    <path id="test.classpath">    <path id="test.classpath">
148      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
# Line 89  Line 154 
154      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
155    </path>    </path>
156    
157    <!-- J1 classpath -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
158    <path id="j1.classpath">    <!-- TODO: How do we get &trade to work? -->
159      <pathelement location="${build.classes.dir}"/>    <!-- TODO: Why isn't @jls a "standard" tag? -->
160      <pathelement location="${build.j1.dir}"/>    <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
161      <pathelement location="${junit.jar}"/>    <property name="javadoc.jls.cite" value="The Java Language Specification"/>
162      <property name="javadoc.jls.option" value="jls:a:See &lt;cite&gt;${javadoc.jls.cite}&lt;/cite&gt;:"/>
     <!-- Include dl.u.c for BoundedBuffer comparison -->  
     <pathelement location="${concurrent.jar}"/>  
   </path>  
   
163    
164    <!-- Main targets -->    <!-- Main targets -->
165    
166      <target name="dists"
167              depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
168              description="Builds all public jars and docs"/>
169    
170    <target name="compile"    <target name="compile"
171            depends="init, configure-compiler"            depends="configure-compiler"
172            description="Compiles main sources to build folder">            description="Compiles src/main sources to build dir">
173    
174      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
175    
176      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
177            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
178              debug="${build.debug}"             debug="${build.debug}"
179         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
180        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
181             source="${build.sourcelevel}"             classpath=""
182               fork="true">             includeAntRuntime="false"
183               includeJavaRuntime="false"
184               executable="${javac8}"
185               fork="true">
186    
187        <include name="**/*.java"/>        <include name="**/*.java"/>
188        <compilerarg value="-XDignore.symbol.file"/>        <compilerarg line="${build.args}"/>
189          <compilerarg value="-XDignore.symbol.file=true"/>
190          <compilerarg value="-Xlint:all"/>
191    
192  <!--  <!--
193        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
# Line 136  Line 205 
205            depends="compile"            depends="compile"
206            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
207    
     <mkdir dir="${build.lib.dir}"/>  
   
208      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
209        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}"/>
210      </jar>      </jar>
# Line 147  Line 214 
214    
215    
216    <target name="test"    <target name="test"
217            depends="init, configure-tests, report-tests"            depends="configure-tests, report-tests"
218            description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />            description="Runs all tests (requires JUnit 3.8.1 in ${ant.home}/lib)" />
219    
220    
221    
222    <target name="docs"    <target name="docs"
223            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs for src/main to dist dir">
   
     <delete dir="${build.javadocs.dir}"/>  
     <mkdir dir="${build.javadocs.dir}"/>  
   
     <javadoc destdir="${build.javadocs.dir}"  
                 link="http://java.sun.com/javase/6/docs/api/"  
             overview="${src.dir}/intro.html"  
             sourcepath="${src.dir}:/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"  
     >            
   
       <packageset dir="${src.dir}"/>  
   
     </javadoc>  
   
   </target>  
224    
225        <delete dir="${dist.javadocs.dir}"/>
226        <mkdir dir="${dist.javadocs.dir}"/>
227    
228        <!-- the packagenames="none" hack below prevents scanning the -->
229        <!-- sourcepath for packages -->
230    
231    <target name="doccheck"      <javadoc destdir="${dist.javadocs.dir}"
232            depends="filter-doccheck"               packagenames="none"
233            description="Reports on javadoc style errors">               link="${jdkapi8docs.url}"
234                 overview="${src.dir}/intro.html"
235      <delete dir="${build.doccheck.dir}"/>               sourcepath="${src.dir}:${jdk8src.dir}"
236      <mkdir dir="${build.doccheck.dir}"/>               classpath=""
237                 executable="${javadoc8}">
238      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"        <arg value="-XDignore.symbol.file=true"/>
239           docletpath="${lib.dir}/doccheck.jar"        <arg value="-tag"/>
240              destdir="${build.doccheck.dir}">        <arg value="${javadoc.jls.option}"/>
241        <packageset dir="${build.dc-filter.dir}"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
242            <include name="**/*.java"/>
243          </fileset>
244      </javadoc>      </javadoc>
245    
     <echo>DocCheck output is in ${build.doccheck.dir}</echo>  
   
   </target>  
   
   
   
   <target name="checkstyle"  
           depends="filter-src"  
           description="Reports on style errors in Java source (verbose, mostly chaff)">  
   
     <taskdef resource="checkstyletask.properties"  
             classpath="${lib.dir}/checkstyle-all-3.1.jar"/>  
   
     <mkdir dir="${build.checkstyle.dir}"/>  
   
     <checkstyle config="etc/checkstyle/sun_checks.xml"  
        failOnViolation="false">  
       <formatter type="xml" toFile="${build.checkstyle.dir}/checkstyle-report.xml"/>  
       <fileset dir="${build.filter.src.dir}" includes="**/*.java"/>  
     </checkstyle>  
   
     <style in="${build.checkstyle.dir}/checkstyle-report.xml"  
           out="${build.checkstyle.dir}/checkstyle-report.html"  
         style="${stylesheet.dir}/checkstyle-frames.xsl"/>  
   
246    </target>    </target>
247    
248    
249    
250    <target name="dist"    <target name="dist"
251            depends="init, dist-clean, dist-jar, dist-docs"            depends="dist-clean, dist-jar, docs"
252            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
253    
254    
   
255    <target name="release"    <target name="release"
256            depends="dist"            depends="dist"
257            description="Puts entire CVS tree, plus distribution productions, in a jar">            description="Puts entire CVS tree, plus distribution productions, in a jar">
# Line 244  Line 276 
276            description="Removes all build products">            description="Removes all build products">
277    
278      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
     <delete dir="${build.classes.dir}"/>  
     <delete dir="${build.lib.dir}"/>  
279    
280    </target>    </target>
281    
# Line 260  Line 290 
290    
291    
292    
   <target name="dist-docs"  
           description="Builds javadocs without custom tags to dist folder">  
   
     <delete dir="${dist.javadocs.dir}"/>  
     <mkdir dir="${dist.javadocs.dir}"/>  
   
     <javadoc destdir="${dist.javadocs.dir}"  
             link="http://java.sun.com/javase/6/docs/api/"  
             overview="${src.dir}/intro.html"  
   
             sourcepath="${src.dir}:/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"  
      >  
 <!--  
       <packageset dir="${src.dir}" defaultexcludes="yes">  
       <include name="java/util/concurrent"/>  
       <include name="java/util/concurrent/atomic"/>  
       <include name="java/util/concurrent/locks"/>  
       </packageset>  
 -->  
       <fileset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="main/java/util/concurrent/*.java"/>  
       <include name="main/java/util/concurrent/atomic/*.java"/>  
       <include name="main/java/util/concurrent/locks/*.java"/>  
       <include name="main/java/util/*.java"/>  
 <!--  
       <include name="main/java/util/concurrent/*.html"/>  
       <include name="main/java/util/concurrent/atomic/*.html"/>  
       <include name="main/java/util/concurrent/locks/*.html"/>  
       <include name="main/java/util/*.html"/>  
 -->  
 <!--      <include name="jsr166x/*.java"/> -->  
       </fileset>  
     </javadoc>  
   
   </target>  
   
   
   
293    <!-- Internal targets -->    <!-- Internal targets -->
294    
295    
   <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>  
   
   
296    <target name="dist-jar"    <target name="dist-jar"
297            depends="clean, jar">            depends="clean, jar">
298    
# Line 319  Line 301 
301    </target>    </target>
302    
303    
   <target name="compile-ant-filter"  
           depends="init">  
   
     <mkdir dir="${build.ant.dir}"/>  
   
     <javac srcdir="${ant.src.dir}"  
           destdir="${build.ant.dir}"  
            source="1.4"/>  
   
   </target>  
   
   
   <target name="filter-src"  
           depends="compile-ant-filter">  
   
     <mkdir dir="${build.filter.src.dir}"/>  
   
     <copy todir="${build.filter.src.dir}">  
       <fileset dir="${src.dir}">  
         <include name="**/*.html"/>  
       </fileset>  
     </copy>  
   
     <copy todir="${build.filter.src.dir}">  
       <fileset dir="${src.dir}">  
         <exclude name="**/*.html"/>  
         <!-- Files excluded from dist-docs -->  
         <exclude name="java/util/Random.*"/>  
         <exclude name="sun/misc/Unsafe.*"/>  
       </fileset>  
       <!--  
       <filterchain>  
       -->  
   
         <!--  
          # This filter gets rid of angle-bracketed type parameters  
          # so that javadoc can run on the result. The following  
          # heuristic seems to work:  
          #  
          # For all lines not starting with space(s)-asterisk-space(s),  
          #   replace <something> with a space, where there may be more  
          #   than one right angle bracket at the end, and "something"  
          #   must not contain parens or pipes. (This may need some  
          #   tweaking.)  
          -->  
   
         <!--  
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <param name="notmatching" value="^\s+\*\s.*$"/>  
           <param name="pattern"     value="&lt;[^|>()]+?>+"/>  
           <param name="replacement" value=" "/>  
         </filterreader>  
         -->  
   
       <!--  
       </filterchain>  
       -->  
     </copy>  
   
   </target>  
   
   
   <target name="filter-doccheck"  
           depends="filter-src">  
   
     <mkdir dir="${build.dc-filter.dir}"/>  
   
     <copy todir="${build.dc-filter.dir}">  
       <fileset dir="${build.filter.src.dir}">  
         <include name="**/*.html"/>  
       </fileset>  
     </copy>  
   
     <property name="generic.declarations"  
              value="/** Fake type parameter. */ public interface E {} /** Fake type parameter. */ public interface T {} /** Fake type parameter. */ public interface K {} /** Fake type parameter. */ public interface V {}"  
     />  
   
     <copy todir="${build.dc-filter.dir}">  
       <fileset dir="${build.filter.src.dir}">  
         <exclude name="**/*.html"/>  
       </fileset>  
       <filterchain>  
         <!--  
          # These two filters try to make the source look like  
          # something that doccheck can process. The first removes  
          # -source 1.4 assertions and the second adds in a bunch  
          # of single letter public nested marker interfaces so that  
          # the generic type parameters are recognized.  
          -->  
   
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <param name="matching"    value="^\s*assert[\s ].*$"/>  
           <param name="pattern"     value="assert"/>  
           <param name="replacement" value="//assert"/>  
         </filterreader>  
   
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <param name="matching"    value="^([^*]*(class|interface|implements) .*|)\{.*$"/>  
           <param name="pattern"     value="$"/>  
           <param name="replacement" value=" ${generic.declarations}"/>  
         </filterreader>  
   
       </filterchain>  
     </copy>  
   
   </target>  
   
   
304    <target name="compile-tests"    <target name="compile-tests"
305            depends="jar">            depends="jar">
306    
307      <mkdir dir="${build.testcases.dir}"/>      <mkdir dir="${build.testcases.dir}"/>
308    
309      <javac srcdir="${tck.src.dir}"      <javac srcdir="${tck.src.dir}"
310            destdir="${build.testcases.dir}"             destdir="${build.testcases.dir}"
311              debug="${build.debug}"             debug="${build.debug}"
312         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
313        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
314             source="${build.sourcelevel}"             source="6"
315               fork="true">             classpath="${junit.jar}"
316               bootclasspath="${product.jar}:${bootclasspath6}"
317               includeAntRuntime="false"
318               includeJavaRuntime="false"
319               executable="${javac8}"
320               fork="true">
321    
322        <compilerarg value="${bootclasspath.args}"/>        <include name="**/*.java"/>
323        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
324          <compilerarg value="-XDignore.symbol.file=true"/>
325        <classpath refid="test.classpath"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
326    
327      </javac>      </javac>
328    
329      <javac srcdir="${test.src.dir}"      <javac srcdir="${test.src.dir}"
330            destdir="${build.testcases.dir}"             destdir="${build.testcases.dir}"
331              debug="${build.debug}"             debug="${build.debug}"
332         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
333        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
334             source="${build.sourcelevel}"             source="6"
335               fork="true">             classpath=""
336               bootclasspath="${product.jar}:${bootclasspath6}"
337               includeAntRuntime="false"
338               includeJavaRuntime="false"
339               executable="${javac8}"
340               fork="true">
341    
342        <include name="jsr166/test/**"/>        <include name="jsr166/test/**/*.java"/>
343    
       <compilerarg value="${bootclasspath.args}"/>  
344        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
345          <compilerarg value="-XDignore.symbol.file=true"/>
346        <classpath refid="test.classpath"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
347    
348      </javac>      </javac>
349    
# Line 478  Line 358 
358    
359        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
360        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
361          <compilerarg value="-XDignore.symbol.file=true"/>
       <classpath refid="test.classpath"/>  
362    
363      </javac>      </javac>
364  -->  -->
# Line 500  Line 379 
379            errorProperty="junit.failed"            errorProperty="junit.failed"
380          failureProperty="junit.failed"          failureProperty="junit.failed"
381                      dir="${build.reports.dir}"                      dir="${build.reports.dir}"
382                        jvm="${java8}"
383                     fork="true">                     fork="true">
384    
385        <jvmarg value="${bootclasspath.args}"/>        <jvmarg value="-Xbootclasspath/p:${product.jar}"/>
386        <jvmarg value="-server"/>        <jvmarg value="-server"/>
387        <jvmarg value="-showversion"/>        <jvmarg value="-showversion"/>
388    
# Line 550  Line 430 
430        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
431          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
432        </fileset>        </fileset>
433        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
434        />        />
435      </junitreport>      </junitreport>
436    
# Line 602  Line 480 
480    </target>    </target>
481    
482    
   
   <!-- Anthill targets -->  
   
   <target name="anthill-build">  
   
     <!-- Override this in user.properties -->  
     <property name="tiger.home" location="e:/j2sdk1.5.0"/>  
   
     <exec resultproperty="result.property" dir="${basedir}" executable="${tiger.home}/bin/java">  
       <arg value="-Xmx256000000"/>  
       <!-- classpath of new JVM -->  
       <arg value="-classpath"/> <arg path="${java.class.path}"/>  
       <!-- location of Ant home directory -->  
       <arg value="-Dant.home=${ant.home}"/>  
       <!-- the Ant main class -->  
       <arg value="org.apache.tools.ant.Main"/>  
       <!-- The build file -->  
       <arg value="-buildfile"/>  <arg value="build.xml"/>  
       <!-- the target to build on the new Ant instance -->  
       <arg value="-DJAVA_HOME=${tiger.home}"/>  
       <arg value="do-anthill-build"/>  
     </exec>  
   </target>  
   
   <target name="do-anthill-build"  
           depends="jar, test, docs, dist-docs"/>  
   
   <target name="anthill-publish">  
   
     <copy todir="${deployDir}/docs/private">  
       <fileset dir="${build.javadocs.dir}"/>  
     </copy>  
   
     <copy todir="${deployDir}/docs/public">  
       <fileset dir="${dist.javadocs.dir}"/>  
     </copy>  
   
     <copy tofile="${deployDir}/index.html"  
           file="${basedir}/etc/anthill-index.html"/>  
   
     <copy todir="${deployDir}/notes">  
       <fileset dir="${basedir}/etc/notes"/>  
     </copy>  
   
   </target>  
   
   
   
483    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
484    
485    
486    <target name="sample" depends="init, configure-compiler"    <target name="loops" depends="configure-compiler"
           description="Standalone demo program">  
   
     <mkdir dir="${build.testcases.dir}"/>  
   
     <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/Sample.java"/>  
   
     </javac>  
   
     <copy todir="${build.testcases.dir}">  
       <fileset dir="${test.src.dir}">  
         <include name="**/*.properties"/>  
       </fileset>  
     </copy>  
   
   
     <java classname="jsr166.test.Sample" fork="true">  
       <classpath refid="test.classpath"/>  
       <!-- <jvmarg value="-ea"/> -->  
       <!-- <jvmarg value="-server"/> -->  
       <!-- <arg value="1000"/> -->  
     </java>  
   </target>  
   
   
   <target name="loops" depends="init, configure-compiler"  
487            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
488    
489      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
# Line 701  Line 498 
498    
499        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
500        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
501          <compilerarg value="-XDignore.symbol.file=true"/>
502    
503      </javac>      </javac>
504    
# Line 711  Line 509 
509    </target>    </target>
510    
511    
512    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
513    
     <mkdir dir="${build.j1.dir}"/>  
514    
515      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
516            destdir="${build.j1.dir}"            depends="configure-compiler"
517              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
518         debuglevel="${build.debuglevel}"  
519        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
520             source="${build.sourcelevel}" >  
521        <javac srcdir="${4jdk7src.dir}"
522               destdir="${build.4jdk7.classes.dir}"
523               debug="${build.debug}"
524               debuglevel="${build.debuglevel}"
525               deprecation="${build.deprecation}"
526               source="6"
527               classpath=""
528               bootclasspath="${bootclasspath6}"
529               includeAntRuntime="false"
530               includeJavaRuntime="false"
531               executable="${javac7}"
532               fork="true">
533    
534        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/dijkstra/**"/>  
   
535        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
536        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
537          <compilerarg value="-Xlint:all"/>
538    
539      </javac>      </javac>
540    
541    </target>      <jar destfile="${4jdk7product.jar}" index="true">
542          <fileset dir="${build.4jdk7.classes.dir}"/>
543        </jar>
544    
545    <target name="sw" depends="compile-j1"      <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
           description="Runs the SwingWorker demo">  
546    
547      <!--      <javac srcdir="${tck.src.dir}"
548      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">             destdir="${build.4jdk7.tck.classes.dir}"
549        <classpath refid="j1.classpath"/>             debug="${build.debug}"
550      </java>             debuglevel="${build.debuglevel}"
551      -->             deprecation="${build.deprecation}"
552               source="6"
553               classpath="${junit.jar}"
554               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
555               includeAntRuntime="false"
556               includeJavaRuntime="false"
557               executable="${javac7}"
558               fork="true">
559    
560      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>        <include name="**/*.java"/>
561          <compilerarg line="${build.args}"/>
562          <compilerarg value="-XDignore.symbol.file=true"/>
563          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
564    
565      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      </javac>
       <arg value="${build.j1.dir}/SwingWorker.html"/>  
     </exec>  
566    
567    </target>    </target>
568    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
569    
570      <java classname="${j1.test}" fork="true">    <target name="4jdk7-test-tck"
571        <classpath refid="j1.classpath"/>            depends="4jdk7compile"
572        <jvmarg value="-client"/>            description="Runs tck tests for jsr166-4jdk7 directly">
573        <run-tck-tests
574          jvm="${java7}"
575          tck.classes="${build.4jdk7.tck.classes.dir}"
576          product.jar="${4jdk7product.jar}"/>
577      </target>
578    
       <!-- TestPseudoRandom args -->  
       <arg value="2"/>  
       <arg value="25"/>  
       <arg value="100000"/>  
579    
580        <!-- WebCrawler args -->    <target name="4jdk7-test-tck-junit"
581        <!--            depends="4jdk7compile"
582        <arg value="jsr166.webcrawler.WebCrawler3"/>            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
       <arg value="http://www.priorartisans.com"/>  
       <arg value="25"/>  
       -->  
583    
584      </java>      <junit printsummary="true"
585               showoutput="true"
586               errorProperty="junit.failed"
587               failureProperty="junit.failed"
588               includeantruntime="true"
589               jvm="${java7}"
590               fork="true">
591    
592    </target>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
593          <jvmarg value="-server"/>
594    
595          <classpath>
596            <pathelement location="${junit.jar}"/>
597            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
598          </classpath>
599    
600    <target name="test-j1" depends="compile-j1"        <formatter type="brief"/>
           description="Runs testcases from the JavaOne source directories">  
601    
602      <junit printsummary="true"        <test name="JSR166TestCase" haltonfailure="no">
603               showoutput="true"        </test>
           errorProperty="junit.failed"  
         failureProperty="junit.failed"  
                     dir="${build.j1.dir}"  
                    fork="true">  
604    
605        <!-- <jvmarg value="-server"/> -->      </junit>
606        <classpath refid="j1.classpath"/>    </target>
       <formatter type="xml"/>  
607    
       <batchtest todir="${build.j1.dir}">  
         <fileset dir="${j1.src.dir}">  
           <include name="**/*Test.java"/>  
         </fileset>  
       </batchtest>  
608    
609      </junit>    <target name="4jdk7docs"
610              description="Builds javadocs for src/jdk7 to dist dir">
611    
612      <available property="junit.report.format"      <delete dir="${dist.4jdk7.docs.dir}"/>
613                    value="frames"      <mkdir dir="${dist.4jdk7.docs.dir}"/>
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
614    
615      <junitreport todir="${build.j1.dir}">      <javadoc destdir="${dist.4jdk7.docs.dir}"
616        <fileset dir="${build.j1.dir}">               packagenames="none"
617          <include name="TEST-*.xml"/>               link="${jdkapi7docs.url}"
618                 overview="${4jdk7src.dir}/intro.html"
619                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
620                 classpath=""
621                 executable="${javadoc7}">
622          <arg value="-XDignore.symbol.file=true"/>
623          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
624            <include name="**/*.java"/>
625        </fileset>        </fileset>
626        <report styledir="${stylesheet.dir}"      </javadoc>
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
   
     <fail message="Test Cases Failed" if="junit.failed"/>  
627    
628    </target>    </target>
629    
630    
631      <target name="4jdk7dist"
632              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
633              description="Puts all distributable products in single hierarchy"/>
634    
   <!-- C++ and JNI definitions and demos -->  
   
   <target name="configure-cpp">  
   
     <!-- Define tasks and types -->  
635    
     <path id="cpptasks.path">  
       <pathelement location="${lib.dir}/cpptasks.jar"/>  
     </path>  
     <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>  
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
636    
637      <!-- Set platform property for JNI includes -->    <target name="4jdk7clean"
638              description="Removes all 4jdk7 build products">
639    
640      <condition property="platform" value="linux">      <delete dir="${build.4jdk7.dir}"/>
       <os name="Linux"/>  
     </condition>  
     <condition property="platform" value="win32">  
       <os family="windows"/>  
     </condition>  
     <condition property="platform" value="solaris">  
       <os name="SunOS"/>  
     </condition>  
641    
642    </target>    </target>
643    
644    
   <target name="cppdemo" depends="configure-cpp">  
645    
646      <mkdir dir="${build.dir}"/>    <target name="4jdk7dist-clean"
647              description="Removes all build and distribution products">
648    
649      <cc multithreaded="true"    </target>
650                   name="g++"  
651                 objdir="${build.dir}"    <target name="4jdk7dist-jar"
652                outfile="${build.dir}/CppDemo">            depends="4jdk7clean, 4jdk7compile">
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
653    
654      <exec executable="${build.dir}/CppDemo">      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
       <arg line="count in word frequency of word in command line count"/>  
     </exec>  
655    
656    </target>    </target>
657    
658    
659    <target name="jnidemo" depends="init, configure-compiler, configure-cpp">    <!-- jsr166x -->
660    
661      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xcompile"
662              depends="configure-compiler"
663              description="Compiles jsr166x sources to build dir">
664    
665      <javac srcdir="${test.src.dir}"      <mkdir dir="${build.jsr166x.dir}"/>
666            destdir="${build.testcases.dir}"  
667              debug="${build.debug}"      <javac srcdir="${topsrc.dir}"
668         debuglevel="${build.debuglevel}"             destdir="${build.jsr166x.dir}"
669        deprecation="${build.deprecation}"             debug="${build.debug}"
670             source="${build.sourcelevel}"             debuglevel="${build.debuglevel}"
671               fork="true">             deprecation="${build.deprecation}"
672        <compilerarg value="${bootclasspath.args}"/>             classpath=""
673               source="5"
674               bootclasspath="${bootclasspath6}"
675               includeAntRuntime="false"
676               includeJavaRuntime="false"
677               executable="${javac7}"
678               fork="true">
679    
680          <include name="jsr166x/**/*.java"/>
681        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
682        <classpath refid="test.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
683        <include name="JniDemo.java"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
     </javac>  
684    
685      <javah destdir="${build.testcases.dir}"      </javac>
       classpathref="test.classpath">  
       <class name="JniDemo"/>  
     </javah>  
   
     <cc multithreaded="true"  
                  name="g++"  
                objdir="${build.dir}"  
               outfile="${build.dir}/JniDemo"  
               outtype="shared">  
   
       <compiler>  
         <defineset>  
           <define name="__int64" value="long long"/>  
         </defineset>  
         <includepath location="${java.home}/../include"/>  
         <includepath location="${java.home}/../include/${platform}"/>  
         <compilerarg value="-mno-cygwin"/>  
       </compiler>  
   
       <linker>  
         <linkerarg value="--add-stdcall-alias"/>  
       </linker>  
   
       <includepath location="${build.testcases.dir}"/>  
   
       <fileset dir="${test.src.dir}" includes="JniDemo.cpp"/>  
   
       <libset libs="stdc++"/>  
   
     </cc>  
   
     <!-- Necessary if windows, harmless if not -->  
     <copy file="${build.dir}/libJniDemo.so" tofile="${build.dir}/JniDemo.dll"/>  
   
     <java classname="JniDemo" fork="true">  
       <!-- Watch out: path separator hardwired to semicolon here! -->  
       <sysproperty key="java.library.path" path="${java.library.path};${build.dir}"/>  
       <classpath refid="test.classpath"/>  
       <arg line="count in word frequency of word in command line count"/>  
     </java>  
686    
687    </target>    </target>
688    
689    
690    
691    <!-- Backward compatibility, work in progress (some files not checked in) -->    <target name="jsr166xjar"
692              depends="jsr166xcompile"
693              description="Builds library jar from compiled sources">
694    
695        <jar destfile="${jsr166x.jar}">
696          <fileset dir="${build.jsr166x.dir}"/>
697        </jar>
698    
699      </target>
700    
701    
   <property name="pretiger.src.dir"     location="${build.dir}/pretiger/src"/>  
   <property name="build.pretiger.dir"   location="${build.dir}/pretiger/classes"/>  
   <property name="pretiger.jar"         location="${build.lib.dir}/jsr166-pretiger.jar"/>  
   <property name="pretiger.sourcelevel" value="1.4"/>  
702    
703    <target name="defang"    <target name="jsr166xdocs"
704         depends="init"            description="Builds javadocs to dist dir">
    description="Generates pre-Tiger compatible source">  
705    
706      <delete dir="${pretiger.src.dir}"/>      <delete dir="${dist.jsr166xjavadocs.dir}"/>
707      <mkdir dir="${pretiger.src.dir}"/>      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
708    
709      <exec executable="perl">      <javadoc destdir="${dist.jsr166xjavadocs.dir}"
710        <arg file="etc/defang.pl"/>               packagenames="jsr166x.*"
711        <!-- <arg value="-v"/> -->               link="${jdkapidocs.url}"
712        <arg value="-s"/> <arg file="${src.dir}"/>               source="5"
713        <arg value="-t"/> <arg file="${pretiger.src.dir}"/>               bootclasspath="${bootclasspath6}"
714      </exec>               sourcepath="${topsrc.dir}:${jdk6src.dir}"
715                 executable="${javadoc7}"
716                 additionalparam="-XDignore.symbol.file=true" />
717    
718    </target>    </target>
719    
   <target name="compile-pretiger"  
           depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
720    
721      <mkdir dir="${build.pretiger.dir}"/>    <target name="jsr166xdist"
722              depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdocs"
723              description="Puts all distributable products in single hierarchy"/>
724    
     <javac srcdir="${pretiger.src.dir}"  
           destdir="${build.pretiger.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${pretiger.sourcelevel}"  
              fork="true">  
725    
       <compilerarg line="${build.args}"/>  
       <exclude name="**/Thread.java"/>  
726    
727      </javac>    <target name="jsr166xclean"
728              description="Removes all jsr166x build products">
729    
730        <delete dir="${build.jsr166x.dir}"/>
731    
732    </target>    </target>
733    
   <target name="pretiger" depends="compile-pretiger">  
734    
     <mkdir dir="${build.lib.dir}"/>  
735    
736      <jar destfile="${pretiger.jar}">    <target name="jsr166xdist-clean"
737        <fileset dir="${build.pretiger.dir}">            description="Removes all build and distribution products">
       </fileset>  
     </jar>  
738    
739    </target>    </target>
740    
   <!-- jsr166x -->  
741    
742      <target name="jsr166xdist-jar"
743              depends="jsr166xclean, jsr166xjar">
744    
745    <target name="jsr166xcompile"      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
           depends="init, configure-compiler"  
           description="Compiles jsr166x sources">  
746    
747      <mkdir dir="${build.jsr166x.dir}"/>    </target>
748    
749      <javac srcdir="${jsr166xsrc.dir}"    <!-- jsr166y -->
           destdir="${build.jsr166x.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
750    
       <include name="**/*.java"/>  
       <compilerarg line="${build.args}"/>  
751    
752      <target name="jsr166ycompile"
753              depends="configure-compiler"
754              description="Compiles jsr166y sources">
755    
756        <mkdir dir="${build.jsr166y.dir}"/>
757    
758        <javac srcdir="${topsrc.dir}"
759               destdir="${build.jsr166y.dir}"
760               debug="${build.debug}"
761               debuglevel="${build.debuglevel}"
762               deprecation="${build.deprecation}"
763               source="6"
764               classpath=""
765               bootclasspath="${bootclasspath6}"
766               includeAntRuntime="false"
767               includeJavaRuntime="false"
768               executable="${javac7}"
769               fork="true">
770    
771          <include name="jsr166y/**/*.java"/>
772          <compilerarg line="${build.args}"/>
773          <compilerarg value="-XDignore.symbol.file=true"/>
774          <compilerarg value="-Xlint:all"/>
775      </javac>      </javac>
776      </target>
777    
778    
779      <target name="jsr166yjar"
780              depends="jsr166ycompile"
781              description="Builds library jar from compiled sources">
782    
783        <jar destfile="${jsr166y.jar}" index="true">
784          <fileset dir="${build.jsr166y.dir}"/>
785        </jar>
786    
787    </target>    </target>
788    
789    
790    
791    <target name="jsr166xjar"    <target name="jsr166ydocs"
792            depends="jsr166xcompile"            description="Builds javadocs to dist dir">
           description="Builds library jar from compiled sources">  
793    
794      <mkdir dir="${build.jsr166xlib.dir}"/>      <delete dir="${dist.jsr166yjavadocs.dir}"/>
795        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
796    
797      <jar destfile="${jsr166xproduct.jar}">      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
798        <fileset dir="${build.jsr166x.dir}"/>               packagenames="jsr166y.*"
799      </jar>               link="${jdkapidocs.url}"
800                 source="6"
801                 bootclasspath="${bootclasspath6}"
802                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
803                 executable="${javadoc7}"
804                 additionalparam="-XDignore.symbol.file=true" />
805    
806    </target>    </target>
807    
808    
809      <target name="jsr166ydist"
810              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydocs"
811              description="Puts all distributable products in single hierarchy"/>
812    
   <target name="jsr166xdocs"  
           description="Builds javadocs with custom tags to build folder">  
813    
     <delete dir="${build.jsr166xjavadocs.dir}"/>  
     <mkdir dir="${build.jsr166xjavadocs.dir}"/>  
814    
815      <javadoc destdir="${build.jsr166xjavadocs.dir}"    <target name="jsr166yclean"
816               link="http://java.sun.com/javase/6/docs/api/"            description="Removes all jsr166y build products">
817    
818              sourcepath="${jsr166xsrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"      <delete dir="${build.jsr166y.dir}"/>
819    
820      >    </target>
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
821    
822    
823      </javadoc>  
824      <target name="jsr166ydist-clean"
825              description="Removes all build and distribution products">
826    
827    </target>    </target>
828    
829      <target name="jsr166ydist-jar"
830              depends="jsr166yclean, jsr166yjar">
831    
832    <target name="jsr166xdist"      <copy file="${jsr166y.jar}" todir="${dist.dir}"/>
           depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"  
           description="Puts all distributable products in single hierarchy"/>  
833    
834      </target>
835    
836    
837    <target name="jsr166xclean"    <!-- extra166y -->
           description="Removes all build products">  
838    
839      <delete dir="${build.jsr166x.dir}"/>  
840      <delete dir="${build.jsr166xlib.dir}"/>    <target name="extra166ycompile"
841              depends="configure-compiler, jsr166yjar"
842              description="Compiles extra166y sources">
843    
844        <mkdir dir="${build.extra166y.dir}"/>
845    
846        <javac srcdir="${topsrc.dir}"
847               destdir="${build.extra166y.dir}"
848               debug="${build.debug}"
849               debuglevel="${build.debuglevel}"
850               deprecation="${build.deprecation}"
851               classpath=""
852               source="6"
853               bootclasspath="${jsr166y.jar}:${bootclasspath6}"
854               includeAntRuntime="false"
855               includeJavaRuntime="false"
856               executable="${javac7}"
857               fork="true">
858    
859          <include name="extra166y/**/*.java"/>
860          <compilerarg line="${build.args}"/>
861          <compilerarg value="-XDignore.symbol.file=true"/>
862          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
863    
864        </javac>
865    
866    </target>    </target>
867    
868    
869    
870    <target name="jsr166xdist-clean"    <target name="extra166yjar"
871            description="Removes all build and distribution products">            depends="extra166ycompile"
872              description="Builds library jar from compiled sources">
873    
874        <jar destfile="${extra166y.jar}" index="true">
875          <fileset dir="${build.extra166y.dir}"/>
876        </jar>
877    
878    </target>    </target>
879    
880    
881    
882    <target name="jsr166xdist-docs"    <target name="extra166ydocs"
883            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs to build dir">
884    
885      <delete dir="${dist.jsr166xjavadocs.dir}"/>      <delete dir="${dist.extra166yjavadocs.dir}"/>
886      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>      <mkdir dir="${dist.extra166yjavadocs.dir}"/>
887    
888      <javadoc destdir="${dist.jsr166xjavadocs.dir}"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
889                  link="http://java.sun.com/javase/6/docs/api/"               packagenames="extra166y.*"
890                source="${build.sourcelevel}">               link="${jdkapidocs.url}"
891                 source="6"
892                 bootclasspath="${bootclasspath6}"
893                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
894                 executable="${javadoc7}"
895                 additionalparam="-XDignore.symbol.file=true" />
896    
897        <packageset dir="${topsrc.dir}" defaultexcludes="yes">    </target>
       <include name="jsr166x"/>  
       </packageset>  
898    
899      </javadoc>  
900      <target name="extra166ydist"
901              depends="extra166ydist-clean, extra166ydist-jar, extra166ydocs"
902              description="Puts all distributable products in single hierarchy"/>
903    
904    
905    
906      <target name="extra166yclean"
907              description="Removes all extra166y build products">
908    
909        <delete dir="${build.extra166y.dir}"/>
910    
911    </target>    </target>
912    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
913    
914      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>  
915      <target name="extra166ydist-clean"
916              description="Removes all build and distribution products">
917    
918    </target>    </target>
919    
920    <!-- jsr166y -->    <target name="extra166ydist-jar"
921              depends="extra166yclean, extra166yjar">
922    
923        <copy file="${extra166y.jar}" todir="${dist.dir}"/>
924    
925    <target name="jsr166ycompile"    </target>
           depends="init, configure-compiler"  
           description="Compiles jsr166y sources">  
926    
927      <mkdir dir="${build.jsr166y.dir}"/>    <!-- jsr166e -->
928    
929      <javac srcdir="${jsr166ysrc.dir}"    <target name="jsr166ecompile"
930            destdir="${build.jsr166y.dir}"            depends="configure-compiler"
931              debug="${build.debug}"            description="Compiles jsr166e sources">
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
932    
933        <include name="**/*.java"/>      <mkdir dir="${build.jsr166e.dir}"/>
934        <compilerarg line="${build.args}"/>  
935        <compilerarg value="${bootclasspath.args}"/>      <javac srcdir="${topsrc.dir}"
936               destdir="${build.jsr166e.dir}"
937               debug="${build.debug}"
938               debuglevel="${build.debuglevel}"
939               deprecation="${build.deprecation}"
940               source="7"
941               classpath=""
942               includeAntRuntime="false"
943               includeJavaRuntime="false"
944               executable="${javac7}"
945               fork="true">
946    
947  <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->        <include name="jsr166e/**/*.java"/>
948          <compilerarg line="${build.args}"/>
949          <compilerarg value="-XDignore.symbol.file=true"/>
950          <compilerarg value="-Xlint:all"/>
951    
952      </javac>      </javac>
953    
# Line 1122  Line 955 
955    
956    
957    
958    <target name="jsr166yjar"    <target name="jsr166ejar"
959            depends="jsr166ycompile"            depends="jsr166ecompile"
960            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
961    
962      <mkdir dir="${build.jsr166ylib.dir}"/>      <jar destfile="${jsr166e.jar}" index="true">
963          <fileset dir="${build.jsr166e.dir}"/>
     <jar destfile="${jsr166yproduct.jar}">  
       <fileset dir="${build.jsr166y.dir}"/>  
964      </jar>      </jar>
965    
966    </target>    </target>
967    
968    
969    
970    <target name="jsr166ydocs"    <target name="jsr166edocs"
971            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs to build dir">
   
     <delete dir="${build.jsr166yjavadocs.dir}"/>  
     <mkdir dir="${build.jsr166yjavadocs.dir}"/>  
   
     <javadoc destdir="${build.jsr166yjavadocs.dir}"  
                 link="http://java.sun.com/javase/6/docs/api/"  
             sourcepath="${jsr166ysrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"  
   
     >  
       <packageset dir="${topsrc.dir}" defaultexcludes="no">  
       <include name="jsr166y"/>  
       </packageset>  
972    
973        <delete dir="${dist.jsr166ejavadocs.dir}"/>
974        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
975    
976        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
977                 packagenames="jsr166e.*"
978                 link="${jdkapidocs.url}"
979                 source="7"
980                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
981                 executable="${javadoc7}"
982                 additionalparam="-XDignore.symbol.file=true" >
983      </javadoc>      </javadoc>
984    
985    </target>    </target>
986    
987    
988    <target name="jsr166ydist"    <target name="jsr166edist"
989            depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"            depends="jsr166edist-clean, jsr166edist-jar, jsr166edocs"
990            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
991    
992    
993    
994    <target name="jsr166yclean"    <target name="jsr166eclean"
995            description="Removes all build products">            description="Removes all jsr166e build products">
996    
997      <delete dir="${build.jsr166y.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
     <delete dir="${build.jsr166ylib.dir}"/>  
998    
999    </target>    </target>
1000    
1001    
1002      <target name="jsr166edist-clean"
   <target name="jsr166ydist-clean"  
1003            description="Removes all build and distribution products">            description="Removes all build and distribution products">
1004    
1005    </target>    </target>
1006    
1007    <target name="jsr166ydist-docs"    <target name="jsr166edist-jar"
1008            description="Builds javadocs without custom tags to dist folder">            depends="jsr166eclean, jsr166ejar">
   
     <delete dir="${dist.jsr166yjavadocs.dir}"/>  
     <mkdir dir="${dist.jsr166yjavadocs.dir}"/>  
   
     <javadoc destdir="${dist.jsr166yjavadocs.dir}"  
                 link="http://java.sun.com/javase/6/docs/api/"  
               source="${build.sourcelevel}">  
       <fileset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166y/*.java"/>  
       <include name="jsr166y/forkjoin/*.java"/>  
             </fileset>  
     </javadoc>  
   
   </target>  
   
   <target name="jsr166ydist-jar"  
           depends="jsr166yclean, jsr166yjar">  
1009    
1010      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1011    
1012    </target>    </target>
1013    

Legend:
Removed from v.1.74  
changed lines
  Added in v.1.113

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