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

Diff of /jsr166/build.xml

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

revision 1.56 by tim, Mon Sep 1 04:21:55 2003 UTC revision 1.58 by tim, Mon Sep 15 15:13:35 2003 UTC
# Line 30  Line 30 
30    <!-- Build locations -->    <!-- Build locations -->
31    <property name="build.dir"            location="build"/>    <property name="build.dir"            location="build"/>
32    <property name="build.classes.dir"    location="${build.dir}/classes"/>    <property name="build.classes.dir"    location="${build.dir}/classes"/>
   <property name="build.emulation.dir"  location="${build.dir}/emulation"/>  
33    <property name="build.testcases.dir"  location="${build.dir}/testcases"/>    <property name="build.testcases.dir"  location="${build.dir}/testcases"/>
34    <property name="build.lib.dir"        location="${build.dir}/lib"/>    <property name="build.lib.dir"        location="${build.dir}/lib"/>
35    <property name="build.ant.dir"        location="${build.dir}/ant"/>    <property name="build.ant.dir"        location="${build.dir}/ant"/>
# Line 40  Line 39 
39    <property name="build.reports.dir"    location="${build.dir}/reports"/>    <property name="build.reports.dir"    location="${build.dir}/reports"/>
40    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>    <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>
41    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>
42    <property name="build.filter.doccheck.dir" location="${build.dir}/filterdocchk"/>    <property name="build.dc-filter.dir"  location="${build.dir}/filterdocchk"/>
43      <property name="build.checkstyle.dir" location="${build.dir}/checkstyle"/>
44    
45    <!-- Source locations -->    <!-- Source locations -->
46    <property name="src.dir"              location="${basedir}/src/main"/>    <property name="src.dir"              location="${basedir}/src/main"/>
   <property name="emulation.src.dir"    location="${basedir}/src/emulation"/>  
47    <property name="test.src.dir"         location="${basedir}/src/test"/>    <property name="test.src.dir"         location="${basedir}/src/test"/>
48    <property name="ant.src.dir"          location="${basedir}/etc/ant"/>    <property name="ant.src.dir"          location="${basedir}/etc/ant"/>
49    <property name="stylesheet.dir"       location="${basedir}/etc/xsl"/>    <property name="stylesheet.dir"       location="${basedir}/etc/xsl"/>
# Line 61  Line 60 
60    <property name="sinjdoc.jar"          location="${lib.dir}/sinjdoc.jar"/>    <property name="sinjdoc.jar"          location="${lib.dir}/sinjdoc.jar"/>
61    
62    
63    <!-- Files excluded from dist-docs and emulation jar -->    <!-- Files excluded from dist-docs -->
64    <patternset id="unsafe.exclusion">    <patternset id="docs.exclusion">
65      <exclude name="java/util/Random.*"/>      <exclude name="java/util/Random.*"/>
66      <exclude name="sun/misc/Unsafe.*"/>      <exclude name="sun/misc/Unsafe.*"/>
67    </patternset>    </patternset>
68    
   <!-- Files excludes from emulation jar -->  
   <patternset id="atomic.exclusion">  
     <exclude name="java/util/concurrent/atomic/AtomicBoolean*"/>  
     <exclude name="java/util/concurrent/atomic/AtomicInteger*"/>  
     <exclude name="java/util/concurrent/atomic/AtomicLong*"/>  
     <exclude name="java/util/concurrent/atomic/AtomicReference*"/>  
     <exclude name="java/util/concurrent/locks/LockSupport*"/>  
     <exclude name="java/util/concurrent/locks/ReentrantLock*"/>  
   </patternset>  
   
69    
70    
71    <!-- Main targets -->    <!-- Main targets -->
# Line 89  Line 78 
78    
79      <mkdir dir="${build.classes.dir}"/>      <mkdir dir="${build.classes.dir}"/>
80    
 <!--  
     <echo>javac ${gjc.args}</echo>  
     <echo>bootclasspath=${compile.bootclasspath}</echo>  
 -->  
   
81      <javac srcdir="${prepare.src.dir}"      <javac srcdir="${prepare.src.dir}"
82            destdir="${build.classes.dir}"            destdir="${build.classes.dir}"
83              debug="${build.debug}"              debug="${build.debug}"
# Line 102  Line 86 
86             source="${build.sourcelevel}"             source="${build.sourcelevel}"
87               fork="true">               fork="true">
88    
89        <compilerarg    line="${gjc.args}"/>        <compilerarg line="${build.args}"/>
 <!--  
       <bootclasspath refid="compile.bootclasspath"/>  
 -->  
90    
91      </javac>      </javac>
92    
# Line 113  Line 94 
94    
95    
96    <target name="jar"    <target name="jar"
97            depends="configure-emulation, init-jar, native-jar, emulation-jar"            depends="init-jar, native-jar"
98            description="Builds library jar from compiled sources"/>            description="Builds library jar from compiled sources"/>
99    
100    
# Line 127  Line 108 
108            description="Reports on style errors in Java source (verbose, mostly chaff)">            description="Reports on style errors in Java source (verbose, mostly chaff)">
109    
110      <taskdef resource="checkstyletask.properties"      <taskdef resource="checkstyletask.properties"
111              classpath="${lib.dir}/checkstyle-all-2.4.jar"/>              classpath="${lib.dir}/checkstyle-all-3.1.jar"/>
112    
113      <checkstyle>      <mkdir dir="${build.checkstyle.dir}"/>
114        <formatter type="plain"/>  <!-- also available: type="xml" -->      
115        <checkstyle config="etc/checkstyle/sun_checks.xml"
116           failOnViolation="false">
117          <formatter type="xml" toFile="${build.checkstyle.dir}/checkstyle-report.xml"/>
118        <fileset dir="${build.filter.src.dir}" includes="**/*.java"/>        <fileset dir="${build.filter.src.dir}" includes="**/*.java"/>
119      </checkstyle>      </checkstyle>
120        
121        <style in="${build.checkstyle.dir}/checkstyle-report.xml"
122              out="${build.checkstyle.dir}/checkstyle-report.html"
123            style="${stylesheet.dir}/checkstyle-frames.xsl"/>
124    
125    </target>    </target>
126    
# Line 147  Line 135 
135      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"      <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"
136           docletpath="${lib.dir}/doccheck.jar"           docletpath="${lib.dir}/doccheck.jar"
137              destdir="${build.doccheck.dir}">              destdir="${build.doccheck.dir}">
138        <packageset dir="${build.filter.doccheck.dir}"/>        <packageset dir="${build.dc-filter.dir}"/>
139      </javadoc>      </javadoc>
140    
141      <echo>DocCheck output is in ${build.doccheck.dir}</echo>      <echo>DocCheck output is in ${build.doccheck.dir}</echo>
# Line 169  Line 157 
157    
158        <tag name="revised" description="Last revised:"/>        <tag name="revised" description="Last revised:"/>
159        <tag name="spec"    description="Specified by:"/>        <tag name="spec"    description="Specified by:"/>
       <tag name="editor"  description="Last edited by:"/>  
       <tag name="fixme"   description="FIX ME:"/>  
160    
161        <packageset dir="${build.filter.src.dir}"/>        <packageset dir="${build.filter.src.dir}"/>
162    
# Line 188  Line 174 
174    
175      <java classname="net.cscott.sinjdoc.Main" fork="true">      <java classname="net.cscott.sinjdoc.Main" fork="true">
176    
177        <jvmarg value="-Xbootclasspath/p:${test.run.bootclasspath}"/>        <jvmarg value="-Xbootclasspath/p:${test.bootclasspath}"/>
178    
179        <classpath>        <classpath>
180          <pathelement location="${sinjdoc.jar}"/>          <pathelement location="${sinjdoc.jar}"/>
# Line 197  Line 183 
183          <path refid="test.classpath"/>          <path refid="test.classpath"/>
184        </classpath>        </classpath>
185    
186          <!-- <arg value="-help"/> -->
187          <!-- <arg value="-verbose"/> -->
188          <!-- <arg value="-link"/>  <arg value="http://java.sun.com/j2se/1.4.1/docs/api"/> -->
189          
190        <arg value="-d"/>          <arg value="${build.sinjdocs.dir}"/>        <arg value="-d"/>          <arg value="${build.sinjdocs.dir}"/>
191        <arg value="-sourcepath"/> <arg value="${src.dir}"/>        <arg value="-sourcepath"/> <arg value="${src.dir}"/>
192        <arg value="-overview"/>   <arg value="${src.dir}/intro.html"/>        <arg value="-overview"/>   <arg value="${src.dir}/intro.html"/>
193        <arg value="-source"/>     <arg value="${build.sourcelevel}"/>        <arg value="-source"/>     <arg value="${build.sourcelevel}"/>
194        <!-- <arg value="-verbose"/> -->        
       <!-- <arg value="-link"/>  <arg value="http://java.sun.com/j2se/1.4.1/docs/api"/> -->  
195        <arg value="java.lang"/>        <arg value="java.lang"/>
196        <arg value="java.util"/>        <arg value="java.util"/>
197        <arg value="java.util.concurrent"/>        <arg value="java.util.concurrent"/>
198        <arg value="java.util.concurrent.atomic"/>        <arg value="java.util.concurrent.atomic"/>
199        <arg value="java.util.concurrent.locks"/>        <arg value="java.util.concurrent.locks"/>
200    
       <!--  
       <arg value="-help"/>  
       -->  
201    
202      </java>      </java>
203    
204    </target>    </target>
205    
206    
   <target name="strip"  
           depends="init, configure-compiler"  
           description="Strip generics from java source (not working yet)">  
   
     <mkdir dir="${build.stripped.dir}"/>  
   
     <!--  
      # javac -s doesn't reliably generate compilable code. It generates  
      # bridge methods (marked as "synthetic") that can have identical  
      # signatures to existing methods except for the return value.  
      -->  
     <javac srcdir="${src.dir}"  
           destdir="${build.stripped.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
   
       <compilerarg    line="${gjc.args} -s"/>  
 <!--  
       <bootclasspath refid="compile.bootclasspath"/>  
 -->  
   
     </javac>  
   
   </target>  
   
   
207    <target name="dist"    <target name="dist"
208            depends="init, dist-clean, dist-jar, dist-docs"            depends="init, dist-clean, dist-jar, dist-docs"
209            description="Puts all distributable products in single hierarchy"/>            description="Puts all distributable products in single hierarchy"/>
210    
211    
212    <target name="release"    <target name="release"
213            depends="dist"            depends="dist"
214            description="Puts entire CVS tree, plus distribution productions, in a jar">            description="Puts entire CVS tree, plus distribution productions, in a jar">
215    
 <!--  
     #keep build dir? - dl  
     <delete dir="${build.dir}"/>  
 -->  
216      <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>      <property name="release.jar" value="dist/jsr166-${version}-dist.jar"/>
217    
218      <jar basedir="${basedir}" destfile="${release.jar}">      <jar basedir="${basedir}" destfile="${release.jar}">
219          <!-- <exclude name="build/**"/> -->
220        <exclude name="${release.jar}"/>        <exclude name="${release.jar}"/>
221        <exclude name="user.properties"/>        <exclude name="user.properties"/>
222        <exclude name="etc/notes/**"/>        <exclude name="etc/notes/**"/>
223        <exclude name="lib/gjc/2.1/**"/>        <exclude name="src/emulation/**"/>
224        <exclude name="**/SyntaxTest.java"/>        <exclude name="**/SyntaxTest.java"/>
225          <exclude name="**/SuperfluousAbstract.java"/>
226      </jar>      </jar>
227    
228    </target>    </target>
# Line 331  Line 286 
286    
287    
288    <target name="native-jar"    <target name="native-jar"
289            depends="compile"            depends="compile">
           unless="build.emulation.true">  
290    
291      <jar destfile="${product.jar}">      <jar destfile="${product.jar}">
292        <fileset dir="${build.classes.dir}"/>        <fileset dir="${build.classes.dir}"/>
# Line 341  Line 295 
295    </target>    </target>
296    
297    
   <target name="compile-emulation"  
           depends="init, configure-compiler"  
           if="build.emulation.true">  
   
     <mkdir dir="${build.emulation.dir}"/>  
   
     <javac srcdir="${emulation.src.dir}"  
           destdir="${build.emulation.dir}"  
             debug="${build.debug}"  
        debuglevel="${build.debuglevel}"  
       deprecation="${build.deprecation}"  
            source="${build.sourcelevel}"  
              fork="true">  
   
       <compilerarg    line="${gjc.args}"/>  
 <!--  
       <bootclasspath refid="compile.bootclasspath"/>  
 -->  
   
     </javac>  
   
   </target>  
   
   
   <target name="emulation-jar"  
           depends="compile-emulation"  
           if="build.emulation.true">  
   
   
     <jar destfile="${product.jar}" duplicate="add">  
       <fileset dir="${build.classes.dir}">  
         <patternset refid="atomic.exclusion"/>  
         <patternset refid="unsafe.exclusion"/>  
       </fileset>  
       <fileset dir="${build.emulation.dir}"/>  
     </jar>  
   
   </target>  
   
   
298    <target name="dist-jar"    <target name="dist-jar"
299            depends="clean, jar">            depends="clean, jar">
300    
# Line 416  Line 330 
330      <copy todir="${build.filter.src.dir}">      <copy todir="${build.filter.src.dir}">
331        <fileset dir="${src.dir}">        <fileset dir="${src.dir}">
332          <exclude name="**/*.html"/>          <exclude name="**/*.html"/>
333          <patternset refid="unsafe.exclusion"/>          <patternset refid="docs.exclusion"/>
334        </fileset>        </fileset>
335        <filterchain>        <filterchain>
336    
# Line 439  Line 353 
353            <param name="replacement" value=" "/>            <param name="replacement" value=" "/>
354          </filterreader>          </filterreader>
355    
   
         <!--  
          # This filter uncomments lines beginning with "//@" so that  
          # javadoc can see imports that are needed to resolve links  
          # but that shouldn't be in the compiled code.  
          -->  
   
         <filterreader classname="jsr166.ant.filters.ReplaceFilter"  
                       classpath="${build.ant.dir}">  
           <param name="matching"    value="^//@.*$"/>  
           <param name="pattern"     value="^//@"/>  
           <param name="replacement" value=""/>  
         </filterreader>  
356        </filterchain>        </filterchain>
357      </copy>      </copy>
358    
359    </target>    </target>
360    
361    
   
   
362    <target name="filter-doccheck"    <target name="filter-doccheck"
363            depends="filter-src">            depends="filter-src">
364    
365      <mkdir dir="${build.filter.doccheck.dir}"/>      <mkdir dir="${build.dc-filter.dir}"/>
366    
367      <copy todir="${build.filter.doccheck.dir}">      <copy todir="${build.dc-filter.dir}">
368        <fileset dir="${build.filter.src.dir}">        <fileset dir="${build.filter.src.dir}">
369          <include name="**/*.html"/>          <include name="**/*.html"/>
370        </fileset>        </fileset>
# Line 475  Line 374 
374               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 {}"               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 {}"
375      />      />
376    
377      <copy todir="${build.filter.doccheck.dir}">      <copy todir="${build.dc-filter.dir}">
378        <fileset dir="${build.filter.src.dir}">        <fileset dir="${build.filter.src.dir}">
379          <exclude name="**/*.html"/>          <exclude name="**/*.html"/>
380        </fileset>        </fileset>
# Line 513  Line 412 
412    
413      <mkdir dir="${build.testcases.dir}"/>      <mkdir dir="${build.testcases.dir}"/>
414    
 <!--  
     <echo>javac ${gjc.args}</echo>  
     <echo>bootclasspath=${test.compile.bootclasspath}</echo>  
     <echo>classpath="${test.classpath}"</echo>  
 -->  
   
415      <javac srcdir="${test.src.dir}"      <javac srcdir="${test.src.dir}"
416            destdir="${build.testcases.dir}"            destdir="${build.testcases.dir}"
417              debug="${build.debug}"              debug="${build.debug}"
# Line 527  Line 420 
420             source="${build.sourcelevel}"             source="${build.sourcelevel}"
421               fork="true">               fork="true">
422    
423        <compilerarg    line="${gjc.args}"/>        <compilerarg line="${build.args}"/>
424  <!--              <classpath refid="test.classpath"/>
       <bootclasspath refid="test.compile.bootclasspath"/>  
 -->        
       <classpath     refid="test.classpath"/>  
425                
426        <include name="java/**"/>        <include name="java/**"/>
427        <include name="jsr166/**"/>        <include name="jsr166/**"/>
# Line 556  Line 446 
446                      dir="${build.reports.dir}"                      dir="${build.reports.dir}"
447                     fork="true">                     fork="true">
448    
449        <jvmarg value="-Xbootclasspath:${test.run.bootclasspath}"/>        <jvmarg value="-Xbootclasspath:${test.bootclasspath}"/>
450    
451        <formatter type="xml"/>        <formatter type="xml"/>
452    
# Line 600  Line 490 
490    
491    <target name="configure-compiler">    <target name="configure-compiler">
492    
     <property name="gjc.version"  
              value="2.2"/>  
   
     <condition property="novariance.arg" value="-novariance">  
       <and>  
         <equals arg1="${gjc.version}" arg2="2.0"/>  
         <or>  
           <not><isset property="gjc.novariance"/></not>  
           <istrue value="${gjc.novariance}"/>  
         </or>  
       </and>  
     </condition>  
   
     <property name="novariance.arg"  
              value=""/>  
   
     <property name="gjc.dir"  
              value="${lib.dir}/gjc"/>  
   
     <property name="javac.jar"  
           location="${gjc.dir}/${gjc.version}/javac.jar"/>  
   
     <property name="collect.jar"  
           location="${gjc.dir}/${gjc.version}/collect${novariance.arg}.jar"/>  
   
 <!--  
     <property name="unchecked.option" value="-warnunchecked"/>  
 -->  
   
493      <property name="unchecked.option" value="-Xlint:unchecked"/>      <property name="unchecked.option" value="-Xlint:unchecked"/>
494    
495      <condition property="warnunchecked.arg" value="${unchecked.option}">      <condition property="warnunchecked.arg" value="${unchecked.option}">
496        <istrue value="${gjc.warnunchecked}"/>        <istrue value="${build.warnunchecked}"/>
497      </condition>      </condition>
498    
499      <property name="warnunchecked.arg" value=""/>      <property name="warnunchecked.arg" value=""/>
# Line 642  Line 503 
503      </condition>      </condition>
504    
505    
     <!--  
      ! Bootclasspath munging for source compilation.  
      -->  
   
     <path id="pre.bootclasspath">  
 <!--  
       <pathelement location="${javac.jar}"/>  
 -->  
     </path>  
   
     <path id="compile.bootclasspath">  
       <pathelement location="${build.classes.dir}"/>  
 <!--        
       <pathelement location="${collect.jar}"/>  
 -->  
       <pathelement location="${rt.jar}"/>  
     </path>  
   
     <!-- Flatten paths into platform-appropriate strings -->  
     <property name="pre.bootclasspath"     refid="pre.bootclasspath"/>  
     <property name="compile.bootclasspath" refid="compile.bootclasspath"/>  
   
   
506      <!-- Common options in javac invocations -->      <!-- Common options in javac invocations -->
507  <!--      <property name="build.args" value="${warnunchecked.arg}"/>
     <property name="gjc.args"  
              value="-J-Xbootclasspath/p:${pre.bootclasspath} ${warnunchecked.arg} ${novariance.arg}"  
     />  
 -->  
     <property name="gjc.args" value="${warnunchecked.arg} ${novariance.arg}"/>  
508    
509    </target>    </target>
510    
# Line 690  Line 523 
523    </target>    </target>
524    
525    
   <target name="configure-emulation">  
   
     <condition property="build.emulation.true">  
       <istrue value="${build.emulation}"/>  
     </condition>  
   
   </target>  
   
   
526    <target name="configure-tests"    <target name="configure-tests"
527         depends="configure-compiler">         depends="configure-compiler">
528    
# Line 725  Line 549 
549      <path id="test.classpath">      <path id="test.classpath">
550        <pathelement location="${product.jar}"/>        <pathelement location="${product.jar}"/>
551        <pathelement location="${rt.jar}"/>        <pathelement location="${rt.jar}"/>
       <pathelement location="${build.testcases.dir}"/>  
552        <pathelement location="${junit.jar}"/>        <pathelement location="${junit.jar}"/>
553          <pathelement location="${build.testcases.dir}"/>
554      </path>      </path>
555    
556      <path id="test.compile.bootclasspath">      <path id="test.bootclasspath">
       <pathelement location="${javac.jar}"/>  
       <pathelement location="${collect.jar}"/>  
       <pathelement location="${rt.jar}"/>  
     </path>  
   
     <path id="test.run.bootclasspath">  
 <!--      
       <pathelement location="${javac.jar}"/>  
 -->        
557        <path refid="test.classpath"/>        <path refid="test.classpath"/>
558      </path>      </path>
559    
560      <!-- Flatten test classpaths into platform-appropriate strings -->      <!-- Flatten test classpaths into platform-appropriate strings -->
561      <property name="test.classpath"             refid="test.classpath"/>      <property name="test.classpath"         refid="test.classpath"/>
562      <property name="test.compile.bootclasspath" refid="test.compile.bootclasspath"/>      <property name="test.bootclasspath"     refid="test.bootclasspath"/>
     <property name="test.run.bootclasspath"     refid="test.run.bootclasspath"/>  
563    
564    </target>    </target>
565    
# Line 800  Line 614 
614    <target name="ng" depends="test">    <target name="ng" depends="test">
615      <java classname="SuperfluousAbstract" fork="true">      <java classname="SuperfluousAbstract" fork="true">
616    
617        <jvmarg value="-Xbootclasspath/p:${test.run.bootclasspath}"/>        <jvmarg value="-Xbootclasspath/p:${test.bootclasspath}"/>
618    
619      </java>      </java>
620    </target>    </target>

Legend:
Removed from v.1.56  
changed lines
  Added in v.1.58

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