blob: 43c5e06f46de5a02be2be56f8b4cc0808a04d921 [file] [log] [blame]
<?xml version="1.0"?>
<project name="guice" default="compile">
<property file="build.properties"/>
<path id="compile.classpath">
<fileset dir="${lib.dir}" includes="*.jar"/>
<fileset dir="${lib.dir}/build" includes="*.jar"/>
</path>
<target name="compile"
description="Compile Java source.">
<mkdir dir="${build.dir}/classes"/>
<javac srcdir="${src.dir}"
debug="on"
destdir="${build.dir}/classes">
<classpath refid="compile.classpath"/>
</javac>
<copy toDir="${build.dir}/classes">
<fileset dir="${src.dir}" excludes="**/*.java"/>
</copy>
</target>
<target name="jar" depends="compile"
description="Build jar.">
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
classpath="lib/build/jarjar-0.9.jar"/>
<mkdir dir="${build.dir}/dist"/>
<jarjar jarfile="${build.dir}/dist/guice-${version}.jar">
<fileset dir="${build.dir}/classes"/>
<zipfileset src="lib/build/cglib-nodep-2.2_beta1.jar"/>
<rule pattern="net.sf.cglib.**" result="com.google.inject.cglib.@1"/>
</jarjar>
</target>
<target name="dist" depends="jar, javadoc"
description="Build entire distribution.">
<copy toDir="${build.dir}/dist" file="COPYING"/>
<copy toDir="${build.dir}/dist">
<fileset dir="${lib.dir}"
includes="*.jar"/>
</copy>
<copy toDir="${build.dir}/dist">
<fileset dir="${build.dir}"
includes="doc/**/*"/>
<fileset dir="${build.dir}"
includes="javadoc/**/*"/>
</copy>
<zip destfile="${build.dir}/guice-${version}.zip"
basedir="${build.dir}/dist"/>
<zip destfile="${build.dir}/guice-${version}-src.zip"
basedir="."
excludes="build/**/*,build,.svn,.svn/**/*,**/.svn,classes,classes/**/*"/>
</target>
<target name="test.compile"
depends="compile"
description="Compile test source.">
<mkdir dir="${build.dir}/test"/>
<javac srcdir="${test.dir}"
debug="on"
destdir="${build.dir}/test">
<classpath path="${build.dir}/classes"/>
<classpath refid="compile.classpath"/>
</javac>
<copy toDir="${build.dir}/test">
<fileset dir="${test.dir}" excludes="**/*.java"/>
</copy>
</target>
<target name="test"
depends="test.compile"
description="Execute JUnit tests.">
<java fork="true"
classname="junit.textui.TestRunner"
failonerror="true"
taskname="junit">
<classpath>
<pathelement location="${build.dir}/test"/>
<pathelement location="${build.dir}/classes"/>
<path refid="compile.classpath"/>
</classpath>
<arg value="com.google.inject.AllTests"/>
</java>
</target>
<target name="test.dist"
depends="jar, test.compile"
description="Execute JUnit tests against distribution jar.">
<java fork="true"
classname="junit.textui.TestRunner"
failonerror="true"
taskname="junit">
<classpath>
<pathelement location="${build.dir}/test"/>
<pathelement location="${build.dir}/dist/guice-${version}.jar"/>
<pathelement location="lib/aopalliance.jar"/>
<pathelement location="lib/build/junit.jar"/>
<pathelement location="lib/build/servlet-api-2.5.jar"/>
<pathelement location="lib/build/easymock.jar"/>
</classpath>
<arg value="com.google.inject.AllTests"/>
</java>
</target>
<target name="javadoc"
description="Generate Javadocs.">
<mkdir dir="${build.dir}/javadoc"/>
<javadoc packagenames="${javadoc.packagenames}"
destdir="${build.dir}/javadoc"
author="true"
protected="true"
windowtitle="Guice 1.0 API">
<sourcepath>
<pathelement location="${src.dir}"/>
</sourcepath>
<classpath refid="compile.classpath"/>
<link href="http://aopalliance.sourceforge.net/doc"/>
</javadoc>
</target>
<target name="clean"
description="Remove generated files.">
<delete dir="${build.dir}"/>
</target>
</project>