2726db602f
so that we're 100% external dependency free no matter how you build us. This is the path to righteousness that all of our libraries must eventually go down to save us from the dependency frying pan and put us into the dependency fire. git-svn-id: https://samskivert.googlecode.com/svn/trunk@2924 6335cc39-0255-0410-8fd6-9bcaacd3b74c
123 lines
5.4 KiB
XML
123 lines
5.4 KiB
XML
<?xml version="1.0"?>
|
|
<project name="samskivert" default="compile" basedir="." xmlns:artifact="urn:maven-artifact-ant">
|
|
<!-- various configurations -->
|
|
<property name="lib.name" value="samskivert"/>
|
|
<property name="src.dir" value="src/main/java"/>
|
|
<property name="test.dir" value="src/test/java"/>
|
|
<property name="deploy.dir" value="dist"/>
|
|
<property name="classes.dir" value="${deploy.dir}/classes"/>
|
|
<property name="tclasses.dir" value="${deploy.dir}/test-classes"/>
|
|
<property name="javadoc.dir" value="${deploy.dir}/docs"/>
|
|
<property name="gwtjar.dir" value="${deploy.dir}/gwt-jar"/>
|
|
|
|
<property name="maven-ant.vers" value="2.1.1"/>
|
|
<property name="maven-ant.dir" value="${user.home}/.m2/ant-support"/>
|
|
<property name="maven-ant.jar" value="${maven-ant.dir}/maven-ant-tasks-${maven-ant.vers}.jar"/>
|
|
<property name="maven-ant.url" value="http://mirrors.ibiblio.org/pub/mirrors/apache/maven/binaries"/>
|
|
<condition property="maven-ant.exists"><available file="${maven-ant.jar}"/></condition>
|
|
<target name="-download-maven-ant" unless="maven-ant.exists">
|
|
<mkdir dir="${maven-ant.dir}"/>
|
|
<get src="${maven-ant.url}/maven-ant-tasks-${maven-ant.vers}.jar"
|
|
dest="${maven-ant.jar}" usetimestamp="true"/>
|
|
</target>
|
|
|
|
<target name="-init-maven-ant" depends="-download-maven-ant">
|
|
<taskdef resource="org/apache/maven/artifact/ant/antlib.xml"
|
|
uri="urn:maven-artifact-ant" classpath="${maven-ant.jar}"/>
|
|
<artifact:pom id="pom" file="pom.xml"/>
|
|
<artifact:dependencies pathId="classpath" pomRefId="pom"/>
|
|
</target>
|
|
|
|
<target name="-prepare" depends="-init-maven-ant">
|
|
<mkdir dir="${deploy.dir}"/>
|
|
</target>
|
|
|
|
<target name="clean" description="Cleans out compiled classes and docs.">
|
|
<delete dir="${classes.dir}"/>
|
|
<delete dir="${tclasses.dir}"/>
|
|
<delete dir="${deploy.dir}/docs"/>
|
|
<delete dir="${gwtjar.dir}"/>
|
|
</target>
|
|
|
|
<target name="distclean" description="Cleans out all build resultss.">
|
|
<delete dir="${deploy.dir}"/>
|
|
</target>
|
|
|
|
<target name="compile" depends="-prepare" description="Compiles main and test sources.">
|
|
<mkdir dir="${classes.dir}"/>
|
|
<copy todir="${classes.dir}"><fileset dir="src/main/resources" includes="**"/></copy>
|
|
<javac srcdir="${src.dir}" destdir="${classes.dir}" includeAntRuntime="false"
|
|
debug="on" optimize="${build.optimize}" source="1.5" target="1.5" encoding="utf-8">
|
|
<classpath refid="classpath"/>
|
|
<compilerarg value="-Xlint"/>
|
|
<compilerarg value="-Xlint:-serial"/>
|
|
</javac>
|
|
|
|
<mkdir dir="${tclasses.dir}"/>
|
|
<copy todir="${tclasses.dir}"><fileset dir="src/test/resources" includes="**"/></copy>
|
|
<javac srcdir="${test.dir}" destdir="${tclasses.dir}" includeAntRuntime="false"
|
|
debug="on" optimize="${build.optimize}" source="1.5" target="1.5" encoding="utf-8">
|
|
<classpath>
|
|
<path refid="classpath"/>
|
|
<pathelement location="${classes.dir}"/>
|
|
</classpath>
|
|
<compilerarg value="-Xlint"/>
|
|
<compilerarg value="-Xlint:-serial"/>
|
|
</javac>
|
|
</target>
|
|
|
|
<target name="javadoc" depends="-prepare" description="Builds javadocs.">
|
|
<tstamp><format property="year" pattern="yyyy"/></tstamp>
|
|
<mkdir dir="${javadoc.dir}"/>
|
|
<javadoc windowtitle="${lib.name} API"
|
|
doctitle="${lib.name} API"
|
|
overview="src/main/javadoc/overview.html"
|
|
destdir="${javadoc.dir}"
|
|
additionalparam="-breakiterator"
|
|
link="http://samskivert.com/code/samskivert/samskivert/docs/api/">
|
|
<packageset dir="${src.dir}"/>
|
|
<bottom>Copyright © 2000-${year} Michael Bayne, et al. All Rights Reserved.</bottom>
|
|
<classpath refid="classpath"/>
|
|
<link href="http://java.sun.com/j2se/1.4/docs/api/"/>
|
|
</javadoc>
|
|
</target>
|
|
|
|
<!-- a target for rebuilding everything -->
|
|
<target name="all" depends="clean,compile,javadoc,dist"
|
|
description="Cleans and rebuilds everything."/>
|
|
|
|
<property name="test" value=""/>
|
|
<target name="tests" depends="compile"
|
|
description="Runs unit tests. Use -Dtest=Foo to run only FooTest.">
|
|
<taskdef name="unit" classpathref="classpath"
|
|
classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTask"/>
|
|
<unit printsummary="off" haltonfailure="yes" fork="${junit.fork}">
|
|
<classpath>
|
|
<pathelement location="${classes.dir}"/>
|
|
<pathelement location="${tclasses.dir}"/>
|
|
<path refid="classpath"/>
|
|
<fileset dir="lib/test" includes="*.jar"/>
|
|
</classpath>
|
|
<sysproperty key="test_dir" value="${tclasses.dir}"/>
|
|
<formatter type="brief" usefile="false"/>
|
|
<batchtest>
|
|
<fileset dir="${test.dir}" includes="**/*${test}*Test.java"/>
|
|
</batchtest>
|
|
</unit>
|
|
</target>
|
|
|
|
<target name="dist" depends="compile" description="Builds jar files.">
|
|
<jar destfile="${deploy.dir}/${lib.name}.jar" basedir="${classes.dir}"/>
|
|
<!-- we export a small selection of classes for use by GWT -->
|
|
<mkdir dir="${gwtjar.dir}"/>
|
|
<copy todir="${gwtjar.dir}">
|
|
<fileset dir="src/main/resources" includes="com/samskivert/Utils.gwt.xml"/>
|
|
<fileset dir="${src.dir}" includes="com/samskivert/text/MessageUtil.java"/>
|
|
<fileset dir="${src.dir}" includes="com/samskivert/util/ByteEnum.java"/>
|
|
<fileset dir="${src.dir}" includes="com/samskivert/util/ByteEnumUtil.java"/>
|
|
</copy>
|
|
<jar basedir="${gwtjar.dir}" destfile="${deploy.dir}/${lib.name}-gwt.jar"/>
|
|
<delete dir="${gwtjar.dir}"/>
|
|
</target>
|
|
</project>
|