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

Diff of /jsr166/build.xml

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

revision 1.73 by dl, Tue Nov 8 00:13:41 2005 UTC revision 1.101 by jsr166, Sat Jan 19 17:30:36 2013 UTC
# Line 8  Line 8 
8    
9    User-specific settings are read from user.properties.    User-specific settings are read from user.properties.
10    See user.properties.sample for an explanation of some useful settings.    See user.properties.sample for an explanation of some useful settings.
11    
12      The repository contains all dependencies except for ant and the JDK
13      itself.  Because the JDK version matters and because different
14      targets require different JDKs, we assume that users have created a
15      hierarchy containing:
16      $HOME/jdk/jdk6
17      $HOME/jdk/jdk7
18      $HOME/jdk/jdk8
19      where each of the above is a JDK or a symlink to same, and
20      $HOME/jdk/src/jdk6
21      $HOME/jdk/src/jdk7
22      $HOME/jdk/src/jdk8
23      where each of the above is a complete JDK source tree
24      (e.g. mercurial forest) or a symlink to same.
25  ------------------------------------------------------------------------------  ------------------------------------------------------------------------------
26    </description>    </description>
27    
# Line 21  Line 35 
35    
36    
37    <!-- Compilation options -->    <!-- Compilation options -->
38    <property name="build.sourcelevel"    value="1.5"/>    <property name="build.sourcelevel"    value="1.6"/>
39    <property name="build.debug"          value="true"/>    <property name="build.debug"          value="true"/>
40    <property name="build.debuglevel"     value="source,lines,vars"/>    <property name="build.debuglevel"     value="source,lines,vars"/>
41    <property name="build.deprecation"    value="false"/>    <property name="build.deprecation"    value="false"/>
42    
43    <!-- Build locations -->    <!-- Build locations -->
44    <property name="build.dir"            location="build"/>    <property name="build.dir"                   location="build"/>
45    <property name="build.classes.dir"    location="${build.dir}/classes"/>    <property name="build.classes.dir"           location="${build.dir}/classes"/>
46    <property name="build.testcases.dir"  location="${build.dir}/testcases"/>    <property name="build.testcases.dir"         location="${build.dir}/testcases"/>
47    <property name="build.j1.dir"         location="${build.dir}/j1"/>    <property name="build.loops.dir"             location="${build.dir}/loops"/>
48    <property name="build.loops.dir"      location="${build.dir}/loops"/>    <property name="build.lib.dir"               location="${build.dir}/lib"/>
49    <property name="build.lib.dir"        location="${build.dir}/lib"/>    <property name="build.javadocs.dir"          location="${build.dir}/javadocs"/>
50    <property name="build.ant.dir"        location="${build.dir}/ant"/>    <property name="build.reports.dir"           location="${build.dir}/reports"/>
51    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>  
52    <property name="build.reports.dir"    location="${build.dir}/reports"/>    <property name="build.4jdk7.dir"              location="${build.dir}/4jdk7"/>
53    <property name="build.checkstyle.dir" location="${build.dir}/checkstyle"/>    <property name="build.4jdk7.lib.dir"          location="${build.4jdk7.dir}"/>
54    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>    <property name="build.4jdk7.classes.dir"      location="${build.4jdk7.dir}/classes"/>
55    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.4jdk7.tck.classes.dir"  location="${build.4jdk7.dir}/tck/classes"/>
56    <property name="build.dc-filter.dir"  location="${build.dir}/filterdocchk"/>    <property name="build.4jdk7.docs.dir"         location="${build.4jdk7.dir}/docs"/>
57    <property name="build.jsr166x.dir"    location="${build.dir}/jsr166x"/>  
58      <property name="build.jsr166x.dir"           location="${build.dir}/jsr166x"/>
59    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>    <property name="build.jsr166xlib.dir"        location="${build.dir}/jsr166xlib"/>
60    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>    <property name="build.jsr166xjavadocs.dir"   location="${build.dir}/jsr166xjavadocs"/>
61    
62      <property name="build.jsr166y.dir"           location="${build.dir}/jsr166y"/>
63      <property name="build.jsr166ylib.dir"        location="${build.dir}/jsr166ylib"/>
64      <property name="build.jsr166yjavadocs.dir"   location="${build.dir}/jsr166yjavadocs"/>
65    
66      <property name="build.jsr166e.dir"           location="${build.dir}/jsr166e"/>
67      <property name="build.jsr166elib.dir"        location="${build.dir}/jsr166elib"/>
68      <property name="build.jsr166ejavadocs.dir"   location="${build.dir}/jsr166ejavadocs"/>
69    
70      <property name="build.extra166y.dir"         location="${build.dir}/extra166y"/>
71      <property name="build.extra166ylib.dir"      location="${build.dir}/extra166ylib"/>
72      <property name="build.extra166yjavadocs.dir" location="${build.dir}/extra166yjavadocs"/>
73    
74      <!-- JDK binary locations -->
75      <property name="jdks.home"  location="${user.home}/jdk"/>
76    
77      <macrodef name="defjdklocations">
78        <attribute name="v"/>
79        <sequential>
80        <property name="jdk@{v}.home"   location="${jdks.home}/jdk@{v}"/>
81        <property name="java@{v}"       location="${jdk@{v}.home}/bin/java"/>
82        <property name="javac@{v}"      location="${jdk@{v}.home}/bin/javac"/>
83        <property name="javadoc@{v}"    location="${jdk@{v}.home}/bin/javadoc"/>
84        <property name="bootdir@{v}"    location="${jdk@{v}.home}/jre/lib"/>
85        <property name="jdk@{v}src.dir" location="${jdks.home}/src/jdk@{v}/jdk/src/share/classes"/>
86        <property name="bootclasspath@{v}"
87         value="${bootdir@{v}}/resources.jar:${bootdir@{v}}/rt.jar:${bootdir@{v}}/jsse.jar:${bootdir@{v}}/jce.jar:${bootdir@{v}}/:${bootdir@{v}}/charsets.jar"/>
88        </sequential>
89      </macrodef>
90    
91      <defjdklocations v="6"/>
92      <defjdklocations v="7"/>
93      <defjdklocations v="8"/>
94    
95      <macrodef name="run-tck-tests">
96        <attribute name="jvm"/>
97        <attribute name="tck.classes"/>
98        <attribute name="product.jar" default="${product.jar}"/>
99        <attribute name="jvmflags" default=""/>
100        <sequential>
101        <java classname="JSR166TestCase"
102              jvm="@{jvm}" fork="true">
103            <jvmarg value="-Xbootclasspath/p:@{product.jar}"/>
104            <jvmarg line="@{jvmflags}"/>
105            <classpath>
106              <pathelement location="${junit.jar}"/>
107              <pathelement location="@{tck.classes}"/>
108            </classpath>
109        </java>
110        </sequential>
111      </macrodef>
112    
113    <!-- Source locations -->    <!-- Source locations -->
114    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
115    <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"/>  
116    <property name="loops.src.dir"        location="${basedir}/src/loops"/>    <property name="loops.src.dir"        location="${basedir}/src/loops"/>
117    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>    <property name="tck.src.dir"          location="${test.src.dir}/tck"/>
118    <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"/>  
119    <property name="lib.dir"              location="${basedir}/lib"/>    <property name="lib.dir"              location="${basedir}/lib"/>
120    <property name="dist.dir"             location="${basedir}/dist"/>    <property name="dist.dir"             location="${basedir}/dist"/>
121    <property name="topsrc.dir"           location="${basedir}/src"/>    <property name="topsrc.dir"           location="${basedir}/src"/>
122    <property name="jsr166xsrc.dir"       location="${basedir}/src/jsr166x"/>    <property name="4jdk7src.dir"         location="${topsrc.dir}/jdk7"/>
123      <property name="jsr166xsrc.dir"       location="${topsrc.dir}/jsr166x"/>
124      <property name="jsr166ysrc.dir"       location="${topsrc.dir}/jsr166y"/>
125      <property name="jsr166esrc.dir"       location="${topsrc.dir}/jsr166e"/>
126      <property name="extra166ysrc.dir"     location="${topsrc.dir}/extra166y"/>
127      <property name="jdksrc.dir"           location="/home/dl/1.6.0/j2se/martin/j2se/src/share/classes"/>
128    
129    <!-- Distribution locations -->    <!-- Distribution locations -->
130    <property name="dist.javadocs.dir"    location="${dist.dir}/docs"/>    <property name="dist.javadocs.dir"           location="${dist.dir}/docs"/>
131      <property name="dist.4jdk7.docs.dir"         location="${dist.dir}/jsr166-4jdk7docs"/>
132    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>    <property name="dist.jsr166xjavadocs.dir"    location="${dist.dir}/jsr166xdocs"/>
133      <property name="dist.jsr166yjavadocs.dir"    location="${dist.dir}/jsr166ydocs"/>
134      <property name="dist.jsr166ejavadocs.dir"    location="${dist.dir}/jsr166edocs"/>
135      <property name="dist.extra166yjavadocs.dir"  location="${dist.dir}/extra166ydocs"/>
136    
137    <!-- Jar locations -->    <!-- Jar locations -->
138    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>    <property name="product.jar"          location="${build.lib.dir}/jsr166.jar"/>
139      <property name="4jdk7product.jar"     location="${build.4jdk7.lib.dir}/jsr166-4jdk7.jar"/>
140    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>    <property name="jsr166xproduct.jar"   location="${build.jsr166xlib.dir}/jsr166x.jar"/>
141      <property name="jsr166yproduct.jar"   location="${build.jsr166ylib.dir}/jsr166y.jar"/>
142      <property name="jsr166eproduct.jar"   location="${build.jsr166elib.dir}/jsr166e.jar"/>
143      <property name="extra166yproduct.jar" location="${build.extra166ylib.dir}/extra166y.jar"/>
144    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>    <property name="junit.jar"            location="${lib.dir}/junit.jar"/>
   <property name="concurrent.jar"       location="${lib.dir}/concurrent.jar"/>  
145    
146    <!-- Bootclasspath argument -->    <!-- Bootclasspath argument -->
147    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>    <property name="bootclasspath.args"   value="-Xbootclasspath/p:${product.jar}"/>
148    
149      <!-- Canonical location of jdk API docs, to use with javadoc link attribute -->
150      <property name="jdkapi5docs.url"      value="http://docs.oracle.com/javase/1.5.0/docs/api/"/>
151      <property name="jdkapi6docs.url"      value="http://docs.oracle.com/javase/6/docs/api/"/>
152      <property name="jdkapi7docs.url"      value="http://docs.oracle.com/javase/7/docs/api/"/>
153    
154      <property name="jdkapi8docs.url"      value="http://download.java.net/jdk8/docs/api/"/>
155      <!-- The below does not yet exist as of 2012-11 -->
156      <!-- <property name="jdkapi8docs.url" value="http://docs.oracle.com/javase/8/docs/api/"/> -->
157      <property name="jdkapidocs.url"       value="${jdkapi7docs.url}"/>
158    
159    <!-- Test classpath -->    <!-- Test classpath -->
160    <path id="test.classpath">    <path id="test.classpath">
161      <pathelement location="${build.testcases.dir}"/>      <pathelement location="${build.testcases.dir}"/>
# Line 82  Line 167 
167      <pathelement location="${build.loops.dir}"/>      <pathelement location="${build.loops.dir}"/>
168    </path>    </path>
169    
170    <!-- J1 classpath -->    <!-- Support @jls tag, used in jdk8+ javadoc -->
171    <path id="j1.classpath">    <!-- TODO: How do we get &trade to work? -->
172      <pathelement location="${build.classes.dir}"/>    <!-- TODO: Why isn't @jls a "standard" tag? -->
173      <pathelement location="${build.j1.dir}"/>    <!--   property name="javadoc.jls.cite" value="The Java&trade; Language Specification" -->
174      <pathelement location="${junit.jar}"/>    <property name="javadoc.jls.cite" value="The Java Language Specification"/>
175      <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>  
   
176    
177    <!-- Main targets -->    <!-- Main targets -->
178    
179      <target name="dists"
180              depends="dist, jsr166xdist, jsr166ydist,jsr166edist,  extra166ydist"
181              description="Builds all public jars and docs"/>
182    
183    <target name="compile"    <target name="compile"
184            depends="init, configure-compiler"            depends="configure-compiler"
185            description="Compiles main sources to build folder">            description="Compiles src/main sources to build folder">
186    
187      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
188    
189      <javac srcdir="${src.dir}"      <javac srcdir="${src.dir}"
190            destdir="${build.classes.dir}"             destdir="${build.classes.dir}"
191              debug="${build.debug}"             debug="${build.debug}"
192         debuglevel="${build.debuglevel}"             debuglevel="${build.debuglevel}"
193        deprecation="${build.deprecation}"             deprecation="${build.deprecation}"
194             source="${build.sourcelevel}"             classpath=""
195               fork="true">             includeAntRuntime="false"
196               includeJavaRuntime="false"
197               executable="${javac8}"
198               fork="true">
199    
200        <include name="**/*.java"/>        <include name="**/*.java"/>
201          <compilerarg line="${build.args}"/>
202          <compilerarg value="-XDignore.symbol.file=true"/>
203          <compilerarg value="-Xlint:all"/>
204    
205  <!--  <!--
206        <exclude name="java/lang/**"/>        <exclude name="java/lang/**"/>
207        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
# Line 144  Line 235 
235    
236    
237    <target name="docs"    <target name="docs"
238            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs for src/main">
   
     <delete dir="${build.javadocs.dir}"/>  
     <mkdir dir="${build.javadocs.dir}"/>  
   
     <javadoc destdir="${build.javadocs.dir}"  
                 link="http://java.sun.com/j2se/1.5.0/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>  
239    
240        <delete dir="${dist.javadocs.dir}"/>
241        <mkdir dir="${dist.javadocs.dir}"/>
242    
243        <!-- the packagenames="none" hack below prevents scanning the -->
244        <!-- sourcepath for packages -->
245    
246    <target name="doccheck"      <javadoc destdir="${dist.javadocs.dir}"
247            depends="filter-doccheck"               packagenames="none"
248            description="Reports on javadoc style errors">               link="${jdkapi8docs.url}"
249                 overview="${src.dir}/intro.html"
250      <delete dir="${build.doccheck.dir}"/>               sourcepath="${src.dir}:${jdk8src.dir}"
251      <mkdir dir="${build.doccheck.dir}"/>               classpath=""
252                 executable="${javadoc8}">
253      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"        <arg value="-XDignore.symbol.file=true"/>
254           docletpath="${lib.dir}/doccheck.jar"        <arg value="-tag"/>
255              destdir="${build.doccheck.dir}">        <arg value="${javadoc.jls.option}"/>
256        <packageset dir="${build.dc-filter.dir}"/>        <fileset dir="${src.dir}" defaultexcludes="yes">
257            <include name="**/*.java"/>
258          </fileset>
259      </javadoc>      </javadoc>
260    
     <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"/>  
   
261    </target>    </target>
262    
263    
264    
265    <target name="dist"    <target name="dist"
266            depends="init, dist-clean, dist-jar, dist-docs"            depends="init, dist-clean, dist-jar, docs"
267            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
268    
269    
   
270    <target name="release"    <target name="release"
271            depends="dist"            depends="dist"
272            description="Puts entire CVS tree, plus distribution productions, in a jar">            description="Puts entire CVS tree, plus distribution productions, in a jar">
# Line 251  Line 307 
307    
308    
309    
   <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/j2se/1.5.0/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/*.java"/>  
       <include name="main/java/util/*.html"/>  
 <!--      <include name="jsr166x/*.java"/> -->  
       </fileset>  
     </javadoc>  
   
   </target>  
   
   
   
310    <!-- Internal targets -->    <!-- Internal targets -->
311    
312    
# Line 300  Line 328 
328    </target>    </target>
329    
330    
   <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>  
   
   
331    <target name="compile-tests"    <target name="compile-tests"
332            depends="jar">            depends="jar">
333    
# Line 426  Line 343 
343    
344        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
345        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
346          <compilerarg value="-XDignore.symbol.file=true"/>
347    
348        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
349    
# Line 443  Line 361 
361    
362        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
363        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
364          <compilerarg value="-XDignore.symbol.file=true"/>
365    
366        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
367    
# Line 459  Line 378 
378    
379        <compilerarg value="${bootclasspath.args}"/>        <compilerarg value="${bootclasspath.args}"/>
380        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
381          <compilerarg value="-XDignore.symbol.file=true"/>
382    
383        <classpath refid="test.classpath"/>        <classpath refid="test.classpath"/>
384    
# Line 531  Line 451 
451        <fileset dir="${build.reports.dir}">        <fileset dir="${build.reports.dir}">
452          <include name="TEST-*.xml"/>          <include name="TEST-*.xml"/>
453        </fileset>        </fileset>
454        <report styledir="${stylesheet.dir}"        <report format="${junit.report.format}" todir="${build.reports.dir}"
                 format="${junit.report.format}"  
                  todir="${build.reports.dir}"  
455        />        />
456      </junitreport>      </junitreport>
457    
# Line 583  Line 501 
501    </target>    </target>
502    
503    
   
   <!-- 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>  
   
   
   
504    <!-- Various demos and test programs -->    <!-- Various demos and test programs -->
505    
506    
   <target name="sample" depends="init, 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>  
   
   
507    <target name="loops" depends="init, configure-compiler"    <target name="loops" depends="init, configure-compiler"
508            description="Benchmark from Doug Lea's AQS paper">            description="Benchmark from Doug Lea's AQS paper">
509    
# Line 682  Line 519 
519    
520        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
521        <classpath refid="loops.classpath"/>        <classpath refid="loops.classpath"/>
522          <compilerarg value="-XDignore.symbol.file=true"/>
523    
524      </javac>      </javac>
525    
# Line 692  Line 530 
530    </target>    </target>
531    
532    
533    <target name="compile-j1" depends="init, configure-compiler, compile">    <!-- jsr166 4jdk7 -->
534    
     <mkdir dir="${build.j1.dir}"/>  
535    
536      <javac srcdir="${j1.src.dir}"    <target name="4jdk7compile"
537            destdir="${build.j1.dir}"            depends="configure-compiler"
538              debug="${build.debug}"            description="Compiles src/jdk7 sources, targeting jdk7">
539         debuglevel="${build.debuglevel}"  
540        deprecation="${build.deprecation}"      <mkdir dir="${build.4jdk7.classes.dir}"/>
541             source="${build.sourcelevel}" >  
542        <javac srcdir="${4jdk7src.dir}"
543               destdir="${build.4jdk7.classes.dir}"
544               debug="${build.debug}"
545               debuglevel="${build.debuglevel}"
546               deprecation="${build.deprecation}"
547               source="1.6"
548               classpath=""
549               bootclasspath="${bootclasspath6}"
550               includeAntRuntime="false"
551               includeJavaRuntime="false"
552               executable="${javac7}"
553               fork="true">
554    
555        <include name="**/*.java"/>        <include name="**/*.java"/>
       <exclude name="**/dijkstra/**"/>  
   
556        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
557        <classpath refid="j1.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
558          <compilerarg value="-Xlint:all"/>
559    
560      </javac>      </javac>
561    
562    </target>      <mkdir dir="${build.4jdk7.lib.dir}"/>
563    
564        <jar destfile="${4jdk7product.jar}" index="true">
565          <fileset dir="${build.4jdk7.classes.dir}"/>
566        </jar>
567    
568    <target name="sw" depends="compile-j1"      <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
           description="Runs the SwingWorker demo">  
569    
570      <!--      <javac srcdir="${tck.src.dir}"
571      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">             destdir="${build.4jdk7.tck.classes.dir}"
572        <classpath refid="j1.classpath"/>             debug="${build.debug}"
573      </java>             debuglevel="${build.debuglevel}"
574      -->             deprecation="${build.deprecation}"
575               source="1.6"
576               classpath="${junit.jar}"
577               bootclasspath="${4jdk7product.jar}:${bootclasspath6}"
578               includeAntRuntime="false"
579               includeJavaRuntime="false"
580               executable="${javac7}"
581               fork="true">
582    
583      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>        <include name="**/*.java"/>
584          <compilerarg line="${build.args}"/>
585          <compilerarg value="-XDignore.symbol.file=true"/>
586          <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial,-deprecation"/>
587    
588      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      </javac>
       <arg value="${build.j1.dir}/SwingWorker.html"/>  
     </exec>  
589    
590    </target>    </target>
591    
   <target name="j1" depends="compile-j1"  
           description="Runs a standalone JavaOne program">  
592    
593      <java classname="${j1.test}" fork="true">    <target name="4jdk7-test-tck"
594        <classpath refid="j1.classpath"/>            depends="4jdk7compile"
595        <jvmarg value="-client"/>            description="Runs tck tests for jsr166-4jdk7 directly">
596        <run-tck-tests
597          jvm="${java7}"
598          tck.classes="${build.4jdk7.tck.classes.dir}"
599          product.jar="${4jdk7product.jar}"/>
600      </target>
601    
       <!-- TestPseudoRandom args -->  
       <arg value="2"/>  
       <arg value="25"/>  
       <arg value="100000"/>  
602    
603        <!-- WebCrawler args -->    <target name="4jdk7-test-tck-junit"
604        <!--            depends="4jdk7compile"
605        <arg value="jsr166.webcrawler.WebCrawler3"/>            description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
       <arg value="http://www.priorartisans.com"/>  
       <arg value="25"/>  
       -->  
606    
607      </java>      <junit printsummary="true"
608               showoutput="true"
609               errorProperty="junit.failed"
610               failureProperty="junit.failed"
611               includeantruntime="true"
612               jvm="${java7}"
613               fork="true">
614    
615    </target>        <jvmarg value="-Xbootclasspath/p:${4jdk7product.jar}"/>
616          <jvmarg value="-server"/>
617    
618          <classpath>
619            <pathelement location="${junit.jar}"/>
620            <pathelement location="${build.4jdk7.tck.classes.dir}"/>
621          </classpath>
622    
623    <target name="test-j1" depends="compile-j1"        <formatter type="brief"/>
           description="Runs testcases from the JavaOne source directories">  
624    
625      <junit printsummary="true"        <test name="JSR166TestCase" haltonfailure="no">
626               showoutput="true"        </test>
           errorProperty="junit.failed"  
         failureProperty="junit.failed"  
                     dir="${build.j1.dir}"  
                    fork="true">  
627    
628        <!-- <jvmarg value="-server"/> -->      </junit>
629        <classpath refid="j1.classpath"/>    </target>
       <formatter type="xml"/>  
630    
       <batchtest todir="${build.j1.dir}">  
         <fileset dir="${j1.src.dir}">  
           <include name="**/*Test.java"/>  
         </fileset>  
       </batchtest>  
631    
632      </junit>    <target name="4jdk7docs"
633              description="Builds javadocs with custom tags to build folder">
634    
635      <available property="junit.report.format"      <delete dir="${build.4jdk7.docs.dir}"/>
636                    value="frames"      <mkdir dir="${build.4jdk7.docs.dir}"/>
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
637    
638      <junitreport todir="${build.j1.dir}">      <javadoc destdir="${build.4jdk7.docs.dir}"
639        <fileset dir="${build.j1.dir}">               packagenames="none"
640          <include name="TEST-*.xml"/>               link="${jdkapi7docs.url}"
641                 overview="${4jdk7src.dir}/intro.html"
642                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
643                 classpath=""
644                 executable="${javadoc7}">
645          <arg value="-XDignore.symbol.file=true"/>
646          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
647            <include name="**/*.java"/>
648        </fileset>        </fileset>
649        <report styledir="${stylesheet.dir}"      </javadoc>
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
   
     <fail message="Test Cases Failed" if="junit.failed"/>  
650    
651    </target>    </target>
652    
653    
654      <target name="4jdk7dist"
655              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7dist-docs"
656              description="Puts all distributable products in single hierarchy"/>
657    
   <!-- C++ and JNI definitions and demos -->  
658    
   <target name="configure-cpp">  
659    
660      <!-- Define tasks and types -->    <target name="4jdk7clean"
661              description="Removes all build products">
662    
663      <path id="cpptasks.path">      <delete dir="${build.4jdk7.dir}"/>
664        <pathelement location="${lib.dir}/cpptasks.jar"/>  
665      </path>    </target>
     <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>  
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
666    
     <!-- Set platform property for JNI includes -->  
667    
668      <condition property="platform" value="linux">  
669        <os name="Linux"/>    <target name="4jdk7dist-clean"
670      </condition>            description="Removes all build and distribution products">
     <condition property="platform" value="win32">  
       <os family="windows"/>  
     </condition>  
     <condition property="platform" value="solaris">  
       <os name="SunOS"/>  
     </condition>  
671    
672    </target>    </target>
673    
674      <target name="4jdk7dist-docs"
675              description="Builds javadocs without custom tags to dist folder">
676    
677        <delete dir="${dist.4jdk7.docs.dir}"/>
678        <mkdir dir="${dist.4jdk7.docs.dir}"/>
679    
680    <target name="cppdemo" depends="configure-cpp">      <javadoc destdir="${dist.4jdk7.docs.dir}"
681                 packagenames="none"
682                 link="${jdkapi7docs.url}"
683                 overview="${4jdk7src.dir}/intro.html"
684                 sourcepath="${4jdk7src.dir}:${jdk7src.dir}"
685                 classpath=""
686                 executable="${javadoc7}">
687          <arg value="-XDignore.symbol.file=true"/>
688          <fileset dir="${4jdk7src.dir}" defaultexcludes="yes">
689            <include name="**/*.java"/>
690          </fileset>
691        </javadoc>
692    
693      <mkdir dir="${build.dir}"/>    </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      <!-- jsr166x -->
703    
   <target name="jnidemo" depends="init, configure-compiler, configure-cpp">  
704    
705      <mkdir dir="${build.testcases.dir}"/>    <target name="jsr166xcompile"
706              depends="init, configure-compiler"
707              description="Compiles jsr166x sources">
708    
709      <javac srcdir="${test.src.dir}"      <mkdir dir="${build.jsr166x.dir}"/>
710            destdir="${build.testcases.dir}"  
711        <javac srcdir="${jsr166xsrc.dir}"
712              destdir="${build.jsr166x.dir}"
713              debug="${build.debug}"              debug="${build.debug}"
714         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
715        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
716             source="${build.sourcelevel}"             source="${build.sourcelevel}"
717               fork="true">               fork="true">
718        <compilerarg value="${bootclasspath.args}"/>  
719          <include name="**/*.java"/>
720        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
721        <classpath refid="test.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
722        <include name="JniDemo.java"/>  
723      </javac>      </javac>
724    
725      <javah destdir="${build.testcases.dir}"    </target>
726        classpathref="test.classpath">  
727        <class name="JniDemo"/>  
728      </javah>  
729      <target name="jsr166xjar"
730      <cc multithreaded="true"            depends="jsr166xcompile"
731                   name="g++"            description="Builds library jar from compiled sources">
732                 objdir="${build.dir}"  
733                outfile="${build.dir}/JniDemo"      <mkdir dir="${build.jsr166xlib.dir}"/>
734                outtype="shared">  
735        <jar destfile="${jsr166xproduct.jar}">
736        <compiler>        <fileset dir="${build.jsr166x.dir}"/>
737          <defineset>      </jar>
           <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>  
738    
739    </target>    </target>
740    
741    
742    
743    <!-- Backward compatibility, work in progress (some files not checked in) -->    <target name="jsr166xdocs"
744              description="Builds javadocs with custom tags to build folder">
745    
746        <delete dir="${build.jsr166xjavadocs.dir}"/>
747        <mkdir dir="${build.jsr166xjavadocs.dir}"/>
748    
749        <javadoc destdir="${build.jsr166xjavadocs.dir}"
750                 packagenames="jsr166x"
751                 link="${jdkapidocs.url}"
752                 source="${build.sourcelevel}"
753                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
754                 additionalparam="-XDignore.symbol.file=true" />
755    
756      </target>
757    
758    
759    <property name="pretiger.src.dir"     location="${build.dir}/pretiger/src"/>    <target name="jsr166xdist"
760    <property name="build.pretiger.dir"   location="${build.dir}/pretiger/classes"/>            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
761    <property name="pretiger.jar"         location="${build.lib.dir}/jsr166-pretiger.jar"/>            description="Puts all distributable products in single hierarchy"/>
   <property name="pretiger.sourcelevel" value="1.4"/>  
762    
   <target name="defang"  
        depends="init"  
    description="Generates pre-Tiger compatible source">  
763    
     <delete dir="${pretiger.src.dir}"/>  
     <mkdir dir="${pretiger.src.dir}"/>  
764    
765      <exec executable="perl">    <target name="jsr166xclean"
766        <arg file="etc/defang.pl"/>            description="Removes all build products">
767        <!-- <arg value="-v"/> -->  
768        <arg value="-s"/> <arg file="${src.dir}"/>      <delete dir="${build.jsr166x.dir}"/>
769        <arg value="-t"/> <arg file="${pretiger.src.dir}"/>      <delete dir="${build.jsr166xlib.dir}"/>
770      </exec>  
771      </target>
772    
773    
774    
775      <target name="jsr166xdist-clean"
776              description="Removes all build and distribution products">
777    
778    </target>    </target>
779    
   <target name="compile-pretiger"  
           depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
780    
     <mkdir dir="${build.pretiger.dir}"/>  
781    
782      <javac srcdir="${pretiger.src.dir}"    <target name="jsr166xdist-docs"
783            destdir="${build.pretiger.dir}"            description="Builds javadocs without custom tags to dist folder">
784    
785        <delete dir="${dist.jsr166xjavadocs.dir}"/>
786        <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
787    
788        <javadoc destdir="${dist.jsr166xjavadocs.dir}"
789                 packagenames="jsr166x"
790                 link="${jdkapidocs.url}"
791                 source="${build.sourcelevel}"
792                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
793                 additionalparam="-XDignore.symbol.file=true" />
794    
795      </target>
796    
797      <target name="jsr166xdist-jar"
798              depends="jsr166xclean, jsr166xjar">
799    
800        <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>
801    
802      </target>
803    
804      <!-- jsr166y -->
805    
806    
807      <target name="jsr166ycompile"
808              depends="init, configure-compiler"
809              description="Compiles jsr166y sources">
810    
811        <mkdir dir="${build.jsr166y.dir}"/>
812    
813        <javac srcdir="${jsr166ysrc.dir}"
814              destdir="${build.jsr166y.dir}"
815              debug="${build.debug}"              debug="${build.debug}"
816         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
817        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
818             source="${pretiger.sourcelevel}"             source="${build.sourcelevel}"
819               fork="true">               fork="true">
820    
821          <include name="**/*.java"/>
822        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
823        <exclude name="**/Thread.java"/>        <compilerarg value="-XDignore.symbol.file=true"/>
824          <compilerarg value="${bootclasspath.args}"/>
825    
826    <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
827    
828      </javac>      </javac>
829    
830    </target>    </target>
831    
   <target name="pretiger" depends="compile-pretiger">  
832    
     <mkdir dir="${build.lib.dir}"/>  
833    
834      <jar destfile="${pretiger.jar}">    <target name="jsr166yjar"
835        <fileset dir="${build.pretiger.dir}">            depends="jsr166ycompile"
836        </fileset>            description="Builds library jar from compiled sources">
837    
838        <mkdir dir="${build.jsr166ylib.dir}"/>
839    
840        <jar destfile="${jsr166yproduct.jar}" index="true">
841          <fileset dir="${build.jsr166y.dir}"/>
842      </jar>      </jar>
843    
844    </target>    </target>
845    
   <!-- jsr166x -->  
846    
847    
848    <target name="jsr166xcompile"    <target name="jsr166ydocs"
849            depends="init, configure-compiler"            description="Builds javadocs with custom tags to build folder">
           description="Compiles jsr166x sources">  
850    
851      <mkdir dir="${build.jsr166x.dir}"/>      <delete dir="${build.jsr166yjavadocs.dir}"/>
852        <mkdir dir="${build.jsr166yjavadocs.dir}"/>
853    
854      <javac srcdir="${jsr166xsrc.dir}"      <javadoc destdir="${build.jsr166yjavadocs.dir}"
855            destdir="${build.jsr166x.dir}"               packagenames="jsr166y"
856                 link="${jdkapidocs.url}"
857                 source="${build.sourcelevel}"
858                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
859                 additionalparam="-XDignore.symbol.file=true" />
860    
861      </target>
862    
863    
864      <target name="jsr166ydist"
865              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
866              description="Puts all distributable products in single hierarchy"/>
867    
868    
869    
870      <target name="jsr166yclean"
871              description="Removes all build products">
872    
873        <delete dir="${build.jsr166y.dir}"/>
874        <delete dir="${build.jsr166ylib.dir}"/>
875    
876      </target>
877    
878    
879    
880      <target name="jsr166ydist-clean"
881              description="Removes all build and distribution products">
882    
883      </target>
884    
885      <target name="jsr166ydist-docs"
886              description="Builds javadocs without custom tags to dist folder">
887    
888        <delete dir="${dist.jsr166yjavadocs.dir}"/>
889        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
890    
891        <javadoc destdir="${dist.jsr166yjavadocs.dir}"
892                 packagenames="jsr166y"
893                 link="${jdkapidocs.url}"
894                 source="${build.sourcelevel}"
895                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
896                 additionalparam="-XDignore.symbol.file=true" />
897    
898      </target>
899    
900      <target name="jsr166ydist-jar"
901              depends="jsr166yclean, jsr166yjar">
902    
903        <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
904    
905      </target>
906    
907    
908      <!-- extra166y -->
909    
910    
911      <target name="extra166ycompile"
912              depends="init, configure-compiler, jsr166ycompile"
913              description="Compiles extra166y sources">
914    
915        <mkdir dir="${build.extra166y.dir}"/>
916    
917        <javac srcdir="${extra166ysrc.dir}"
918              destdir="${build.extra166y.dir}"
919              debug="${build.debug}"              debug="${build.debug}"
920                classpath="${jsr166yproduct.jar}"
921         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
922        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
923             source="${build.sourcelevel}"             source="${build.sourcelevel}"
# Line 983  Line 925 
925    
926        <include name="**/*.java"/>        <include name="**/*.java"/>
927        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
928          <compilerarg value="-XDignore.symbol.file=true"/>
929          <compilerarg value="${bootclasspath.args}"/>
930    
931    <!--       <compilerarg line="-Xlint -Xmaxwarns 1000"/> -->
932    
933      </javac>      </javac>
934    
# Line 990  Line 936 
936    
937    
938    
939    <target name="jsr166xjar"    <target name="extra166yjar"
940            depends="jsr166xcompile"            depends="extra166ycompile"
941            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
942    
943      <mkdir dir="${build.jsr166xlib.dir}"/>      <mkdir dir="${build.extra166ylib.dir}"/>
944    
945      <jar destfile="${jsr166xproduct.jar}">      <jar destfile="${extra166yproduct.jar}" index="true">
946        <fileset dir="${build.jsr166x.dir}"/>        <fileset dir="${build.extra166y.dir}"/>
947      </jar>      </jar>
948    
949    </target>    </target>
950    
951    
952    
953    <target name="jsr166xdocs"    <target name="extra166ydocs"
954            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs with custom tags to build folder">
955    
956      <delete dir="${build.jsr166xjavadocs.dir}"/>      <delete dir="${build.extra166yjavadocs.dir}"/>
957      <mkdir dir="${build.jsr166xjavadocs.dir}"/>      <mkdir dir="${build.extra166yjavadocs.dir}"/>
   
     <javadoc destdir="${build.jsr166xjavadocs.dir}"  
                 link="http://java.sun.com/j2se/1.5.0/docs/api/"  
             sourcepath="${jsr166xsrc.dir}:/home/dl/1.5.0/j2se/martin/j2se/src/share/classes"  
958    
959      >      <javadoc destdir="${build.extra166yjavadocs.dir}"
960        <packageset dir="${topsrc.dir}" defaultexcludes="yes">               packagenames="extra166y"
961        <include name="jsr166x"/>               link="${jdkapidocs.url}"
962        </packageset>               source="${build.sourcelevel}"
963                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
964                 additionalparam="-XDignore.symbol.file=true" />
     </javadoc>  
965    
966    </target>    </target>
967    
968    
969    <target name="jsr166xdist"    <target name="extra166ydist"
970            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"            depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
971            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
972    
973    
974    
975    <target name="jsr166xclean"    <target name="extra166yclean"
976            description="Removes all build products">            description="Removes all build products">
977    
978      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.extra166y.dir}"/>
979      <delete dir="${build.jsr166xlib.dir}"/>      <delete dir="${build.extra166ylib.dir}"/>
980    
981    </target>    </target>
982    
983    
984    
985    <target name="jsr166xdist-clean"    <target name="extra166ydist-clean"
986            description="Removes all build and distribution products">            description="Removes all build and distribution products">
987    
988    </target>    </target>
989    
990      <target name="extra166ydist-docs"
991              description="Builds javadocs without custom tags to dist folder">
992    
993        <delete dir="${dist.extra166yjavadocs.dir}"/>
994        <mkdir dir="${dist.extra166yjavadocs.dir}"/>
995    
996    <target name="jsr166xdist-docs"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
997            description="Builds javadocs without custom tags to dist folder">               packagenames="extra166y"
998                 link="${jdkapidocs.url}"
999                 source="${build.sourcelevel}"
1000                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1001                 additionalparam="-XDignore.symbol.file=true" />
1002    
1003      <delete dir="${dist.jsr166xjavadocs.dir}"/>    </target>
     <mkdir dir="${dist.jsr166xjavadocs.dir}"/>  
1004    
1005      <javadoc destdir="${dist.jsr166xjavadocs.dir}"    <target name="extra166ydist-jar"
1006                  link="http://java.sun.com/j2se/1.5.0/docs/api/"            depends="extra166yclean, extra166yjar">
1007                source="${build.sourcelevel}">  
1008        <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
1009    
1010        <packageset dir="${topsrc.dir}" defaultexcludes="yes">    </target>
       <include name="jsr166x"/>  
       </packageset>  
1011    
1012      <!-- jsr166e -->
1013    
1014      <target name="jsr166ecompile"
1015              depends="configure-compiler"
1016              description="Compiles jsr166e sources">
1017    
1018        <mkdir dir="${build.jsr166e.dir}"/>
1019    
1020        <javac srcdir="${topsrc.dir}"
1021               destdir="${build.jsr166e.dir}"
1022               debug="${build.debug}"
1023               debuglevel="${build.debuglevel}"
1024               deprecation="${build.deprecation}"
1025               source="1.7"
1026               classpath=""
1027               includeAntRuntime="false"
1028               includeJavaRuntime="false"
1029               executable="${javac7}"
1030               fork="true">
1031    
1032          <include name="jsr166e/**/*.java"/>
1033          <compilerarg line="${build.args}"/>
1034          <compilerarg value="-XDignore.symbol.file=true"/>
1035          <compilerarg value="-Xlint:all"/>
1036    
1037        </javac>
1038    
1039      </target>
1040    
1041    
1042    
1043      <target name="jsr166ejar"
1044              depends="jsr166ecompile"
1045              description="Builds library jar from compiled sources">
1046    
1047        <mkdir dir="${build.jsr166elib.dir}"/>
1048    
1049        <jar destfile="${jsr166eproduct.jar}" index="true">
1050          <fileset dir="${build.jsr166e.dir}"/>
1051        </jar>
1052    
1053      </target>
1054    
1055    
1056    
1057      <target name="jsr166edocs"
1058              description="Builds javadocs with custom tags to build folder">
1059    
1060        <delete dir="${build.jsr166ejavadocs.dir}"/>
1061        <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1062    
1063        <javadoc destdir="${build.jsr166ejavadocs.dir}"
1064                 packagenames="jsr166e,jsr166e.extra"
1065                 link="${jdkapi7docs.url}"
1066                 source="1.7"
1067                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1068                 executable="${javadoc7}"
1069                 additionalparam="-XDignore.symbol.file=true" >
1070          <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1071            <include name="jsr166e/**/*.java"/>
1072          </fileset>
1073      </javadoc>      </javadoc>
1074    
1075    </target>    </target>
1076    
   <target name="jsr166xdist-jar"  
           depends="jsr166xclean, jsr166xjar">  
1077    
1078      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>    <target name="jsr166edist"
1079              depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1080              description="Puts all distributable products in single hierarchy"/>
1081    
1082    
1083    
1084      <target name="jsr166eclean"
1085              description="Removes all build products">
1086    
1087        <delete dir="${build.jsr166e.dir}"/>
1088        <delete dir="${build.jsr166elib.dir}"/>
1089    
1090      </target>
1091    
1092    
1093    
1094      <target name="jsr166edist-clean"
1095              description="Removes all build and distribution products">
1096    
1097      </target>
1098    
1099      <target name="jsr166edist-docs"
1100              description="Builds javadocs without custom tags to dist folder">
1101    
1102        <delete dir="${dist.jsr166ejavadocs.dir}"/>
1103        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1104    
1105        <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1106                 packagenames="jsr166e,jsr166e.extra"
1107                 link="${jdkapidocs.url}"
1108                 source="1.7"
1109                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
1110                 additionalparam="-XDignore.symbol.file=true" />
1111    
1112      </target>
1113    
1114      <target name="jsr166edist-jar"
1115              depends="jsr166eclean, jsr166ejar">
1116    
1117        <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1118    
1119    </target>    </target>
1120    

Legend:
Removed from v.1.73  
changed lines
  Added in v.1.101

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