Files
samskivert/build.xml
T
mdb 4607cf4b6a The Java compiler uses the platform's default encoding when reading source
files which explains why Ray's "there are no languages but English" system
resulted in complaints and my "named after the African word for community"
system did not. Fortunately we can just tell the Java compiler what to expect.


git-svn-id: https://samskivert.googlecode.com/svn/trunk@1942 6335cc39-0255-0410-8fd6-9bcaacd3b74c
2006-10-11 18:36:53 +00:00

145 lines
5.8 KiB
XML

<?xml version="1.0"?>
<!-- build configuration -->
<project name="samskivert" default="compile" basedir=".">
<!-- things you may want to change -->
<property name="app.name" value="samskivert"/>
<property name="doc.packages" value="com.samskivert.*"/>
<property name="doc.overview" value="com/samskivert/overview.html"/>
<property name="copyright.holder" value="Michael Bayne"/>
<!-- things you probably don't want to change -->
<property name="src.dir" value="src/java"/>
<property name="deploy.dir" value="dist"/>
<property name="javadoc.dir" value="${deploy.dir}/docs"/>
<property name="savedoc.dir" value="docs"/>
<!-- declare our classpath business -->
<path id="classpath">
<pathelement location="${deploy.dir}/classes"/>
<fileset dir="${deploy.dir}/lib" includes="*.jar"/>
</path>
<!-- import some targets to check dependency availability -->
<import file="depends-incl.xml"/>
<!-- prepares the application directories -->
<target name="prepare">
<tstamp><format property="year" pattern="yyyy" /></tstamp>
<mkdir dir="${deploy.dir}"/>
<mkdir dir="${deploy.dir}/lib"/>
<mkdir dir="${deploy.dir}/classes"/>
<mkdir dir="${javadoc.dir}"/>
<copy todir="${deploy.dir}/classes">
<fileset dir="${src.dir}" includes="**/*.properties"/>
</copy>
<copy todir="${deploy.dir}/lib">
<fileset dir="lib" includes="**/*.jar"/>
</copy>
</target>
<!-- cleans out the installed application -->
<target name="clean">
<delete dir="${deploy.dir}"/>
<ant dir="tests" target="clean"/>
</target>
<!-- build the java class files -->
<target name="compile" depends="prepare,compute-builds">
<javac srcdir="${src.dir}" destdir="${deploy.dir}/classes"
debug="on" optimize="${build.optimize}" deprecation="off"
source="1.5" target="1.5" encoding="utf-8">
<classpath refid="classpath"/>
<exclude name="com/samskivert/io/**" unless="build.io"/>
<exclude name="com/samskivert/jdbc/**" unless="build.jdbc"/>
<exclude name="com/samskivert/jdbc/depot/**" unless="build.depot"/>
<exclude name="com/samskivert/net/**" unless="build.net"/>
<exclude name="com/samskivert/servlet/**" unless="build.servlet"/>
<exclude name="com/samskivert/swing/**" unless="build.swing"/>
<exclude name="com/samskivert/test/**" unless="build.test"/>
<exclude name="com/samskivert/util/**" unless="build.util"/>
<exclude name="com/samskivert/velocity/**" unless="build.velocity"/>
<exclude name="com/samskivert/xml/**" unless="build.xml"/>
<compilerarg value="-Xlint:unchecked"/>
</javac>
</target>
<!-- build the javadoc documentation -->
<target name="javadoc" depends="prepare,compute-builds">
<javadoc windowtitle="${app.name} API"
doctitle="${app.name} API"
overview="${src.dir}/${doc.overview}"
destdir="${javadoc.dir}"
additionalparam="-breakiterator"
link="http://samskivert.com/code/samskivert/samskivert/docs/api/">
<packageset dir="${src.dir}">
<exclude name="com/samskivert/io/**" unless="build.io"/>
<exclude name="com/samskivert/jdbc/**" unless="build.jdbc"/>
<exclude name="com/samskivert/net/**" unless="build.net"/>
<exclude name="com/samskivert/servlet/**" unless="build.servlet"/>
<exclude name="com/samskivert/swing/**" unless="build.swing"/>
<exclude name="com/samskivert/test/**" unless="build.test"/>
<exclude name="com/samskivert/util/**" unless="build.util"/>
<exclude name="com/samskivert/velocity/**" unless="build.velocity"/>
<exclude name="com/samskivert/xml/**" unless="build.xml"/>
</packageset>
<bottom>Copyright &#169; 2000-${year} ${copyright.holder}.
All Rights Reserved.</bottom>
<classpath refid="classpath"/>
<link href="http://java.sun.com/j2se/1.4/docs/api/"/>
</javadoc>
</target>
<!-- builds the javadocs and stuffs them in a directory where they won't
be blown away when we do "clean" next time -->
<target name="savedoc" depends="javadoc">
<delete dir="${savedoc.dir}/api"/>
<copy todir="${savedoc.dir}/api">
<fileset dir="${javadoc.dir}" includes="**/*"/>
</copy>
</target>
<!-- a target for rebuilding everything -->
<target name="all" depends="clean,prepare,compile,javadoc,dist"/>
<!-- builds the various tests -->
<target name="tests">
<ant dir="tests" target="compile"/>
</target>
<!-- builds our distribution files (war and jar) -->
<target name="dist" depends="prepare,compile,tests">
<jar destfile="${deploy.dir}/${app.name}.jar"
basedir="${deploy.dir}/classes"/>
</target>
<!-- converts our 1.5 code to a 1.4 compatible format -->
<target name="retro" depends="dist">
<taskdef name="weave" classpathref="classpath"
classname="com.rc.retroweaver.ant.RetroWeaverTask"/>
<mkdir dir="${deploy.dir}/retro"/>
<weave inputjar="${deploy.dir}/${app.name}.jar"
outputjar="${deploy.dir}/retro/${app.name}.jar" failonerror="true">
<classpath>
<pathelement location="/usr/local/jdk1.4/jre/lib/rt.jar"/>
<pathelement location="lib/retroweaver-rt-1.2.2.jar"/>
<pathelement location="dist/retro/samskivert.jar"/>
<fileset dir="lib" includes="**/*.jar"/>
</classpath>
</weave>
</target>
<!-- generate a class hierarchy diagram -->
<target name="hiergen" depends="prepare,compile">
<taskdef name="viztool" classname="com.samskivert.viztool.DriverTask"/>
<viztool visualizer="com.samskivert.viztool.hierarchy.HierarchyVisualizer"
pkgroot="com.samskivert"
classes="com.samskivert.*"
output="hierarchy.ps">
<classpath refid="classpath"/>
</viztool>
</target>
</project>