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

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

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