blob: d2952065a4d34ed608e69341a450b3db84c63ebd [file] [log] [blame]
crazyboblee66b415a2006-08-25 02:01:19 +00001<?xml version="1.0"?>
2
3<project name="guice" default="compile">
4
5 <property file="build.properties"/>
6
7 <path id="compile.classpath">
8 <fileset dir="${lib.dir}" includes="*.jar"/>
9 <fileset dir="${lib.dir}/build" includes="*.jar"/>
10 </path>
11
12 <target name="compile"
13 description="Compile Java source.">
14 <mkdir dir="${build.dir}/classes"/>
15 <javac srcdir="${src.dir}"
16 debug="on"
17 destdir="${build.dir}/classes">
18 <classpath refid="compile.classpath"/>
19 </javac>
20 <copy toDir="${build.dir}/classes">
21 <fileset dir="${src.dir}" excludes="**/*.java"/>
22 </copy>
23 </target>
24
25 <target name="jar" depends="compile"
26 description="Build jar.">
crazybobleef0043b72007-02-03 02:30:58 +000027 <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
crazyboblee16d415d2007-02-09 19:51:46 +000028 classpath="lib/build/jarjar-0.9.jar"/>
crazyboblee66b415a2006-08-25 02:01:19 +000029 <mkdir dir="${build.dir}/dist"/>
crazyboblee16d415d2007-02-09 19:51:46 +000030 <jarjar jarfile="${build.dir}/dist/guice-${version}.jar">
crazybobleef0043b72007-02-03 02:30:58 +000031 <fileset dir="${build.dir}/classes"/>
crazyboblee46ac59f2007-02-03 03:25:32 +000032 <zipfileset src="lib/build/cglib-nodep-2.2_beta1.jar"/>
crazybobleef0043b72007-02-03 02:30:58 +000033 <rule pattern="net.sf.cglib.**" result="com.google.inject.cglib.@1"/>
34 </jarjar>
crazyboblee66b415a2006-08-25 02:01:19 +000035 </target>
36
37 <target name="dist" depends="jar, javadoc"
38 description="Build entire distribution.">
39 <copy toDir="${build.dir}/dist" file="COPYING"/>
40 <copy toDir="${build.dir}/dist">
41 <fileset dir="${lib.dir}"
42 includes="*.jar"/>
43 </copy>
44 <copy toDir="${build.dir}/dist">
45 <fileset dir="${build.dir}"
46 includes="doc/**/*"/>
47 <fileset dir="${build.dir}"
48 includes="javadoc/**/*"/>
49 </copy>
50
51 <zip destfile="${build.dir}/guice-${version}.zip"
52 basedir="${build.dir}/dist"/>
53 <zip destfile="${build.dir}/guice-${version}-src.zip"
54 basedir="."
55 excludes="build/**/*,build,.svn,.svn/**/*,**/.svn,classes,classes/**/*"/>
56 </target>
57
58 <target name="test.compile"
59 depends="compile"
60 description="Compile test source.">
61 <mkdir dir="${build.dir}/test"/>
62 <javac srcdir="${test.dir}"
63 debug="on"
64 destdir="${build.dir}/test">
65 <classpath path="${build.dir}/classes"/>
66 <classpath refid="compile.classpath"/>
67 </javac>
68 <copy toDir="${build.dir}/test">
69 <fileset dir="${test.dir}" excludes="**/*.java"/>
70 </copy>
71 </target>
72
73 <target name="test"
74 depends="test.compile"
75 description="Execute JUnit tests.">
76 <java fork="true"
77 classname="junit.textui.TestRunner"
78 failonerror="true"
79 taskname="junit">
80 <classpath>
81 <pathelement location="${build.dir}/test"/>
82 <pathelement location="${build.dir}/classes"/>
83 <path refid="compile.classpath"/>
84 </classpath>
85 <arg value="com.google.inject.AllTests"/>
86 </java>
87 </target>
88
crazyboblee861eb332007-02-03 02:42:05 +000089 <target name="test.dist"
90 depends="jar, test.compile"
91 description="Execute JUnit tests against distribution jar.">
92 <java fork="true"
93 classname="junit.textui.TestRunner"
94 failonerror="true"
95 taskname="junit">
96 <classpath>
97 <pathelement location="${build.dir}/test"/>
98 <pathelement location="${build.dir}/dist/guice-${version}.jar"/>
99 <pathelement location="lib/aopalliance.jar"/>
100 <pathelement location="lib/build/junit.jar"/>
crazyboblee3a09e292007-02-08 22:36:21 +0000101 <pathelement location="lib/build/servlet-api-2.5.jar"/>
102 <pathelement location="lib/build/easymock.jar"/>
crazyboblee861eb332007-02-03 02:42:05 +0000103 </classpath>
104 <arg value="com.google.inject.AllTests"/>
105 </java>
106 </target>
107
crazyboblee66b415a2006-08-25 02:01:19 +0000108 <target name="javadoc"
109 description="Generate Javadocs.">
110 <mkdir dir="${build.dir}/javadoc"/>
111 <javadoc packagenames="${javadoc.packagenames}"
112 destdir="${build.dir}/javadoc"
113 author="true"
114 protected="true"
115 windowtitle="Guice 1.0 API">
116 <sourcepath>
117 <pathelement location="${src.dir}"/>
118 </sourcepath>
119 <classpath refid="compile.classpath"/>
crazyboblee62fcdde2007-02-03 02:10:13 +0000120 <link href="http://aopalliance.sourceforge.net/doc"/>
kevinb9ne4f86732007-02-13 18:05:27 +0000121 <link href="http://java.sun.com/javase/6/docs/api"/>
crazyboblee66b415a2006-08-25 02:01:19 +0000122 </javadoc>
123 </target>
124
125 <target name="clean"
126 description="Remove generated files.">
127 <delete dir="${build.dir}"/>
128 </target>
129
130</project>