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

Diff of /jsr166/build.xml

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

revision 1.11 by tim, Wed Dec 11 15:59:11 2002 UTC revision 1.18 by tim, Mon Dec 16 15:32:55 2002 UTC
# Line 1  Line 1 
1  <project name="jsr166" default="jar">  <project name="jsr166" default="usage">
2    
3    <description>    <description>
   
4      Build file for JSR-166      Build file for JSR-166
5    
6      Note that junit.jar must be in ${ant.home}/lib for the      JUnit 1.8 must be in ${ant.home}/lib for the test target to work.
     test target to work. [FIXME: This should be automatically  
     enforced by this build file by failing with a message if  
     junit.jar is not in the right place.]  
   
7    </description>    </description>
8    
9    
10      <target name="usage" description="Prints this message">
11        <echo>
12    ant [target], where target is one of:
13    
14     usage       (default) Prints this message
15     compile     Compiles all sources to build folder
16     jar         Builds library jar from compiled sources
17     test        Runs all tests (requires JUnit 1.8 in ${ant.home}/lib)
18     docs        Builds javadocs with custom tags to build folder
19     dist-docs   Builds javadocs without custom tags to dist folder
20     dist        Puts all distributable products in single hierarchy
21    
22     clean       Removes all build products
23     dist-clean  Removes all build and distribution products
24    
25     checkstyle  Reports on style errors in Java source (verbose, mostly chaff)
26     doccheck    Reports on javadoc style errors (not working yet)
27        </echo>
28      </target>
29    
30    
31    <!-- Compilation options -->    <!-- Compilation options -->
32    <property name="build.sourcelevel"    value="1.5"/>    <property name="build.sourcelevel"    value="1.5"/>
33    <property name="build.debug"          value="true"/>    <property name="build.debug"          value="true"/>
34    <property name="build.debuglevel"     value="source,lines,vars"/>    <property name="build.debuglevel"     value="source,lines,vars"/>
35    <property name="build.deprecation"    value="true"/>    <property name="build.deprecation"    value="false"/>
36      <!--
37    <property name="build.warnings"       value="true"/>    <property name="build.warnings"       value="true"/>
38      -->
39    
40    <!-- Build locations -->    <!-- Build locations -->
41    <property name="build.dir"            location="build"/>    <property name="build.dir"            location="build"/>
# Line 25  Line 44 
44    <property name="build.lib.dir"        location="${build.dir}/lib"/>    <property name="build.lib.dir"        location="${build.dir}/lib"/>
45    <property name="build.ant.dir"        location="${build.dir}/ant"/>    <property name="build.ant.dir"        location="${build.dir}/ant"/>
46    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>    <property name="build.javadocs.dir"   location="${build.dir}/javadocs"/>
47      <property name="build.stripped.dir"   location="${build.dir}/stripped"/>
48    <property name="build.reports.dir"    location="${build.dir}/reports"/>    <property name="build.reports.dir"    location="${build.dir}/reports"/>
49      <property name="build.doccheck.dir"   location="${build.dir}/doccheck"/>
50    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>    <property name="build.filter.src.dir" location="${build.dir}/filtersrc"/>
51    
52    <!-- Source locations -->    <!-- Source locations -->
# Line 90  Line 111 
111    </target>    </target>
112    
113    
114    <target name="test" depends="init, report-tests"    <target name="test" depends="init, check-junit, report-tests"
115            description="Runs all tests"/>            description="Runs all tests (requires JUnit 1.8 in ${ant.home}/lib)"/>
116    
117    
118      <target name="checkstyle" depends="filter-src"
119              description="Reports on style errors in Java source (verbose, mostly chaff)">
120        <taskdef resource="checkstyletask.properties"
121                classpath="${lib.dir}/checkstyle-all-2.4.jar"/>
122    
123    <target name="docs" depends="init, clean-filtered-src, filter-src"      <checkstyle>
124          <formatter type="plain"/>  <!-- also available: type="xml" -->
125          <fileset dir="${build.filter.src.dir}" includes="**/*.java"/>
126        </checkstyle>
127      </target>
128    
129    
130      <target name="doccheck" depends="filter-src"
131              description="Reports on javadoc style errors (not working yet)">
132        <delete dir="${build.doccheck.dir}"/>
133        <mkdir dir="${build.doccheck.dir}"/>
134        <javadoc doclet="com.sun.tools.doclets.doccheck.DocCheck"
135             docletpath="${lib.dir}/doccheck.jar"
136                destdir="${build.doccheck.dir}">
137          <packageset dir="${build.filter.src.dir}">
138            <include name="java/**"/>
139          </packageset>
140        </javadoc>
141      </target>
142    
143    
144      <target name="docs" depends="filter-src"
145            description="Builds javadocs with custom tags to build folder">            description="Builds javadocs with custom tags to build folder">
146      <delete dir="${build.javadocs.dir}"/>      <delete dir="${build.javadocs.dir}"/>
147      <mkdir dir="${build.javadocs.dir}"/>      <mkdir dir="${build.javadocs.dir}"/>
# Line 115  Line 162 
162    </target>    </target>
163    
164    
165    <target name="dist" depends="init, dist-clean, dist-jar, dist-docs"/>    <target name="strip" depends="init">
166        <mkdir dir="${build.stripped.dir}"/>
167        <javac srcdir="${src.dir}"
168              destdir="${build.stripped.dir}"
169                debug="${build.debug}"
170           debuglevel="${build.debuglevel}"
171          deprecation="${build.deprecation}"
172               source="${build.sourcelevel}"
173                 fork="true">
174    
175          <bootclasspath refid="javac.bootclasspath"/>
176          <compilerarg line="${javac.args} ${build.warnings.option} -s"/>
177    
178          <!-- need this because srcdir is basedir! -->
179          <include name="java/**/*.java"/>
180    
181        </javac>
182      </target>
183    
184    
185      <target name="dist" depends="init, dist-clean, dist-jar, dist-docs"
186              description="Puts all distributable products in single hierarchy"/>
187    
188    
189    <target name="clean"    <target name="clean"
# Line 132  Line 200 
200    </target>    </target>
201    
202    
203      <!-- Anthill targets -->
204    
205      <!-- Should really run the tests instead of just the jar target -->
206      <target name="anthill-build" depends="jar, docs, dist-docs"/>
207    
208      <target name="anthill-publish">
209        <copy todir="${deployDir}/docs/private">
210          <fileset dir="${build.javadocs.dir}"/>
211        </copy>
212        <copy todir="${deployDir}/docs/public">
213          <fileset dir="${dist.javadocs.dir}"/>
214        </copy>
215        <copy tofile="${deployDir}/index.html"
216              file="${basedir}/etc/anthill-index.html"/>
217      </target>
218    
219    
220    <!-- Internal targets -->    <!-- Internal targets -->
221    
222    <target name="set-warnings-if" if="build.warnings">    <target name="set-warnings-if" if="build.warnings">
223      <property name="build.warnings.option" value="-warnunchecked"/>      <property name="build.warnings.option" value="-warnunchecked"/>
224    </target>    </target>
225    
226    
227    <target name="set-warnings-unless" unless="build.warnings">    <target name="set-warnings-unless" unless="build.warnings">
228      <property name="build.warnings.option" value=""/>      <property name="build.warnings.option" value=""/>
229    </target>    </target>
230    
231    
232    <target name="init" depends="set-warnings-if, set-warnings-unless">    <target name="init" depends="set-warnings-if, set-warnings-unless">
233      <!-- Version is kept in a separate file -->      <!-- Version is kept in a separate file -->
234      <loadfile property="version" srcFile="version.properties"/>      <loadfile property="version" srcFile="version.properties"/>
# Line 149  Line 236 
236    </target>    </target>
237    
238    
   <target name="clean-filtered-src">  
     <delete dir="${build.filter.src.dir}"/>  
   </target>  
   
   
239    <target name="dist-jar" depends="clean, jar">    <target name="dist-jar" depends="clean, jar">
240      <copy file="${product.jar}" todir="${dist.dir}"/>      <copy file="${product.jar}" todir="${dist.dir}"/>
241    </target>    </target>
242    
243    
244    <target name="dist-docs" depends="clean-filtered-src, filter-src"    <target name="dist-docs" depends="filter-src"
245            description="Builds javadocs without custom tags to dist folder">            description="Builds javadocs without custom tags to dist folder">
246      <delete dir="${dist.javadocs.dir}"/>      <delete dir="${dist.javadocs.dir}"/>
247      <mkdir dir="${dist.javadocs.dir}"/>      <mkdir dir="${dist.javadocs.dir}"/>
# Line 176  Line 258 
258    </target>    </target>
259    
260    
261    <target name="compile-ant-filter">    <target name="compile-ant-filter" depends="init">
262      <mkdir dir="${build.ant.dir}"/>      <mkdir dir="${build.ant.dir}"/>
263      <javac srcdir="${ant.src.dir}"      <javac srcdir="${ant.src.dir}"
264            destdir="${build.ant.dir}"            destdir="${build.ant.dir}"
# Line 189  Line 271 
271      <mkdir dir="${build.filter.src.dir}"/>      <mkdir dir="${build.filter.src.dir}"/>
272      <copy todir="${build.filter.src.dir}">      <copy todir="${build.filter.src.dir}">
273        <fileset dir="${src.dir}">        <fileset dir="${src.dir}">
274          <include name="**/*.java"/>          <include name="java/**/*.java"/>
275        </fileset>        </fileset>
276        <filterchain>        <filterchain>
277          <filterreader classname="jsr166.ant.filters.ReplaceFilter"          <filterreader classname="jsr166.ant.filters.ReplaceFilter"
# Line 251  Line 333 
333               showoutput="true"               showoutput="true"
334            errorProperty="junit.failed"            errorProperty="junit.failed"
335          failureProperty="junit.failed"          failureProperty="junit.failed"
336                      dir="${build.reports.dir}">                      dir="${build.reports.dir}"
337                       fork="true">
338    
339          <jvmarg value="-Xbootclasspath/p:${product.jar}"/>
340    
341        <classpath>        <classpath>
342          <path refid="test.classpath"/>          <!-- <path refid="test.classpath"/> -->
343          <pathelement location="${build.testcases.dir}"/>          <pathelement location="${build.testcases.dir}"/>
344        </classpath>        </classpath>
345    
# Line 293  Line 378 
378    </target>    </target>
379    
380    
381      <target name="check-junit">
382        <!-- FIXME: this test isn't specific enough -->
383        <available property="junit.available"
384                   classname="junit.framework.TestCase"/>
385        <fail message="Need JUnit 1.8 to run tests" unless="junit.available"/>
386      </target>
387    
388    
389  </project>  </project>

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.18

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