/[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.115 by jsr166, Sun Jan 20 06:11:07 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="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      <property name="build.jsr166x.classes.dir"    location="${build.jsr166x.dir}/classes"/>
61    <property name="build.jsr166y.dir"    location="${build.dir}/jsr166y"/>    <property name="build.jsr166y.classes.dir"    location="${build.jsr166y.dir}/classes"/>
62    <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>    <property name="build.jsr166e.classes.dir"    location="${build.jsr166e.dir}/classes"/>
63    <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>    <property name="build.extra166y.classes.dir"  location="${build.extra166y.dir}/classes"/>
64    
65      <!-- JDK binary locations -->
66      <property name="jdks.home"  location="${user.home}/jdk"/>
67    
68      <macrodef name="defjdklocations">
69        <attribute name="v"/>
70        <sequential>
71        <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
72        <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
73        <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
74        <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
75        <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
76        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
77        <property name="bootclasspath@{v}"
78         value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
79        </sequential>
80      </macrodef>
81    
82      <defjdklocations v="6"/>
83      <defjdklocations v="7"/>
84      <defjdklocations v="8"/>
85    
86      <macrodef name="run-tck-tests">
87        <attribute name="jvm"/>
88        <attribute name="tck.classes"/>
89        <attribute name="product.jar" default="${product.jar}"/>
90        <attribute name="jvmflags" default=""/>
91        <sequential>
92        <java classname="JSR166TestCase"
93              jvm="@{jvm}" fork="true">
94            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
95            <jvmarg line="@{jvmflags}"/>
96            <classpath>
97              <pathelement location="${junit.jar}"/>
98              <pathelement location="@{tck.classes}"/>
99            </classpath>
100        </java>
101        </sequential>
102      </macrodef>
103    
104    <!-- Source locations -->    <!-- Source locations -->
105    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
106    <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"/>  
107    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
108    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
109    <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"/>  
110    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
111    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
112    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
113    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
114    <property name="jsr166ysrc.dir"       location="${basedir}/src/jsr166y"/>    <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
115      <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
116      <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
117      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
118    
119    <!-- Distribution locations -->    <!-- Distribution locations -->
120    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"          location="${dist.dir}/jsr166.docs"/>
121    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.4jdk7.docs.dir"        location="${dist.dir}/jsr166-4jdk7.docs"/>
122    <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>    <property name="dist.jsr166xjavadocs.dir"   location="${dist.dir}/jsr166x.docs"/>
123      <property name="dist.jsr166yjavadocs.dir"   location="${dist.dir}/jsr166y.docs"/>
124      <property name="dist.jsr166ejavadocs.dir"   location="${dist.dir}/jsr166e.docs"/>
125      <property name="dist.extra166yjavadocs.dir" location="${dist.dir}/extra166y.docs"/>
126    
127    <!-- Jar locations -->    <!-- Jar locations -->
128    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"      location="${build.dir}/jsr166.jar"/>
129    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="4jdk7product.jar" location="${build.4jdk7.dir}/jsr166-4jdk7.jar"/>
130    <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>    <property name="jsr166x.jar"      location="${build.jsr166x.dir}/jsr166x.jar"/>
131    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="jsr166y.jar"      location="${build.jsr166y.dir}/jsr166y.jar"/>
132    <property name="concurrent.jar"       location="${lib.dir}/concurrent.jar"/>    <property name="jsr166e.jar"      location="${build.jsr166e.dir}/jsr166e.jar"/>
133      <property name="extra166y.jar"    location="${build.extra166y.dir}/extra166y.jar"/>
134      <property name="junit.jar"        location="${lib.dir}/junit.jar"/>
135    
136    <!-- Bootclasspath argument -->    <!-- Bootclasspath argument -->
137    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
138    
139      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
140      <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
141      <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
142      <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
143    
144      <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
145      <!-- The below does not yet exist as of 2012-11 -->
146      <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
147    
148      <!-- Default jdk api doc location (latest stable release seems best) -->
149      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
150    
151      <!-- Define the "jtreg" task -->
152      <!-- See the docs in "jtreg -onlineHelp" -->
153      <taskdef name="jtreg" classname="com.sun.javatest.regtest.Main$$Ant"
154               classpath="${lib.dir}/jtreg.jar" />
155    
156    <!-- Test classpath -->    <!-- Test classpath -->
157    <path id="test.classpath">    <path id="test.classpath">
158      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
# Line 89  Line 164 
164      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
165    </path>    </path>
166    
167    <!-- J1 classpath -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
168    <path id="j1.classpath">    <!-- TODO: How do we get &trade to work? -->
169      <pathelement location="${build.classes.dir}"/>    <!-- TODO: Why isn't @jls a "standard" tag? -->
170      <pathelement location="${build.j1.dir}"/>    <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
171      <pathelement location="${junit.jar}"/>    <property name="javadoc.jls.cite" value="The Java Language Specification"/>
172      <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>  
   
173    
174    <!-- Main targets -->    <!-- Main targets -->
175    
176      <target name="dists"
177              depends="dist, 4jdk7dist, jsr166edist, jsr166ydist, extra166ydist, jsr166xdist"
178              description="Builds all public jars and docs"/>
179    
180    <target name="compile"    <target name="compile"
181            depends="init, configure-compiler"            depends="configure-compiler"
182            description="Compiles main sources to build folder">            description="Compiles src/main sources to build dir">
183    
184      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
185    
186      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
187            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
188              debug="${build.debug}"             debug="${build.debug}"
189         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
190        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
191             source="${build.sourcelevel}"             classpath=""
192               fork="true">             includeAntRuntime="false"
193               includeJavaRuntime="false"
194               executable="${javac8}"
195               fork="true">
196    
197        <include name="**/*.java"/>        <include name="**/*.java"/>
198        <compilerarg value="-XDignore.symbol.file"/>        <compilerarg line="${build.args}"/>
199          <compilerarg value="-XDignore.symbol.file=true"/>
200          <compilerarg value="-Xlint:all"/>
201    
202  <!--  <!--
203        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
# Line 136  Line 215 
215            depends="compile"            depends="compile"
216            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
217    
     <mkdir dir="${build.lib.dir}"/>  
   
218      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
219        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}"/>
220      </jar>      </jar>
# Line 147  Line 224 
224    
225    
226    <target name="test"    <target name="test"
227            depends="init, configure-tests, report-tests"            depends="configure-tests, report-tests"
228            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)" />
229    
230    
231    
232    <target name="docs"    <target name="docs"
233            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>  
234    
235        <delete dir="${dist.javadocs.dir}"/>
236        <mkdir dir="${dist.javadocs.dir}"/>
237    
238        <!-- the packagenames="none" hack below prevents scanning the -->
239        <!-- sourcepath for packages -->
240    
241    <target name="doccheck"      <javadoc destdir="${dist.javadocs.dir}"
242            depends="filter-doccheck"               packagenames="none"
243            description="Reports on javadoc style errors">               link="${jdkapi8docs.url}"
244                 overview="${src.dir}/intro.html"
245      <delete dir="${build.doccheck.dir}"/>               sourcepath="${src.dir}:${jdk8src.dir}"
246      <mkdir dir="${build.doccheck.dir}"/>               classpath=""
247                 executable="${javadoc8}">
248      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"        <arg value="-XDignore.symbol.file=true"/>
249           docletpath="${lib.dir}/doccheck.jar"        <arg value="-tag"/>
250              destdir="${build.doccheck.dir}">        <arg value="${javadoc.jls.option}"/>
251        <packageset dir="${build.dc-filter.dir}"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
252            <include name="**/*.java"/>
253          </fileset>
254      </javadoc>      </javadoc>
255    
     <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"/>  
   
256    </target>    </target>
257    
258    
259    
260    <target name="dist"    <target name="dist"
261            depends="init, dist-clean, dist-jar, dist-docs"            depends="dist-clean, dist-jar, docs"
262            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
263    
264    
   
265    <target name="release"    <target name="release"
266            depends="dist"            depends="dist"
267            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 286 
286            description="Removes all build products">            description="Removes all build products">
287    
288      <delete dir="${build.dir}"/>      <delete dir="${build.dir}"/>
     <delete dir="${build.classes.dir}"/>  
     <delete dir="${build.lib.dir}"/>  
289    
290    </target>    </target>
291    
# Line 260  Line 300 
300    
301    
302    
   <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>  
   
   
   
303    <!-- Internal targets -->    <!-- Internal targets -->
304    
305    
   <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>  
   
   
306    <target name="dist-jar"    <target name="dist-jar"
307            depends="clean, jar">            depends="clean, jar">
308    
# Line 319  Line 311 
311    </target>    </target>
312    
313    
   <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>  
   
   
314    <target name="compile-tests"    <target name="compile-tests"
315            depends="jar">            depends="jar">
316    
317      <mkdir dir="${build.testcases.dir}"/>      <mkdir dir="${build.testcases.dir}"/>
318    
319      <javac srcdir="${tck.src.dir}"      <javac srcdir="${tck.src.dir}"
320            destdir="${build.testcases.dir}"             destdir="${build.testcases.dir}"
321              debug="${build.debug}"             debug="${build.debug}"
322         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
323        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
324             source="${build.sourcelevel}"             source="6"
325               fork="true">             classpath="${junit.jar}"
326               bootclasspath="${product.jar}:${bootclasspath6}"
327               includeAntRuntime="false"
328               includeJavaRuntime="false"
329               executable="${javac8}"
330               fork="true">
331    
332        <compilerarg value="${bootclasspath.args}"/>        <include name="**/*.java"/>
333        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
334          <compilerarg value="-XDignore.symbol.file=true"/>
335        <classpath refid="test.classpath"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
336    
337      </javac>      </javac>
338    
339      <javac srcdir="${test.src.dir}"      <javac srcdir="${test.src.dir}"
340            destdir="${build.testcases.dir}"             destdir="${build.testcases.dir}"
341              debug="${build.debug}"             debug="${build.debug}"
342         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
343        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
344             source="${build.sourcelevel}"             source="6"
345               fork="true">             classpath=""
346               bootclasspath="${product.jar}:${bootclasspath6}"
347               includeAntRuntime="false"
348               includeJavaRuntime="false"
349               executable="${javac8}"
350               fork="true">
351    
352        <include name="jsr166/test/**"/>        <include name="jsr166/test/**/*.java"/>
353    
       <compilerarg value="${bootclasspath.args}"/>  
354        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
355          <compilerarg value="-XDignore.symbol.file=true"/>
356        <classpath refid="test.classpath"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
357    
358      </javac>      </javac>
359    
# Line 478  Line 368 
368    
369        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
370        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
371          <compilerarg value="-XDignore.symbol.file=true"/>
       <classpath refid="test.classpath"/>  
372    
373      </javac>      </javac>
374  -->  -->
# Line 500  Line 389 
389            errorProperty="junit.failed"            errorProperty="junit.failed"
390          failureProperty="junit.failed"          failureProperty="junit.failed"
391                      dir="${build.reports.dir}"                      dir="${build.reports.dir}"
392                        jvm="${java8}"
393                     fork="true">                     fork="true">
394    
395        <jvmarg value="${bootclasspath.args}"/>        <jvmarg value="-Xbootclasspath/p:${product.jar}"/>
396        <jvmarg value="-server"/>        <jvmarg value="-server"/>
397        <jvmarg value="-showversion"/>        <jvmarg value="-showversion"/>
398    
# Line 550  Line 440 
440        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
441          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
442        </fileset>        </fileset>
443        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
444        />        />
445      </junitreport>      </junitreport>
446    
# Line 602  Line 490 
490    </target>    </target>
491    
492    
   
   <!-- 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>  
   
   
   
493    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
494    
495    
496    <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"  
497            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
498    
499      <mkdir dir="${build.loops.dir}"/>      <mkdir dir="${build.loops.dir}"/>
# Line 701  Line 508 
508    
509        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
510        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
511          <compilerarg value="-XDignore.symbol.file=true"/>
512    
513      </javac>      </javac>
514    
# Line 711  Line 519 
519    </target>    </target>
520    
521    
522    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
523    
     <mkdir dir="${build.j1.dir}"/>  
524    
525      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
526            destdir="${build.j1.dir}"            depends="configure-compiler"
527              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
528         debuglevel="${build.debuglevel}"  
529        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
530             source="${build.sourcelevel}" >  
531        <javac srcdir="${4jdk7src.dir}"
532               destdir="${build.4jdk7.classes.dir}"
533               debug="${build.debug}"
534               debuglevel="${build.debuglevel}"
535               deprecation="${build.deprecation}"
536               source="6"
537               classpath=""
538               bootclasspath="${bootclasspath6}"
539               includeAntRuntime="false"
540               includeJavaRuntime="false"
541               executable="${javac7}"
542               fork="true">
543    
544        <include name="**/*.java"/>        <include name="**/*.java"/>
545        <exclude name="**/dijkstra/**"/>        <compilerarg line="${build.args}"/>
546          <compilerarg value="-XDignore.symbol.file=true"/>
547          <compilerarg value="-Xlint:all"/>
548    
549        </javac>
550    
551        <jar destfile="${4jdk7product.jar}" index="true">
552          <fileset dir="${build.4jdk7.classes.dir}"/>
553        </jar>
554    
555        <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
556    
557        <javac srcdir="${tck.src.dir}"
558               destdir="${build.4jdk7.tck.classes.dir}"
559               debug="${build.debug}"
560               debuglevel="${build.debuglevel}"
561               deprecation="${build.deprecation}"
562               source="6"
563               classpath="${junit.jar}"
564               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
565               includeAntRuntime="false"
566               includeJavaRuntime="false"
567               executable="${javac7}"
568               fork="true">
569    
570          <include name="**/*.java"/>
571        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
572        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
573          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
574    
575      </javac>      </javac>
576    
577    </target>    </target>
578    
579    
580    <target name="sw" depends="compile-j1"    <target name="4jdk7-test-tck"
581            description="Runs the SwingWorker demo">            depends="4jdk7compile"
582              description="Runs tck tests for jsr166-4jdk7 directly">
583        <run-tck-tests
584          jvm="${java7}"
585          tck.classes="${build.4jdk7.tck.classes.dir}"
586          product.jar="${4jdk7product.jar}"/>
587      </target>
588    
     <!--  
     <java classname="jsr166.swing.SwingWorkerDemo" fork="true">  
       <classpath refid="j1.classpath"/>  
     </java>  
     -->  
589    
590      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>    <target name="4jdk7-test-tck-junit"
591              depends="4jdk7compile"
592              description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
593    
594      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      <junit printsummary="true"
595        <arg value="${build.j1.dir}/SwingWorker.html"/>             showoutput="true"
596      </exec>             errorProperty="junit.failed"
597               failureProperty="junit.failed"
598               includeantruntime="true"
599               jvm="${java7}"
600               fork="true">
601    
602    </target>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
603          <jvmarg value="-server"/>
604    
605    <target name="j1" depends="compile-j1"        <classpath>
606            description="Runs a standalone JavaOne program">          <pathelement location="${junit.jar}"/>
607            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
608          </classpath>
609    
610      <java classname="${j1.test}" fork="true">        <formatter type="brief"/>
       <classpath refid="j1.classpath"/>  
       <jvmarg value="-client"/>  
611    
612        <!-- TestPseudoRandom args -->        <test name="JSR166TestCase" haltonfailure="no">
613        <arg value="2"/>        </test>
       <arg value="25"/>  
       <arg value="100000"/>  
614    
615        <!-- WebCrawler args -->      </junit>
616        <!--    </target>
617        <arg value="jsr166.webcrawler.WebCrawler3"/>  
618        <arg value="http://www.priorartisans.com"/>    <target name="4jdk7-test-jtreg"
619        <arg value="25"/>            depends="4jdk7compile"
620        -->            description="Runs jtreg tests for jsr166-4jdk7 using the jtreg ant task">
621        <delete dir="${build.4jdk7.dir}/JTwork"   quiet="true"/>
622        <delete dir="${build.4jdk7.dir}/JTreport" quiet="true"/>
623        <mkdir dir="${build.4jdk7.dir}/JTwork/scratch"/>
624        <mkdir dir="${build.4jdk7.dir}/JTreport"/>
625        <jtreg dir="${jtreg.src.dir}"
626               jdk="${jdk7.home}"
627               workDir="${build.4jdk7.dir}/JTwork"
628               reportDir="${build.4jdk7.dir}/JTreport">
629    
630          <arg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
631          <arg value="-agentvm"/>
632          <arg value="-v:nopass,fail"/>
633          <arg value="-vmoptions:-esa -ea"/>
634          <arg value="-automatic"/>
635          <arg value="-k:!ignore"/>
636        </jtreg>
637      </target>
638    
     </java>  
639    
640      <target name="4jdk7-test"
641              depends="4jdk7-test-tck, 4jdk7-test-jtreg"
642              description="Runs tck and jtreg tests for jsr166-4jdk7">
643    </target>    </target>
644    
645    
646    <target name="test-j1" depends="compile-j1"    <target name="4jdk7docs"
647            description="Runs testcases from the JavaOne source directories">            description="Builds javadocs for src/jdk7 to dist dir">
648    
649        <delete dir="${dist.4jdk7.docs.dir}"/>
650        <mkdir dir="${dist.4jdk7.docs.dir}"/>
651    
652        <javadoc destdir="${dist.4jdk7.docs.dir}"
653                 packagenames="none"
654                 link="${jdkapi7docs.url}"
655                 overview="${4jdk7src.dir}/intro.html"
656                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
657                 classpath=""
658                 executable="${javadoc7}">
659          <arg value="-XDignore.symbol.file=true"/>
660          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
661            <include name="**/*.java"/>
662          </fileset>
663        </javadoc>
664    
665      <junit printsummary="true"    </target>
              showoutput="true"  
           errorProperty="junit.failed"  
         failureProperty="junit.failed"  
                     dir="${build.j1.dir}"  
                    fork="true">  
666    
       <!-- <jvmarg value="-server"/> -->  
       <classpath refid="j1.classpath"/>  
       <formatter type="xml"/>  
667    
668        <batchtest todir="${build.j1.dir}">    <target name="4jdk7dist"
669          <fileset dir="${j1.src.dir}">            depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
670            <include name="**/*Test.java"/>            description="Puts all distributable products in single hierarchy"/>
         </fileset>  
       </batchtest>  
671    
     </junit>  
672    
     <available property="junit.report.format"  
                   value="frames"  
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
673    
674      <junitreport todir="${build.j1.dir}">    <target name="4jdk7clean"
675        <fileset dir="${build.j1.dir}">            description="Removes all 4jdk7 build products">
         <include name="TEST-*.xml"/>  
       </fileset>  
       <report styledir="${stylesheet.dir}"  
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
676    
677      <fail message="Test Cases Failed" if="junit.failed"/>      <delete dir="${build.4jdk7.dir}"/>
678    
679    </target>    </target>
680    
681    
682    
683    <!-- C++ and JNI definitions and demos -->    <target name="4jdk7dist-clean"
684              description="Removes all build and distribution products">
685    
686    <target name="configure-cpp">    </target>
687    
688      <!-- Define tasks and types -->    <target name="4jdk7dist-jar"
689              depends="4jdk7clean, 4jdk7compile">
690    
691      <path id="cpptasks.path">      <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
       <pathelement location="${lib.dir}/cpptasks.jar"/>  
     </path>  
     <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>  
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
692    
693      <!-- Set platform property for JNI includes -->    </target>
694    
     <condition property="platform" value="linux">  
       <os name="Linux"/>  
     </condition>  
     <condition property="platform" value="win32">  
       <os family="windows"/>  
     </condition>  
     <condition property="platform" value="solaris">  
       <os name="SunOS"/>  
     </condition>  
695    
696    </target>    <!-- jsr166x -->
697    
698      <target name="jsr166xcompile"
699              depends="configure-compiler"
700              description="Compiles jsr166x sources to build dir">
701    
702    <target name="cppdemo" depends="configure-cpp">      <mkdir dir="${build.jsr166x.classes.dir}"/>
703    
704      <mkdir dir="${build.dir}"/>      <javac srcdir="${topsrc.dir}"
705               destdir="${build.jsr166x.classes.dir}"
706               debug="${build.debug}"
707               debuglevel="${build.debuglevel}"
708               deprecation="${build.deprecation}"
709               classpath=""
710               source="5"
711               bootclasspath="${bootclasspath6}"
712               includeAntRuntime="false"
713               includeJavaRuntime="false"
714               executable="${javac7}"
715               fork="true">
716    
717      <cc multithreaded="true"        <include name="jsr166x/**/*.java"/>
718                   name="g++"        <compilerarg line="${build.args}"/>
719                 objdir="${build.dir}"        <compilerarg value="-XDignore.symbol.file=true"/>
720                outfile="${build.dir}/CppDemo">        <compilerarg value="-Xlint:all,-unchecked,-rawtypes"/>
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
721    
722      <exec executable="${build.dir}/CppDemo">      </javac>
       <arg line="count in word frequency of word in command line count"/>  
     </exec>  
723    
724    </target>    </target>
725    
726    
   <target name="jnidemo" depends="init, configure-compiler, configure-cpp">  
727    
728      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xjar"
729              depends="jsr166xcompile"
730      <javac srcdir="${test.src.dir}"            description="Builds library jar from compiled sources">
           destdir="${build.testcases.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
       <compilerarg value="${bootclasspath.args}"/>  
       <compilerarg line="${build.args}"/>  
       <classpath refid="test.classpath"/>  
       <include name="JniDemo.java"/>  
     </javac>  
731    
732      <javah destdir="${build.testcases.dir}"      <jar destfile="${jsr166x.jar}">
733        classpathref="test.classpath">        <fileset dir="${build.jsr166x.classes.dir}"/>
734        <class name="JniDemo"/>      </jar>
     </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>  
735    
736    </target>    </target>
737    
738    
739    
740    <!-- Backward compatibility, work in progress (some files not checked in) -->    <target name="jsr166xdocs"
741              description="Builds javadocs to dist dir">
742    
743        <delete dir="${dist.jsr166xjavadocs.dir}"/>
744        <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
745    
746        <javadoc destdir="${dist.jsr166xjavadocs.dir}"
747                 packagenames="jsr166x.*"
748                 link="${jdkapidocs.url}"
749                 source="5"
750                 bootclasspath="${bootclasspath6}"
751                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
752                 executable="${javadoc7}"
753                 additionalparam="-XDignore.symbol.file=true"/>
754    
755      </target>
756    
   <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"/>  
757    
758    <target name="defang"    <target name="jsr166xdist"
759         depends="init"            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdocs"
760     description="Generates pre-Tiger compatible source">            description="Puts all distributable products in single hierarchy"/>
761    
     <delete dir="${pretiger.src.dir}"/>  
     <mkdir dir="${pretiger.src.dir}"/>  
762    
     <exec executable="perl">  
       <arg file="etc/defang.pl"/>  
       <!-- <arg value="-v"/> -->  
       <arg value="-s"/> <arg file="${src.dir}"/>  
       <arg value="-t"/> <arg file="${pretiger.src.dir}"/>  
     </exec>  
763    
764    </target>    <target name="jsr166xclean"
765              description="Removes all jsr166x build products">
766    
767    <target name="compile-pretiger"      <delete dir="${build.jsr166x.dir}"/>
           depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
768    
769      <mkdir dir="${build.pretiger.dir}"/>    </target>
770    
     <javac srcdir="${pretiger.src.dir}"  
           destdir="${build.pretiger.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${pretiger.sourcelevel}"  
              fork="true">  
771    
       <compilerarg line="${build.args}"/>  
       <exclude name="**/Thread.java"/>  
772    
773      </javac>    <target name="jsr166xdist-clean"
774              description="Removes all build and distribution products">
775    
776    </target>    </target>
777    
   <target name="pretiger" depends="compile-pretiger">  
778    
779      <mkdir dir="${build.lib.dir}"/>    <target name="jsr166xdist-jar"
780              depends="jsr166xclean, jsr166xjar">
781    
782      <jar destfile="${pretiger.jar}">      <copy file="${jsr166x.jar}" todir="${dist.dir}"/>
       <fileset dir="${build.pretiger.dir}">  
       </fileset>  
     </jar>  
783    
784    </target>    </target>
785    
786    <!-- jsr166x -->    <!-- jsr166y -->
787    
788    
789    <target name="jsr166xcompile"    <target name="jsr166ycompile"
790            depends="init, configure-compiler"            depends="configure-compiler"
791            description="Compiles jsr166x sources">            description="Compiles jsr166y sources">
792    
793      <mkdir dir="${build.jsr166x.dir}"/>      <mkdir dir="${build.jsr166y.classes.dir}"/>
794    
795      <javac srcdir="${jsr166xsrc.dir}"      <javac srcdir="${topsrc.dir}"
796            destdir="${build.jsr166x.dir}"             destdir="${build.jsr166y.classes.dir}"
797              debug="${build.debug}"             debug="${build.debug}"
798         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
799        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
800             source="${build.sourcelevel}"             source="6"
801               fork="true">             classpath=""
802               bootclasspath="${bootclasspath6}"
803               includeAntRuntime="false"
804               includeJavaRuntime="false"
805               executable="${javac7}"
806               fork="true">
807    
808        <include name="**/*.java"/>        <include name="jsr166y/**/*.java"/>
809        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
810          <compilerarg value="-XDignore.symbol.file=true"/>
811          <compilerarg value="-Xlint:all"/>
812      </javac>      </javac>
813      </target>
814    
815    
816      <target name="jsr166yjar"
817              depends="jsr166ycompile"
818              description="Builds library jar from compiled sources">
819    
820        <jar destfile="${jsr166y.jar}" index="true">
821          <fileset dir="${build.jsr166y.classes.dir}"/>
822        </jar>
823    
824    </target>    </target>
825    
826    
827    
828    <target name="jsr166xjar"    <target name="jsr166ydocs"
829            depends="jsr166xcompile"            description="Builds javadocs to dist dir">
           description="Builds library jar from compiled sources">  
830    
831      <mkdir dir="${build.jsr166xlib.dir}"/>      <delete dir="${dist.jsr166yjavadocs.dir}"/>
832        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
833    
834      <jar destfile="${jsr166xproduct.jar}">      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
835        <fileset dir="${build.jsr166x.dir}"/>               packagenames="jsr166y.*"
836      </jar>               link="${jdkapidocs.url}"
837                 source="6"
838                 bootclasspath="${bootclasspath6}"
839                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
840                 executable="${javadoc7}"
841                 additionalparam="-XDignore.symbol.file=true"/>
842    
843    </target>    </target>
844    
845    
846      <target name="jsr166ydist"
847              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydocs"
848              description="Puts all distributable products in single hierarchy"/>
849    
   <target name="jsr166xdocs"  
           description="Builds javadocs with custom tags to build folder">  
850    
     <delete dir="${build.jsr166xjavadocs.dir}"/>  
     <mkdir dir="${build.jsr166xjavadocs.dir}"/>  
851    
852      <javadoc destdir="${build.jsr166xjavadocs.dir}"    <target name="jsr166yclean"
853               link="http://java.sun.com/javase/6/docs/api/"            description="Removes all jsr166y build products">
854    
855              sourcepath="${jsr166xsrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"      <delete dir="${build.jsr166y.dir}"/>
856    
857      >    </target>
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
858    
859    
860      </javadoc>  
861      <target name="jsr166ydist-clean"
862              description="Removes all build and distribution products">
863    
864    </target>    </target>
865    
866      <target name="jsr166ydist-jar"
867              depends="jsr166yclean, jsr166yjar">
868    
869    <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"/>  
870    
871      </target>
872    
873    
874    <target name="jsr166xclean"    <!-- extra166y -->
           description="Removes all build products">  
875    
876      <delete dir="${build.jsr166x.dir}"/>  
877      <delete dir="${build.jsr166xlib.dir}"/>    <target name="extra166ycompile"
878              depends="configure-compiler, jsr166yjar"
879              description="Compiles extra166y sources">
880    
881        <mkdir dir="${build.extra166y.classes.dir}"/>
882    
883        <javac srcdir="${topsrc.dir}"
884               destdir="${build.extra166y.classes.dir}"
885               debug="${build.debug}"
886               debuglevel="${build.debuglevel}"
887               deprecation="${build.deprecation}"
888               classpath=""
889               source="6"
890               bootclasspath="${jsr166y.jar}:${bootclasspath6}"
891               includeAntRuntime="false"
892               includeJavaRuntime="false"
893               executable="${javac7}"
894               fork="true">
895    
896          <include name="extra166y/**/*.java"/>
897          <compilerarg line="${build.args}"/>
898          <compilerarg value="-XDignore.symbol.file=true"/>
899          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
900    
901        </javac>
902    
903    </target>    </target>
904    
905    
906    
907    <target name="jsr166xdist-clean"    <target name="extra166yjar"
908            description="Removes all build and distribution products">            depends="extra166ycompile"
909              description="Builds library jar from compiled sources">
910    
911        <jar destfile="${extra166y.jar}" index="true">
912          <fileset dir="${build.extra166y.classes.dir}"/>
913        </jar>
914    
915    </target>    </target>
916    
917    
918    
919    <target name="jsr166xdist-docs"    <target name="extra166ydocs"
920            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs to build dir">
921    
922      <delete dir="${dist.jsr166xjavadocs.dir}"/>      <delete dir="${dist.extra166yjavadocs.dir}"/>
923      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>      <mkdir dir="${dist.extra166yjavadocs.dir}"/>
924    
925      <javadoc destdir="${dist.jsr166xjavadocs.dir}"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
926                  link="http://java.sun.com/javase/6/docs/api/"               packagenames="extra166y.*"
927                source="${build.sourcelevel}">               link="${jdkapidocs.url}"
928                 source="6"
929                 bootclasspath="${bootclasspath6}"
930                 sourcepath="${topsrc.dir}:${jdk6src.dir}"
931                 executable="${javadoc7}"
932                 additionalparam="-XDignore.symbol.file=true"/>
933    
934      </target>
935    
936    
937      <target name="extra166ydist"
938              depends="extra166ydist-clean, extra166ydist-jar, extra166ydocs"
939              description="Puts all distributable products in single hierarchy"/>
940    
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
941    
942      </javadoc>  
943      <target name="extra166yclean"
944              description="Removes all extra166y build products">
945    
946        <delete dir="${build.extra166y.dir}"/>
947    
948    </target>    </target>
949    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
950    
951      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>  
952      <target name="extra166ydist-clean"
953              description="Removes all build and distribution products">
954    
955    </target>    </target>
956    
957    <!-- jsr166y -->    <target name="extra166ydist-jar"
958              depends="extra166yclean, extra166yjar">
959    
960        <copy file="${extra166y.jar}" todir="${dist.dir}"/>
961    
962    <target name="jsr166ycompile"    </target>
           depends="init, configure-compiler"  
           description="Compiles jsr166y sources">  
963    
964      <mkdir dir="${build.jsr166y.dir}"/>    <!-- jsr166e -->
965    
966      <javac srcdir="${jsr166ysrc.dir}"    <target name="jsr166ecompile"
967            destdir="${build.jsr166y.dir}"            depends="configure-compiler"
968              debug="${build.debug}"            description="Compiles jsr166e sources">
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
969    
970        <include name="**/*.java"/>      <mkdir dir="${build.jsr166e.classes.dir}"/>
971        <compilerarg line="${build.args}"/>  
972        <compilerarg value="${bootclasspath.args}"/>      <javac srcdir="${topsrc.dir}"
973               destdir="${build.jsr166e.classes.dir}"
974               debug="${build.debug}"
975               debuglevel="${build.debuglevel}"
976               deprecation="${build.deprecation}"
977               source="7"
978               classpath=""
979               includeAntRuntime="false"
980               includeJavaRuntime="false"
981               executable="${javac7}"
982               fork="true">
983    
984  <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->        <include name="jsr166e/**/*.java"/>
985          <compilerarg line="${build.args}"/>
986          <compilerarg value="-XDignore.symbol.file=true"/>
987          <compilerarg value="-Xlint:all"/>
988    
989      </javac>      </javac>
990    
# Line 1122  Line 992 
992    
993    
994    
995    <target name="jsr166yjar"    <target name="jsr166ejar"
996            depends="jsr166ycompile"            depends="jsr166ecompile"
997            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
998    
999      <mkdir dir="${build.jsr166ylib.dir}"/>      <jar destfile="${jsr166e.jar}" index="true">
1000          <fileset dir="${build.jsr166e.classes.dir}"/>
     <jar destfile="${jsr166yproduct.jar}">  
       <fileset dir="${build.jsr166y.dir}"/>  
1001      </jar>      </jar>
1002    
1003    </target>    </target>
1004    
1005    
1006    
1007    <target name="jsr166ydocs"    <target name="jsr166edocs"
1008            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>  
1009    
1010        <delete dir="${dist.jsr166ejavadocs.dir}"/>
1011        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1012    
1013        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1014                 packagenames="jsr166e.*"
1015                 link="${jdkapidocs.url}"
1016                 source="7"
1017                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1018                 executable="${javadoc7}"
1019                 additionalparam="-XDignore.symbol.file=true" >
1020      </javadoc>      </javadoc>
1021    
1022    </target>    </target>
1023    
1024    
1025    <target name="jsr166ydist"    <target name="jsr166edist"
1026            depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"            depends="jsr166edist-clean, jsr166edist-jar, jsr166edocs"
1027            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
1028    
1029    
1030    
1031    <target name="jsr166yclean"    <target name="jsr166eclean"
1032            description="Removes all build products">            description="Removes all jsr166e build products">
1033    
1034      <delete dir="${build.jsr166y.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
     <delete dir="${build.jsr166ylib.dir}"/>  
1035    
1036    </target>    </target>
1037    
1038    
1039      <target name="jsr166edist-clean"
   <target name="jsr166ydist-clean"  
1040            description="Removes all build and distribution products">            description="Removes all build and distribution products">
1041    
1042    </target>    </target>
1043    
1044    <target name="jsr166ydist-docs"    <target name="jsr166edist-jar"
1045            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">  
1046    
1047      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>      <copy file="${jsr166e.jar}" todir="${dist.dir}"/>
1048    
1049    </target>    </target>
1050    

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

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