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

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

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