acf8fea697
to typesafe 1.5 patterns; tidied some things up. Two impactful changes: - jora.Table now takes the class object of the row class, rather than its name; I also removed support for the derived table stuff as we don't use it and it was a PITA to make work cleanly with proper type-safety; - SortableArrayList got split into SortableArrayList (which does its sorting using a Comparator) and ComparableArrayList which contains elements that implement Comparable. In the world of loose typing, one class could do both, but in strong typing land, they have to be separate classes. git-svn-id: https://samskivert.googlecode.com/svn/trunk@1810 6335cc39-0255-0410-8fd6-9bcaacd3b74c
255 lines
10 KiB
XML
255 lines
10 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="lib" includes="**/*.jar"/>
|
|
</path>
|
|
|
|
<!-- checks to see which packages are available -->
|
|
<target name="check-available">
|
|
<echo message="The packages required for building are listed below."/>
|
|
<echo message="A package followed by 'true' indicates that the package"/>
|
|
<echo message="is present. One followed by '${package.present}' indicates"/>
|
|
<echo message="that it was not found. Jar files can be placed into the"/>
|
|
<echo message="lib/ directory or placed in the directory referenced"/>
|
|
<echo message="by your JAVA_LIBS environment variable."/>
|
|
|
|
<echo message=""/>
|
|
<echo message="------------------------------------------"/>
|
|
<echo message="Standard extensions - http://java.sun.com/"/>
|
|
<echo message="------------------------------------------"/>
|
|
<available property="servlet2.3.present"
|
|
classname="javax.servlet.Servlet" classpathref="classpath"/>
|
|
<echo message="Servlet 2.3: ${servlet2.3.present}"/>
|
|
<available property="mail.present"
|
|
classname="javax.mail.Transport" classpathref="classpath"/>
|
|
<echo message="Java Mail: ${mail.present}"/>
|
|
|
|
<available property="sax.present"
|
|
classname="org.xml.sax.SAXException" classpathref="classpath"/>
|
|
<echo message="SAX: ${sax.present}"/>
|
|
|
|
<available property="jaxp.present"
|
|
classname="javax.xml.parsers.SAXParser" classpathref="classpath"/>
|
|
<echo message="JAXP: ${jaxp.present}"/>
|
|
|
|
<echo message=""/>
|
|
<echo message="----------------------------------------------"/>
|
|
<echo message="Jakarta libraries - http://jakarta.apache.org/"/>
|
|
<echo message="----------------------------------------------"/>
|
|
<available property="jakarta.commons-colls.present"
|
|
classname="org.apache.commons.collections.CollectionUtils"
|
|
classpathref="classpath"/>
|
|
<echo message="Commons Collections: ${jakarta.commons-colls.present}"/>
|
|
|
|
<available property="jakarta.commons-logging.present"
|
|
classname="org.apache.commons.logging.Log"
|
|
classpathref="classpath"/>
|
|
<echo message="Commons Logging: ${jakarta.commons-logging.present}"/>
|
|
|
|
<available property="jakarta.commons-digester.present"
|
|
classname="org.apache.commons.digester.Digester"
|
|
classpathref="classpath"/>
|
|
<echo message="Commons Digester: ${jakarta.commons-digester.present}"/>
|
|
|
|
<available property="jakarta.commons-io.present"
|
|
classname="org.apache.commons.io.IOUtils"
|
|
classpathref="classpath"/>
|
|
<echo message="Commons Io: ${jakarta.commons-io.present}"/>
|
|
|
|
<available property="jakarta.velocity.present"
|
|
classname="org.apache.velocity.Template" classpathref="classpath"/>
|
|
<echo message="Velocity: ${jakarta.velocity.present}"/>
|
|
</target>
|
|
|
|
<!-- combines package availability into build controls -->
|
|
<target name="compute-builds" depends="check-available">
|
|
<echo message="The packages that will be built are listed below. One"/>
|
|
<echo message="followed by 'true' indicates that it will be built. One"/>
|
|
<echo message="followed by '${build.package}' indicates that it will"/>
|
|
<echo message="not be built. If a package is not being built, one or"/>
|
|
<echo message="more of its dependencies could not be located."/>
|
|
|
|
<echo message=""/>
|
|
<property name="build.util" value="true"/>
|
|
<!--<echo message="com.samskivert.util: ${build.util}"/>-->
|
|
|
|
<property name="build.io" value="true"/>
|
|
<!--<echo message="com.samskivert.io: ${build.io}"/>-->
|
|
|
|
<condition property="build.jdbc">
|
|
<and>
|
|
<isset property="build.io"/>
|
|
<isset property="build.util"/>
|
|
<isset property="jakarta.commons-io.present"/>
|
|
</and>
|
|
</condition>
|
|
<!--<echo message="com.samskivert.jdbc: ${build.jdbc}"/>-->
|
|
|
|
<condition property="build.net">
|
|
<and>
|
|
<isset property="build.io"/>
|
|
<isset property="mail.present"/>
|
|
</and>
|
|
</condition>
|
|
<echo message="com.samskivert.net: ${build.net}"/>
|
|
|
|
<condition property="build.servlet">
|
|
<and>
|
|
<isset property="build.io"/>
|
|
<isset property="build.jdbc"/>
|
|
<isset property="build.util"/>
|
|
<isset property="servlet2.3.present"/>
|
|
</and>
|
|
</condition>
|
|
<echo message="com.samskivert.servlet: ${build.servlet}"/>
|
|
|
|
<condition property="build.swing">
|
|
<isset property="build.util"/>
|
|
</condition>
|
|
<echo message="com.samskivert.swing: ${build.swing}"/>
|
|
|
|
<property name="build.test" value="true"/>
|
|
<echo message="com.samskivert.test: ${build.test}"/>
|
|
|
|
<condition property="build.velocity">
|
|
<and>
|
|
<isset property="build.servlet"/>
|
|
<isset property="build.util"/>
|
|
<isset property="jakarta.commons-colls.present"/>
|
|
<isset property="jakarta.velocity.present"/>
|
|
<isset property="servlet2.3.present"/>
|
|
</and>
|
|
</condition>
|
|
<echo message="com.samskivert.velocity: ${build.velocity}"/>
|
|
|
|
<condition property="build.xml">
|
|
<and>
|
|
<isset property="build.io"/>
|
|
<isset property="build.util"/>
|
|
<isset property="jakarta.commons-logging.present"/>
|
|
<isset property="jakarta.commons-digester.present"/>
|
|
<isset property="jaxp.present"/>
|
|
<isset property="sax.present"/>
|
|
</and>
|
|
</condition>
|
|
<echo message="com.samskivert.xml: ${build.xml}"/>
|
|
</target>
|
|
|
|
<!-- prepares the application directories -->
|
|
<target name="prepare">
|
|
<tstamp><format property="year" pattern="yyyy" /></tstamp>
|
|
<mkdir dir="${deploy.dir}"/>
|
|
<mkdir dir="${deploy.dir}/classes"/>
|
|
<mkdir dir="${javadoc.dir}"/>
|
|
<copy todir="${deploy.dir}/classes">
|
|
<fileset dir="${src.dir}" includes="**/*.properties"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<!-- cleans out the installed application -->
|
|
<target name="clean">
|
|
<delete dir="${deploy.dir}"/>
|
|
</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">
|
|
<classpath refid="classpath"/>
|
|
<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"/>
|
|
<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 © 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 our distribution files (war and jar) -->
|
|
<target name="dist" depends="prepare,compile">
|
|
<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"/>
|
|
</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>
|