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

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

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