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

Diff of /jsr166/build.xml

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

revision 1.72 by dl, Fri May 20 16:29:57 2005 UTC revision 1.103 by jsr166, Sat Jan 19 21:35:40 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 dir">
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}"/>
208          <compilerarg line="-Xlint -Xmaxwarns 1000"/>
209    -->
210    
211      </javac>      </javac>
212    
# Line 137  Line 229 
229    
230    
231    <target name="test"    <target name="test"
232            depends="init, configure-tests, report-tests"            depends="configure-tests, report-tests"
233            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)" />
234    
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 to dist dir">
   
     <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.5.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="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 250  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.5.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="jsr166x/*.java"/> -->  
       </fileset>  
     </javadoc>  
   
   </target>  
   
   
   
310    <!-- Internal targets -->    <!-- Internal targets -->
311    
312    
313    <target name="init">  <!--   <target name="init"> -->
314    
315      <!-- Version is kept in a separate file -->      <!-- Version is kept in a separate file -->
316      <loadfile property="version" srcFile="version.properties"/>  <!--     <loadfile property="version" srcFile="version.properties"/> -->
317      <echo>Building JSR-166 version ${version}</echo>  <!--     <echo>Building JSR-166 version ${version}</echo> -->
318      <echo>java.home is ${java.home}</echo>  <!--     <echo>java.home is ${java.home}</echo> -->
319    
320    </target>  <!--   </target> -->
321    
322    
323    <target name="dist-jar"    <target name="dist-jar"
# Line 298  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 424  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 441  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 457  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 529  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 581  Line 501 
501    </target>    </target>
502    
503    
504      <!-- Various demos and test programs -->
505    
   <!-- Anthill targets -->  
506    
507    <target name="anthill-build">    <target name="loops" depends="configure-compiler"
508              description="Benchmark from Doug Lea's AQS paper">
509    
510      <!-- Override this in user.properties -->      <mkdir dir="${build.loops.dir}"/>
     <property name="tiger.home" location="e:/j2sdk1.5.0"/>  
511    
512      <exec resultproperty="result.property" dir="${basedir}" executable="${tiger.home}/bin/java">      <javac srcdir="${loops.src.dir}"
513        <arg value="-Xmx256000000"/>            destdir="${build.loops.dir}"
514        <!-- classpath of new JVM -->              debug="${build.debug}"
515        <arg value="-classpath"/> <arg path="${java.class.path}"/>         debuglevel="${build.debuglevel}"
516        <!-- location of Ant home directory -->        deprecation="${build.deprecation}"
517        <arg value="-Dant.home=${ant.home}"/>             source="${build.sourcelevel}"
518        <!-- the Ant main class -->               fork="true">
519        <arg value="org.apache.tools.ant.Main"/>  
520        <!-- The build file -->        <compilerarg line="${build.args}"/>
521        <arg value="-buildfile"/>  <arg value="build.xml"/>        <classpath refid="loops.classpath"/>
522        <!-- the target to build on the new Ant instance -->        <compilerarg value="-XDignore.symbol.file=true"/>
523        <arg value="-DJAVA_HOME=${tiger.home}"/>  
524        <arg value="do-anthill-build"/>      </javac>
525      </exec>  
526    </target>      <java classname="ALoops" fork="true">
527          <classpath refid="loops.classpath"/>
528    <target name="do-anthill-build"      </java>
           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>  
529    
530    </target>    </target>
531    
532    
533      <!-- jsr166 4jdk7 -->
534    
   <!-- Various demos and test programs -->  
535    
536      <target name="4jdk7compile"
537              depends="configure-compiler"
538              description="Compiles src/jdk7 sources, targeting jdk7">
539    
540        <mkdir dir="${build.4jdk7.classes.dir}"/>
541    
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    <target name="sample" depends="init, configure-compiler"        <include name="**/*.java"/>
556            description="Standalone demo program">        <compilerarg line="${build.args}"/>
557          <compilerarg value="-XDignore.symbol.file=true"/>
558          <compilerarg value="-Xlint:all"/>
559    
560      <mkdir dir="${build.testcases.dir}"/>      </javac>
561    
562      <javac srcdir="${test.src.dir}"      <mkdir dir="${build.4jdk7.lib.dir}"/>
           destdir="${build.testcases.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
563    
564        <include name="jsr166/test/Sample.java"/>      <jar destfile="${4jdk7product.jar}" index="true">
565          <fileset dir="${build.4jdk7.classes.dir}"/>
566        </jar>
567    
568        <mkdir dir="${build.4jdk7.tck.classes.dir}"/>
569    
570        <javac srcdir="${tck.src.dir}"
571               destdir="${build.4jdk7.tck.classes.dir}"
572               debug="${build.debug}"
573               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          <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      </javac>      </javac>
589    
590      <copy todir="${build.testcases.dir}">    </target>
591        <fileset dir="${test.src.dir}">  
592          <include name="**/*.properties"/>  
593      <target name="4jdk7-test-tck"
594              depends="4jdk7compile"
595              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    
602    
603      <target name="4jdk7-test-tck-junit"
604              depends="4jdk7compile"
605              description="Runs tck tests for jsr166-4jdk7 via junit task (experimental)">
606    
607        <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          <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          <formatter type="brief"/>
624    
625          <test name="JSR166TestCase" haltonfailure="no">
626          </test>
627    
628        </junit>
629      </target>
630    
631    
632      <target name="4jdk7docs"
633              description="Builds javadocs for src/jdk7 to dist dir">
634    
635        <delete dir="${dist.4jdk7.docs.dir}"/>
636        <mkdir dir="${dist.4jdk7.docs.dir}"/>
637    
638        <javadoc destdir="${dist.4jdk7.docs.dir}"
639                 packagenames="none"
640                 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      </copy>      </javadoc>
650    
651      </target>
652    
653    
654      <target name="4jdk7dist"
655              depends="4jdk7dist-clean, 4jdk7dist-jar, 4jdk7docs"
656              description="Puts all distributable products in single hierarchy"/>
657    
658    
659    
660      <target name="4jdk7clean"
661              description="Removes all build products">
662    
663        <delete dir="${build.4jdk7.dir}"/>
664    
     <java classname="jsr166.test.Sample" fork="true">  
       <classpath refid="test.classpath"/>  
       <!-- <jvmarg value="-ea"/> -->  
       <!-- <jvmarg value="-server"/> -->  
       <!-- <arg value="1000"/> -->  
     </java>  
665    </target>    </target>
666    
667    
   <target name="loops" depends="init, configure-compiler"  
           description="Benchmark from Doug Lea's AQS paper">  
668    
669      <mkdir dir="${build.loops.dir}"/>    <target name="4jdk7dist-clean"
670              description="Removes all build and distribution products">
671    
672      <javac srcdir="${loops.src.dir}"    </target>
673            destdir="${build.loops.dir}"  
674      <target name="4jdk7dist-jar"
675              depends="4jdk7clean, 4jdk7compile">
676    
677        <copy file="${4jdk7product.jar}" todir="${dist.dir}"/>
678    
679      </target>
680    
681      <!-- jsr166x -->
682    
683    
684      <target name="jsr166xcompile"
685              depends="configure-compiler"
686              description="Compiles jsr166x sources">
687    
688        <mkdir dir="${build.jsr166x.dir}"/>
689    
690        <javac srcdir="${jsr166xsrc.dir}"
691              destdir="${build.jsr166x.dir}"
692              debug="${build.debug}"              debug="${build.debug}"
693         debuglevel="${build.debuglevel}"         debuglevel="${build.debuglevel}"
694        deprecation="${build.deprecation}"        deprecation="${build.deprecation}"
695             source="${build.sourcelevel}"             source="${build.sourcelevel}"
696               fork="true">               fork="true">
697    
698          <include name="**/*.java"/>
699        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
700        <classpath refid="loops.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
701    
702      </javac>      </javac>
703    
704      <java classname="ALoops" fork="true">    </target>
705        <classpath refid="loops.classpath"/>  
706      </java>  
707    
708      <target name="jsr166xjar"
709              depends="jsr166xcompile"
710              description="Builds library jar from compiled sources">
711    
712        <mkdir dir="${build.jsr166xlib.dir}"/>
713    
714        <jar destfile="${jsr166xproduct.jar}">
715          <fileset dir="${build.jsr166x.dir}"/>
716        </jar>
717    
718    </target>    </target>
719    
720    
   <target name="compile-j1" depends="init, configure-compiler, compile">  
721    
722      <mkdir dir="${build.j1.dir}"/>    <target name="jsr166xdocs"
723              description="Builds javadocs to dist dir">
724    
725      <javac srcdir="${j1.src.dir}"      <delete dir="${build.jsr166xjavadocs.dir}"/>
726            destdir="${build.j1.dir}"      <mkdir dir="${build.jsr166xjavadocs.dir}"/>
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}" >  
727    
728        <include name="**/*.java"/>      <javadoc destdir="${build.jsr166xjavadocs.dir}"
729        <exclude name="**/dijkstra/**"/>               packagenames="jsr166x"
730                 link="${jdkapidocs.url}"
731                 source="${build.sourcelevel}"
732                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
733                 additionalparam="-XDignore.symbol.file=true" />
734    
735        <compilerarg line="${build.args}"/>    </target>
       <classpath refid="j1.classpath"/>  
736    
737      </javac>  
738      <target name="jsr166xdist"
739              depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"
740              description="Puts all distributable products in single hierarchy"/>
741    
742    
743    
744      <target name="jsr166xclean"
745              description="Removes all build products">
746    
747        <delete dir="${build.jsr166x.dir}"/>
748        <delete dir="${build.jsr166xlib.dir}"/>
749    
750    </target>    </target>
751    
752    
   <target name="sw" depends="compile-j1"  
           description="Runs the SwingWorker demo">  
753    
754      <!--    <target name="jsr166xdist-clean"
755      <java classname="jsr166.swing.SwingWorkerDemo" fork="true">            description="Removes all build and distribution products">
756        <classpath refid="j1.classpath"/>  
757      </java>    </target>
758      -->  
759    
760    
761      <copy todir="${build.j1.dir}" file="${j1.src.dir}/jsr166/swing/SwingWorker.html"/>    <target name="jsr166xdist-docs"
762              description="Builds javadocs to dist dir">
763    
764        <delete dir="${dist.jsr166xjavadocs.dir}"/>
765        <mkdir dir="${dist.jsr166xjavadocs.dir}"/>
766    
767      <exec dir="${build.j1.dir}" executable="appletviewer.exe">      <javadoc destdir="${dist.jsr166xjavadocs.dir}"
768        <arg value="${build.j1.dir}/SwingWorker.html"/>               packagenames="jsr166x"
769      </exec>               link="${jdkapidocs.url}"
770                 source="${build.sourcelevel}"
771                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
772                 additionalparam="-XDignore.symbol.file=true" />
773    
774    </target>    </target>
775    
776    <target name="j1" depends="compile-j1"    <target name="jsr166xdist-jar"
777            description="Runs a standalone JavaOne program">            depends="jsr166xclean, jsr166xjar">
778    
779      <java classname="${j1.test}" fork="true">      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>
       <classpath refid="j1.classpath"/>  
       <jvmarg value="-client"/>  
780    
781        <!-- TestPseudoRandom args -->    </target>
       <arg value="2"/>  
       <arg value="25"/>  
       <arg value="100000"/>  
782    
783        <!-- WebCrawler args -->    <!-- jsr166y -->
       <!--  
       <arg value="jsr166.webcrawler.WebCrawler3"/>  
       <arg value="http://www.priorartisans.com"/>  
       <arg value="25"/>  
       -->  
784    
     </java>  
785    
786      <target name="jsr166ycompile"
787              depends="configure-compiler"
788              description="Compiles jsr166y sources">
789    
790        <mkdir dir="${build.jsr166y.dir}"/>
791    
792        <javac srcdir="${topsrc.dir}"
793               destdir="${build.jsr166y.dir}"
794               debug="${build.debug}"
795               debuglevel="${build.debuglevel}"
796               deprecation="${build.deprecation}"
797               source="1.6"
798               classpath=""
799               bootclasspath="${bootclasspath6}"
800               includeAntRuntime="false"
801               includeJavaRuntime="false"
802               executable="${javac7}"
803               fork="true">
804    
805          <include name="jsr166y/**/*.java"/>
806          <compilerarg line="${build.args}"/>
807          <compilerarg value="-XDignore.symbol.file=true"/>
808          <compilerarg value="-Xlint:all"/>
809        </javac>
810    </target>    </target>
811    
812    
813    <target name="test-j1" depends="compile-j1"    <target name="jsr166yjar"
814            description="Runs testcases from the JavaOne source directories">            depends="jsr166ycompile"
815              description="Builds library jar from compiled sources">
816    
817      <junit printsummary="true"      <mkdir dir="${build.jsr166ylib.dir}"/>
              showoutput="true"  
           errorProperty="junit.failed"  
         failureProperty="junit.failed"  
                     dir="${build.j1.dir}"  
                    fork="true">  
818    
819        <!-- <jvmarg value="-server"/> -->      <jar destfile="${jsr166yproduct.jar}" index="true">
820        <classpath refid="j1.classpath"/>        <fileset dir="${build.jsr166y.dir}"/>
821        <formatter type="xml"/>      </jar>
822    
823        <batchtest todir="${build.j1.dir}">    </target>
         <fileset dir="${j1.src.dir}">  
           <include name="**/*Test.java"/>  
         </fileset>  
       </batchtest>  
824    
     </junit>  
825    
     <available property="junit.report.format"  
                   value="frames"  
               classname="org.apache.xalan.lib.Redirect"/>  
     <property name="junit.report.format" value="noframes"/>  
826    
827      <junitreport todir="${build.j1.dir}">    <target name="jsr166ydocs"
828        <fileset dir="${build.j1.dir}">            description="Builds javadocs to dist dir">
         <include name="TEST-*.xml"/>  
       </fileset>  
       <report styledir="${stylesheet.dir}"  
                 format="${junit.report.format}"  
                  todir="${build.j1.dir}"  
       />  
     </junitreport>  
829    
830      <fail message="Test Cases Failed" if="junit.failed"/>      <delete dir="${build.jsr166yjavadocs.dir}"/>
831        <mkdir dir="${build.jsr166yjavadocs.dir}"/>
832    
833        <javadoc destdir="${build.jsr166yjavadocs.dir}"
834                 packagenames="jsr166y"
835                 link="${jdkapidocs.url}"
836                 source="${build.sourcelevel}"
837                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
838                 additionalparam="-XDignore.symbol.file=true" />
839    
840    </target>    </target>
841    
842    
843      <target name="jsr166ydist"
844              depends="jsr166ydist-clean, jsr166ydist-jar, jsr166ydist-docs"
845              description="Puts all distributable products in single hierarchy"/>
846    
   <!-- C++ and JNI definitions and demos -->  
847    
   <target name="configure-cpp">  
848    
849      <!-- Define tasks and types -->    <target name="jsr166yclean"
850              description="Removes all build products">
851    
852      <path id="cpptasks.path">      <delete dir="${build.jsr166y.dir}"/>
853        <pathelement location="${lib.dir}/cpptasks.jar"/>      <delete dir="${build.jsr166ylib.dir}"/>
854      </path>  
855      <taskdef resource="cpptasks.tasks" classpathref="cpptasks.path"/>    </target>
     <typedef resource="cpptasks.types" classpathref="cpptasks.path"/>  
856    
     <!-- Set platform property for JNI includes -->  
857    
858      <condition property="platform" value="linux">  
859        <os name="Linux"/>    <target name="jsr166ydist-clean"
860      </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>  
861    
862    </target>    </target>
863    
864      <target name="jsr166ydist-docs"
865              description="Builds javadocs to dist dir">
866    
867        <delete dir="${dist.jsr166yjavadocs.dir}"/>
868        <mkdir dir="${dist.jsr166yjavadocs.dir}"/>
869    
870    <target name="cppdemo" depends="configure-cpp">      <javadoc destdir="${dist.jsr166yjavadocs.dir}"
871                 packagenames="jsr166y"
872                 link="${jdkapidocs.url}"
873                 source="${build.sourcelevel}"
874                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
875                 additionalparam="-XDignore.symbol.file=true" />
876    
877      <mkdir dir="${build.dir}"/>    </target>
878    
879      <cc multithreaded="true"    <target name="jsr166ydist-jar"
880                   name="g++"            depends="jsr166yclean, jsr166yjar">
                objdir="${build.dir}"  
               outfile="${build.dir}/CppDemo">  
       <fileset dir="${test.src.dir}" includes="CppDemo.cpp"/>  
       <libset libs="stdc++"/>  
     </cc>  
881    
882      <exec executable="${build.dir}/CppDemo">      <copy file="${jsr166yproduct.jar}" todir="${dist.dir}"/>
       <arg line="count in word frequency of word in command line count"/>  
     </exec>  
883    
884    </target>    </target>
885    
886    
887    <target name="jnidemo" depends="init, configure-compiler, configure-cpp">    <!-- extra166y -->
888    
     <mkdir dir="${build.testcases.dir}"/>  
889    
890      <javac srcdir="${test.src.dir}"    <target name="extra166ycompile"
891            destdir="${build.testcases.dir}"            depends="configure-compiler, jsr166yjar"
892              debug="${build.debug}"            description="Compiles extra166y sources">
893         debuglevel="${build.debuglevel}"  
894        deprecation="${build.deprecation}"      <mkdir dir="${build.extra166y.dir}"/>
895             source="${build.sourcelevel}"  
896               fork="true">      <javac srcdir="${topsrc.dir}"
897        <compilerarg value="${bootclasspath.args}"/>             destdir="${build.extra166y.dir}"
898               debug="${build.debug}"
899               classpath=""
900               debuglevel="${build.debuglevel}"
901               deprecation="${build.deprecation}"
902               source="1.6"
903               bootclasspath="${jsr166yproduct.jar}:${bootclasspath6}"
904               includeAntRuntime="false"
905               includeJavaRuntime="false"
906               executable="${javac7}"
907               fork="true">
908    
909          <include name="extra166y/**/*.java"/>
910        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
911        <classpath refid="test.classpath"/>        <compilerarg value="-XDignore.symbol.file=true"/>
912        <include name="JniDemo.java"/>        <compilerarg value="-Xlint:all,-unchecked,-rawtypes,-serial"/>
     </javac>  
913    
914      <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>  
915    
916    </target>    </target>
917    
918    
919    
920    <!-- Backward compatibility, work in progress (some files not checked in) -->    <target name="extra166yjar"
921              depends="extra166ycompile"
922              description="Builds library jar from compiled sources">
923    
924        <mkdir dir="${build.extra166ylib.dir}"/>
925    
926        <jar destfile="${extra166yproduct.jar}" index="true">
927          <fileset dir="${build.extra166y.dir}"/>
928        </jar>
929    
930      </target>
931    
932    
   <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"/>  
933    
934    <target name="defang"    <target name="extra166ydocs"
935         depends="init"            description="Builds javadocs with custom tags to build dir">
    description="Generates pre-Tiger compatible source">  
936    
937      <delete dir="${pretiger.src.dir}"/>      <delete dir="${build.extra166yjavadocs.dir}"/>
938      <mkdir dir="${pretiger.src.dir}"/>      <mkdir dir="${build.extra166yjavadocs.dir}"/>
939    
940      <exec executable="perl">      <javadoc destdir="${build.extra166yjavadocs.dir}"
941        <arg file="etc/defang.pl"/>               packagenames="extra166y"
942        <!-- <arg value="-v"/> -->               link="${jdkapidocs.url}"
943        <arg value="-s"/> <arg file="${src.dir}"/>               source="${build.sourcelevel}"
944        <arg value="-t"/> <arg file="${pretiger.src.dir}"/>               sourcepath="${topsrc.dir}:${jdksrc.dir}"
945      </exec>               additionalparam="-XDignore.symbol.file=true" />
946    
947    </target>    </target>
948    
   <target name="compile-pretiger"  
           depends="init, configure-compiler, defang"  
           description="Compiles pre-Tiger sources to build folder">  
949    
950      <mkdir dir="${build.pretiger.dir}"/>    <target name="extra166ydist"
951              depends="extra166ydist-clean, extra166ydist-jar, extra166ydist-docs"
952              description="Puts all distributable products in single hierarchy"/>
953    
     <javac srcdir="${pretiger.src.dir}"  
           destdir="${build.pretiger.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${pretiger.sourcelevel}"  
              fork="true">  
954    
       <compilerarg line="${build.args}"/>  
       <exclude name="**/Thread.java"/>  
955    
956      </javac>    <target name="extra166yclean"
957              description="Removes all build products">
958    
959        <delete dir="${build.extra166y.dir}"/>
960        <delete dir="${build.extra166ylib.dir}"/>
961    
962    </target>    </target>
963    
   <target name="pretiger" depends="compile-pretiger">  
964    
     <mkdir dir="${build.lib.dir}"/>  
965    
966      <jar destfile="${pretiger.jar}">    <target name="extra166ydist-clean"
967        <fileset dir="${build.pretiger.dir}">            description="Removes all build and distribution products">
       </fileset>  
     </jar>  
968    
969    </target>    </target>
970    
971    <!-- jsr166x -->    <target name="extra166ydist-docs"
972              description="Builds javadocs to dist dir">
973    
974        <delete dir="${dist.extra166yjavadocs.dir}"/>
975        <mkdir dir="${dist.extra166yjavadocs.dir}"/>
976    
977    <target name="jsr166xcompile"      <javadoc destdir="${dist.extra166yjavadocs.dir}"
978            depends="init, configure-compiler"               packagenames="extra166y"
979            description="Compiles jsr166x sources">               link="${jdkapidocs.url}"
980                 source="${build.sourcelevel}"
981                 sourcepath="${topsrc.dir}:${jdksrc.dir}"
982                 additionalparam="-XDignore.symbol.file=true" />
983    
984      <mkdir dir="${build.jsr166x.dir}"/>    </target>
985    
986      <javac srcdir="${jsr166xsrc.dir}"    <target name="extra166ydist-jar"
987            destdir="${build.jsr166x.dir}"            depends="extra166yclean, extra166yjar">
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
988    
989        <include name="**/*.java"/>      <copy file="${extra166yproduct.jar}" todir="${dist.dir}"/>
990    
991      </target>
992    
993      <!-- jsr166e -->
994    
995      <target name="jsr166ecompile"
996              depends="configure-compiler"
997              description="Compiles jsr166e sources">
998    
999        <mkdir dir="${build.jsr166e.dir}"/>
1000    
1001        <javac srcdir="${topsrc.dir}"
1002               destdir="${build.jsr166e.dir}"
1003               debug="${build.debug}"
1004               debuglevel="${build.debuglevel}"
1005               deprecation="${build.deprecation}"
1006               source="1.7"
1007               classpath=""
1008               includeAntRuntime="false"
1009               includeJavaRuntime="false"
1010               executable="${javac7}"
1011               fork="true">
1012    
1013          <include name="jsr166e/**/*.java"/>
1014        <compilerarg line="${build.args}"/>        <compilerarg line="${build.args}"/>
1015          <compilerarg value="-XDignore.symbol.file=true"/>
1016          <compilerarg value="-Xlint:all"/>
1017    
1018      </javac>      </javac>
1019    
# Line 988  Line 1021 
1021    
1022    
1023    
1024    <target name="jsr166xjar"    <target name="jsr166ejar"
1025            depends="jsr166xcompile"            depends="jsr166ecompile"
1026            description="Builds library jar from compiled sources">            description="Builds library jar from compiled sources">
1027    
1028      <mkdir dir="${build.jsr166xlib.dir}"/>      <mkdir dir="${build.jsr166elib.dir}"/>
1029    
1030      <jar destfile="${jsr166xproduct.jar}">      <jar destfile="${jsr166eproduct.jar}" index="true">
1031        <fileset dir="${build.jsr166x.dir}"/>        <fileset dir="${build.jsr166e.dir}"/>
1032      </jar>      </jar>
1033    
1034    </target>    </target>
1035    
1036    
1037    
1038    <target name="jsr166xdocs"    <target name="jsr166edocs"
1039            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs with custom tags to build dir">
   
     <delete dir="${build.jsr166xjavadocs.dir}"/>  
     <mkdir dir="${build.jsr166xjavadocs.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"  
   
     >  
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
1040    
1041        <delete dir="${build.jsr166ejavadocs.dir}"/>
1042        <mkdir dir="${build.jsr166ejavadocs.dir}"/>
1043    
1044        <javadoc destdir="${build.jsr166ejavadocs.dir}"
1045                 packagenames="jsr166e,jsr166e.extra"
1046                 link="${jdkapi7docs.url}"
1047                 source="1.7"
1048                 sourcepath="${topsrc.dir}:${jdk7src.dir}"
1049                 executable="${javadoc7}"
1050                 additionalparam="-XDignore.symbol.file=true" >
1051          <fileset dir="${topsrc.dir}" defaultexcludes="yes">
1052            <include name="jsr166e/**/*.java"/>
1053          </fileset>
1054      </javadoc>      </javadoc>
1055    
1056    </target>    </target>
1057    
1058    
1059    <target name="jsr166xdist"    <target name="jsr166edist"
1060            depends="jsr166xdist-clean, jsr166xdist-jar, jsr166xdist-docs"            depends="jsr166edist-clean, jsr166edist-jar, jsr166edist-docs"
1061            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
1062    
1063    
1064    
1065    <target name="jsr166xclean"    <target name="jsr166eclean"
1066            description="Removes all build products">            description="Removes all build products">
1067    
1068      <delete dir="${build.jsr166x.dir}"/>      <delete dir="${build.jsr166e.dir}"/>
1069      <delete dir="${build.jsr166xlib.dir}"/>      <delete dir="${build.jsr166elib.dir}"/>
1070    
1071    </target>    </target>
1072    
1073    
1074    
1075    <target name="jsr166xdist-clean"    <target name="jsr166edist-clean"
1076            description="Removes all build and distribution products">            description="Removes all build and distribution products">
1077    
1078    </target>    </target>
1079    
1080      <target name="jsr166edist-docs"
1081              description="Builds javadocs to dist dir">
1082    
1083        <delete dir="${dist.jsr166ejavadocs.dir}"/>
1084        <mkdir dir="${dist.jsr166ejavadocs.dir}"/>
1085    
1086    <target name="jsr166xdist-docs"      <javadoc destdir="${dist.jsr166ejavadocs.dir}"
1087            description="Builds javadocs without custom tags to dist folder">               packagenames="jsr166e,jsr166e.extra"
1088                 link="${jdkapidocs.url}"
1089      <delete dir="${dist.jsr166xjavadocs.dir}"/>               source="1.7"
1090      <mkdir dir="${dist.jsr166xjavadocs.dir}"/>               sourcepath="${topsrc.dir}:${jdksrc.dir}"
1091                 additionalparam="-XDignore.symbol.file=true" />
     <javadoc destdir="${dist.jsr166xjavadocs.dir}"  
                 link="http://java.sun.com/j2se/1.5.0/docs/api/"  
               source="${build.sourcelevel}">  
   
       <packageset dir="${topsrc.dir}" defaultexcludes="yes">  
       <include name="jsr166x"/>  
       </packageset>  
   
     </javadoc>  
1092    
1093    </target>    </target>
1094    
1095    <target name="jsr166xdist-jar"    <target name="jsr166edist-jar"
1096            depends="jsr166xclean, jsr166xjar">            depends="jsr166eclean, jsr166ejar">
1097    
1098      <copy file="${jsr166xproduct.jar}" todir="${dist.dir}"/>      <copy file="${jsr166eproduct.jar}" todir="${dist.dir}"/>
1099    
1100    </target>    </target>
1101    

Legend:
Removed from v.1.72  
changed lines
  Added in v.1.103

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