/[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.111 by jsr166, Sun Jan 20 03:34:23 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          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
326    
327        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
328    
329      </javac>      </javac>
330    
331      <javac srcdir="${test.src.dir}"      <javac srcdir="${test.src.dir}"
332            destdir="${build.testcases.dir}"             destdir="${build.testcases.dir}"
333              debug="${build.debug}"             debug="${build.debug}"
334         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
335        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
336             source="${build.sourcelevel}"             source="6"
337               fork="true">             classpath="${junit.jar}"
338               bootclasspath="${product.jar}:${bootclasspath6}"
339               includeAntRuntime="false"
340               includeJavaRuntime="false"
341               executable="${javac8}"
342               fork="true">
343    
344        <include name="jsr166/test/**"/>        <include name="jsr166/test/**/*.java"/>
345    
       <compilerarg value="${bootclasspath.args}"/>  
346        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
347          <compilerarg value="-XDignore.symbol.file=true"/>
348          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
349    
350        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
351    
# Line 478  Line 362 
362    
363        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
364        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
365          <compilerarg value="-XDignore.symbol.file=true"/>
366    
367        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
368    
# Line 500  Line 385 
385            errorProperty="junit.failed"            errorProperty="junit.failed"
386          failureProperty="junit.failed"          failureProperty="junit.failed"
387                      dir="${build.reports.dir}"                      dir="${build.reports.dir}"
388                        jvm="${java8}"
389                     fork="true">                     fork="true">
390    
391        <jvmarg value="${bootclasspath.args}"/>        <jvmarg value="-Xbootclasspath/p:${product.jar}"/>
392        <jvmarg value="-server"/>        <jvmarg value="-server"/>
393        <jvmarg value="-showversion"/>        <jvmarg value="-showversion"/>
394    
# Line 550  Line 436 
436        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
437          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
438        </fileset>        </fileset>
439        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
440        />        />
441      </junitreport>      </junitreport>
442    
# Line 602  Line 486 
486    </target>    </target>
487    
488    
   
   <!-- 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>  
   
   
   
489    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
490    
491    
492    <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"  
493            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
494    
495      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
# Line 701  Line 504 
504    
505        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
506        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
507          <compilerarg value="-XDignore.symbol.file=true"/>
508    
509      </javac>      </javac>
510    
# Line 711  Line 515 
515    </target>    </target>
516    
517    
518    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
519    
     <mkdir dir="${build.j1.dir}"/>  
520    
521      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
522            destdir="${build.j1.dir}"            depends="configure-compiler"
523              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
524         debuglevel="${build.debuglevel}"  
525        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
526             source="${build.sourcelevel}" >  
527        <javac srcdir="${4jdk7src.dir}"
528               destdir="${build.4jdk7.classes.dir}"
529               debug="${build.debug}"
530               debuglevel="${build.debuglevel}"
531               deprecation="${build.deprecation}"
532               source="6"
533               classpath=""
534               bootclasspath="${bootclasspath6}"
535               includeAntRuntime="false"
536               includeJavaRuntime="false"
537               executable="${javac7}"
538               fork="true">
539    
540        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/dijkstra/**"/>  
   
541        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
542        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
543          <compilerarg value="-Xlint:all"/>
544    
545      </javac>      </javac>
546    
547    </target>      <jar destfile="${4jdk7product.jar}" index="true">
548          <fileset dir="${build.4jdk7.classes.dir}"/>
549        </jar>
550    
551    <target name="sw" depends="compile-j1"      <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
           description="Runs the SwingWorker demo">  
552    
553      <!--      <javac srcdir="${tck.src.dir}"
554      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">             destdir="${build.4jdk7.tck.classes.dir}"
555        <classpath refid="j1.classpath"/>             debug="${build.debug}"
556      </java>             debuglevel="${build.debuglevel}"
557      -->             deprecation="${build.deprecation}"
558               source="6"
559               classpath="${junit.jar}"
560               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
561               includeAntRuntime="false"
562               includeJavaRuntime="false"
563               executable="${javac7}"
564               fork="true">
565    
566      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>        <include name="**/*.java"/>
567          <compilerarg line="${build.args}"/>
568          <compilerarg value="-XDignore.symbol.file=true"/>
569          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
570    
571      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      </javac>
       <arg value="${build.j1.dir}/SwingWorker.html"/>  
     </exec>  
572    
573    </target>    </target>
574    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
575    
576      <java classname="${j1.test}" fork="true">    <target name="4jdk7-test-tck"
577        <classpath refid="j1.classpath"/>            depends="4jdk7compile"
578        <jvmarg value="-client"/>            description="Runs tck tests for jsr166-4jdk7 directly">
579        <run-tck-tests
580          jvm="${java7}"
581          tck.classes="${build.4jdk7.tck.classes.dir}"
582          product.jar="${4jdk7product.jar}"/>
583      </target>
584    
       <!-- TestPseudoRandom args -->  
       <arg value="2"/>  
       <arg value="25"/>  
       <arg value="100000"/>  
585    
586        <!-- WebCrawler args -->    <target name="4jdk7-test-tck-junit"
587        <!--            depends="4jdk7compile"
588        <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"/>  
       -->  
589    
590      </java>      <junit printsummary="true"
591               showoutput="true"
592               errorProperty="junit.failed"
593               failureProperty="junit.failed"
594               includeantruntime="true"
595               jvm="${java7}"
596               fork="true">
597    
598    </target>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
599          <jvmarg value="-server"/>
600    
601          <classpath>
602            <pathelement location="${junit.jar}"/>
603            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
604          </classpath>
605    
606    <target name="test-j1" depends="compile-j1"        <formatter type="brief"/>
           description="Runs testcases from the JavaOne source directories">  
607    
608      <junit printsummary="true"        <test name="JSR166TestCase" haltonfailure="no">
609               showoutput="true"        </test>
           errorProperty="junit.failed"  
         failureProperty="junit.failed"  
                     dir="${build.j1.dir}"  
                    fork="true">  
610    
611        <!-- <jvmarg value="-server"/> -->      </junit>
612        <classpath refid="j1.classpath"/>    </target>
       <formatter type="xml"/>  
613    
       <batchtest todir="${build.j1.dir}">  
         <fileset dir="${j1.src.dir}">  
           <include name="**/*Test.java"/>  
         </fileset>  
       </batchtest>  
614    
615      </junit>    <target name="4jdk7docs"
616              description="Builds javadocs for src/jdk7 to dist dir">
617    
618      <available property="junit.report.format"      <delete dir="${dist.4jdk7.docs.dir}"/>
619                    value="frames"      <mkdir dir="${dist.4jdk7.docs.dir}"/>
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
620    
621      <junitreport todir="${build.j1.dir}">      <javadoc destdir="${dist.4jdk7.docs.dir}"
622        <fileset dir="${build.j1.dir}">               packagenames="none"
623          <include name="TEST-*.xml"/>               link="${jdkapi7docs.url}"
624                 overview="${4jdk7src.dir}/intro.html"
625                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
626                 classpath=""
627                 executable="${javadoc7}">
628          <arg value="-XDignore.symbol.file=true"/>
629          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
630            <include name="**/*.java"/>
631        </fileset>        </fileset>
632        <report styledir="${stylesheet.dir}"      </javadoc>
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
   
     <fail message="Test Cases Failed" if="junit.failed"/>  
633    
634    </target>    </target>
635    
636    
637      <target name="4jdk7dist"
638              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
639              description="Puts all distributable products in single hierarchy"/>
640    
   <!-- C++ and JNI definitions and demos -->  
   
   <target name="configure-cpp">  
   
     <!-- Define tasks and types -->  
641    
     <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"/>  
642    
643      <!-- Set platform property for JNI includes -->    <target name="4jdk7clean"
644              description="Removes all 4jdk7 build products">
645    
646      <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>  
647    
648    </target>    </target>
649    
650    
   <target name="cppdemo" depends="configure-cpp">  
651    
652      <mkdir dir="${build.dir}"/>    <target name="4jdk7dist-clean"
653              description="Removes all build and distribution products">
654    
655      </target>
656    
657      <cc multithreaded="true"    <target name="4jdk7dist-jar"
658                   name="g++"            depends="4jdk7clean, 4jdk7compile">
                objdir="${build.dir}"  
               outfile="${build.dir}/CppDemo">  
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
659    
660      <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>  
661    
662    </target>    </target>
663    
664    
665    <target name="jnidemo" depends="init, configure-compiler, configure-cpp">    <!-- jsr166x -->
666    
667      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xcompile"
668              depends="configure-compiler"
669              description="Compiles jsr166x sources to build dir">
670    
671      <javac srcdir="${test.src.dir}"      <mkdir dir="${build.jsr166x.dir}"/>
672            destdir="${build.testcases.dir}"  
673              debug="${build.debug}"      <javac srcdir="${topsrc.dir}"
674         debuglevel="${build.debuglevel}"             destdir="${build.jsr166x.dir}"
675        deprecation="${build.deprecation}"             debug="${build.debug}"
676             source="${build.sourcelevel}"             debuglevel="${build.debuglevel}"
677               fork="true">             deprecation="${build.deprecation}"
678        <compilerarg value="${bootclasspath.args}"/>             classpath=""
679               source="5"
680               bootclasspath="${bootclasspath6}"
681               includeAntRuntime="false"
682               includeJavaRuntime="false"
683               executable="${javac7}"
684               fork="true">
685    
686          <include name="jsr166x/**/*.java"/>
687        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
688        <classpath refid="test.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
689        <include name="JniDemo.java"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
     </javac>  
690    
691      <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>  
692    
693    </target>    </target>
694    
695    
696    
697    <!-- Backward compatibility, work in progress (some files not checked in) -->    <target name="jsr166xjar"
698              depends="jsr166xcompile"
699              description="Builds library jar from compiled sources">
700    
701        <jar destfile="${jsr166x.jar}">
702          <fileset dir="${build.jsr166x.dir}"/>
703        </jar>
704    
705      </target>
706    
   <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"/>  
707    
   <target name="defang"  
        depends="init"  
    description="Generates pre-Tiger compatible source">  
708    
709      <delete dir="${pretiger.src.dir}"/>    <target name="jsr166xdocs"
710      <mkdir dir="${pretiger.src.dir}"/>            description="Builds javadocs to dist dir">
711    
712        <delete dir="${dist.jsr166xjavadocs.dir}"/>
713        <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
714    
715      <exec executable="perl">      <javadoc destdir="${dist.jsr166xjavadocs.dir}"
716        <arg file="etc/defang.pl"/>               packagenames="jsr166x.*"
717        <!-- <arg value="-v"/> -->               link="${jdkapidocs.url}"
718        <arg value="-s"/> <arg file="${src.dir}"/>               source="5"
719        <arg value="-t"/> <arg file="${pretiger.src.dir}"/>               bootclasspath="${bootclasspath6}"
720      </exec>               sourcepath="${topsrc.dir}:${jdk6src.dir}"
721                 executable="${javadoc7}"
722                 additionalparam="-XDignore.symbol.file=true" />
723    
724    </target>    </target>
725    
   <target name="compile-pretiger"  
           depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
726    
727      <mkdir dir="${build.pretiger.dir}"/>    <target name="jsr166xdist"
728              depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdocs"
729              description="Puts all distributable products in single hierarchy"/>
730    
     <javac srcdir="${pretiger.src.dir}"  
           destdir="${build.pretiger.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${pretiger.sourcelevel}"  
              fork="true">  
731    
       <compilerarg line="${build.args}"/>  
       <exclude name="**/Thread.java"/>  
732    
733      </javac>    <target name="jsr166xclean"
734              description="Removes all jsr166x build products">
735    
736        <delete dir="${build.jsr166x.dir}"/>
737    
738    </target>    </target>
739    
   <target name="pretiger" depends="compile-pretiger">  
740    
     <mkdir dir="${build.lib.dir}"/>  
741    
742      <jar destfile="${pretiger.jar}">    <target name="jsr166xdist-clean"
743        <fileset dir="${build.pretiger.dir}">            description="Removes all build and distribution products">
       </fileset>  
     </jar>  
744    
745    </target>    </target>
746    
   <!-- jsr166x -->  
747    
748      <target name="jsr166xdist-jar"
749              depends="jsr166xclean, jsr166xjar">
750    
751    <target name="jsr166xcompile"      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
           depends="init, configure-compiler"  
           description="Compiles jsr166x sources">  
752    
753      <mkdir dir="${build.jsr166x.dir}"/>    </target>
754    
755      <javac srcdir="${jsr166xsrc.dir}"    <!-- jsr166y -->
           destdir="${build.jsr166x.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
756    
       <include name="**/*.java"/>  
       <compilerarg line="${build.args}"/>  
757    
758      <target name="jsr166ycompile"
759              depends="configure-compiler"
760              description="Compiles jsr166y sources">
761    
762        <mkdir dir="${build.jsr166y.dir}"/>
763    
764        <javac srcdir="${topsrc.dir}"
765               destdir="${build.jsr166y.dir}"
766               debug="${build.debug}"
767               debuglevel="${build.debuglevel}"
768               deprecation="${build.deprecation}"
769               source="6"
770               classpath=""
771               bootclasspath="${bootclasspath6}"
772               includeAntRuntime="false"
773               includeJavaRuntime="false"
774               executable="${javac7}"
775               fork="true">
776    
777          <include name="jsr166y/**/*.java"/>
778          <compilerarg line="${build.args}"/>
779          <compilerarg value="-XDignore.symbol.file=true"/>
780          <compilerarg value="-Xlint:all"/>
781      </javac>      </javac>
782      </target>
783    
784    
785      <target name="jsr166yjar"
786              depends="jsr166ycompile"
787              description="Builds library jar from compiled sources">
788    
789        <jar destfile="${jsr166y.jar}" index="true">
790          <fileset dir="${build.jsr166y.dir}"/>
791        </jar>
792    
793    </target>    </target>
794    
795    
796    
797    <target name="jsr166xjar"    <target name="jsr166ydocs"
798            depends="jsr166xcompile"            description="Builds javadocs to dist dir">
           description="Builds library jar from compiled sources">  
799    
800      <mkdir dir="${build.jsr166xlib.dir}"/>      <delete dir="${dist.jsr166yjavadocs.dir}"/>
801        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
802    
803      <jar destfile="${jsr166xproduct.jar}">      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
804        <fileset dir="${build.jsr166x.dir}"/>               packagenames="jsr166y.*"
805      </jar>               link="${jdkapidocs.url}"
806                 source="6"
807                 bootclasspath="${bootclasspath6}"
808                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
809                 executable="${javadoc7}"
810                 additionalparam="-XDignore.symbol.file=true" />
811    
812    </target>    </target>
813    
814    
815      <target name="jsr166ydist"
816              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydocs"
817              description="Puts all distributable products in single hierarchy"/>
818    
   <target name="jsr166xdocs"  
           description="Builds javadocs with custom tags to build folder">  
819    
     <delete dir="${build.jsr166xjavadocs.dir}"/>  
     <mkdir dir="${build.jsr166xjavadocs.dir}"/>  
820    
821      <javadoc destdir="${build.jsr166xjavadocs.dir}"    <target name="jsr166yclean"
822               link="http://java.sun.com/javase/6/docs/api/"            description="Removes all jsr166y build products">
823    
824              sourcepath="${jsr166xsrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"      <delete dir="${build.jsr166y.dir}"/>
825    
826      >    </target>
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
827    
828    
829      </javadoc>  
830      <target name="jsr166ydist-clean"
831              description="Removes all build and distribution products">
832    
833    </target>    </target>
834    
835      <target name="jsr166ydist-jar"
836              depends="jsr166yclean, jsr166yjar">
837    
838    <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"/>  
839    
840      </target>
841    
842    
843    <target name="jsr166xclean"    <!-- extra166y -->
           description="Removes all build products">  
844    
845      <delete dir="${build.jsr166x.dir}"/>  
846      <delete dir="${build.jsr166xlib.dir}"/>    <target name="extra166ycompile"
847              depends="configure-compiler, jsr166yjar"
848              description="Compiles extra166y sources">
849    
850        <mkdir dir="${build.extra166y.dir}"/>
851    
852        <javac srcdir="${topsrc.dir}"
853               destdir="${build.extra166y.dir}"
854               debug="${build.debug}"
855               debuglevel="${build.debuglevel}"
856               deprecation="${build.deprecation}"
857               classpath=""
858               source="6"
859               bootclasspath="${jsr166y.jar}:${bootclasspath6}"
860               includeAntRuntime="false"
861               includeJavaRuntime="false"
862               executable="${javac7}"
863               fork="true">
864    
865          <include name="extra166y/**/*.java"/>
866          <compilerarg line="${build.args}"/>
867          <compilerarg value="-XDignore.symbol.file=true"/>
868          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
869    
870        </javac>
871    
872    </target>    </target>
873    
874    
875    
876    <target name="jsr166xdist-clean"    <target name="extra166yjar"
877            description="Removes all build and distribution products">            depends="extra166ycompile"
878              description="Builds library jar from compiled sources">
879    
880        <jar destfile="${extra166y.jar}" index="true">
881          <fileset dir="${build.extra166y.dir}"/>
882        </jar>
883    
884    </target>    </target>
885    
886    
887    
888    <target name="jsr166xdist-docs"    <target name="extra166ydocs"
889            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs to build dir">
890    
891      <delete dir="${dist.jsr166xjavadocs.dir}"/>      <delete dir="${dist.extra166yjavadocs.dir}"/>
892      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>      <mkdir dir="${dist.extra166yjavadocs.dir}"/>
893    
894      <javadoc destdir="${dist.jsr166xjavadocs.dir}"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
895                  link="http://java.sun.com/javase/6/docs/api/"               packagenames="extra166y.*"
896                source="${build.sourcelevel}">               link="${jdkapidocs.url}"
897                 source="6"
898                 bootclasspath="${bootclasspath6}"
899                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
900                 executable="${javadoc7}"
901                 additionalparam="-XDignore.symbol.file=true" />
902    
903        <packageset dir="${topsrc.dir}" defaultexcludes="yes">    </target>
       <include name="jsr166x"/>  
       </packageset>  
904    
905      </javadoc>  
906      <target name="extra166ydist"
907              depends="extra166ydist-clean, extra166ydist-jar, extra166ydocs"
908              description="Puts all distributable products in single hierarchy"/>
909    
910    
911    
912      <target name="extra166yclean"
913              description="Removes all extra166y build products">
914    
915        <delete dir="${build.extra166y.dir}"/>
916    
917    </target>    </target>
918    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
919    
920      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>  
921      <target name="extra166ydist-clean"
922              description="Removes all build and distribution products">
923    
924    </target>    </target>
925    
926    <!-- jsr166y -->    <target name="extra166ydist-jar"
927              depends="extra166yclean, extra166yjar">
928    
929        <copy file="${extra166y.jar}" todir="${dist.dir}"/>
930    
931    <target name="jsr166ycompile"    </target>
           depends="init, configure-compiler"  
           description="Compiles jsr166y sources">  
932    
933      <mkdir dir="${build.jsr166y.dir}"/>    <!-- jsr166e -->
934    
935      <javac srcdir="${jsr166ysrc.dir}"    <target name="jsr166ecompile"
936            destdir="${build.jsr166y.dir}"            depends="configure-compiler"
937              debug="${build.debug}"            description="Compiles jsr166e sources">
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
938    
939        <include name="**/*.java"/>      <mkdir dir="${build.jsr166e.dir}"/>
       <compilerarg line="${build.args}"/>  
       <compilerarg value="${bootclasspath.args}"/>  
940    
941  <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->      <javac srcdir="${topsrc.dir}"
942               destdir="${build.jsr166e.dir}"
943               debug="${build.debug}"
944               debuglevel="${build.debuglevel}"
945               deprecation="${build.deprecation}"
946               source="7"
947               classpath=""
948               includeAntRuntime="false"
949               includeJavaRuntime="false"
950               executable="${javac7}"
951               fork="true">
952    
953          <include name="jsr166e/**/*.java"/>
954          <compilerarg line="${build.args}"/>
955          <compilerarg value="-XDignore.symbol.file=true"/>
956          <compilerarg value="-Xlint:all"/>
957    
958      </javac>      </javac>
959    
# Line 1122  Line 961 
961    
962    
963    
964    <target name="jsr166yjar"    <target name="jsr166ejar"
965            depends="jsr166ycompile"            depends="jsr166ecompile"
966            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
967    
968      <mkdir dir="${build.jsr166ylib.dir}"/>      <jar destfile="${jsr166e.jar}" index="true">
969          <fileset dir="${build.jsr166e.dir}"/>
     <jar destfile="${jsr166yproduct.jar}">  
       <fileset dir="${build.jsr166y.dir}"/>  
970      </jar>      </jar>
971    
972    </target>    </target>
973    
974    
975    
976    <target name="jsr166ydocs"    <target name="jsr166edocs"
977            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>  
978    
979        <delete dir="${dist.jsr166ejavadocs.dir}"/>
980        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
981    
982        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
983                 packagenames="jsr166e.*"
984                 link="${jdkapidocs.url}"
985                 source="7"
986                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
987                 executable="${javadoc7}"
988                 additionalparam="-XDignore.symbol.file=true" >
989      </javadoc>      </javadoc>
990    
991    </target>    </target>
992    
993    
994    <target name="jsr166ydist"    <target name="jsr166edist"
995            depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"            depends="jsr166edist-clean, jsr166edist-jar, jsr166edocs"
996            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
997    
998    
999    
1000    <target name="jsr166yclean"    <target name="jsr166eclean"
1001            description="Removes all build products">            description="Removes all jsr166e build products">
1002    
1003      <delete dir="${build.jsr166y.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
     <delete dir="${build.jsr166ylib.dir}"/>  
1004    
1005    </target>    </target>
1006    
1007    
1008      <target name="jsr166edist-clean"
   <target name="jsr166ydist-clean"  
1009            description="Removes all build and distribution products">            description="Removes all build and distribution products">
1010    
1011    </target>    </target>
1012    
1013    <target name="jsr166ydist-docs"    <target name="jsr166edist-jar"
1014            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">  
1015    
1016      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1017    
1018    </target>    </target>
1019    

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

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