blob: d2e1c0532f835f8d9c52b1047353ae4fdae43339 [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"/>
chris.nokleberg5db87c62007-02-13 21:16:24 +000033 <zipfileset src="lib/build/asm-3.0.jar"/>
crazybobleef0043b72007-02-03 02:30:58 +000034 <rule pattern="net.sf.cglib.**" result="com.google.inject.cglib.@1"/>
chris.nokleberg5db87c62007-02-13 21:16:24 +000035 <rule pattern="org.objectweb.asm.**" result="com.google.inject.asm.@1"/>
crazybobleef0043b72007-02-03 02:30:58 +000036 </jarjar>
crazyboblee66b415a2006-08-25 02:01:19 +000037 </target>
38
39 <target name="dist" depends="jar, javadoc"
40 description="Build entire distribution.">
41 <copy toDir="${build.dir}/dist" file="COPYING"/>
42 <copy toDir="${build.dir}/dist">
43 <fileset dir="${lib.dir}"
44 includes="*.jar"/>
45 </copy>
46 <copy toDir="${build.dir}/dist">
47 <fileset dir="${build.dir}"
48 includes="doc/**/*"/>
49 <fileset dir="${build.dir}"
50 includes="javadoc/**/*"/>
51 </copy>
52
53 <zip destfile="${build.dir}/guice-${version}.zip"
54 basedir="${build.dir}/dist"/>
55 <zip destfile="${build.dir}/guice-${version}-src.zip"
56 basedir="."
57 excludes="build/**/*,build,.svn,.svn/**/*,**/.svn,classes,classes/**/*"/>
58 </target>
59
60 <target name="test.compile"
61 depends="compile"
62 description="Compile test source.">
63 <mkdir dir="${build.dir}/test"/>
64 <javac srcdir="${test.dir}"
65 debug="on"
66 destdir="${build.dir}/test">
67 <classpath path="${build.dir}/classes"/>
68 <classpath refid="compile.classpath"/>
69 </javac>
70 <copy toDir="${build.dir}/test">
71 <fileset dir="${test.dir}" excludes="**/*.java"/>
72 </copy>
73 </target>
74
75 <target name="test"
76 depends="test.compile"
77 description="Execute JUnit tests.">
78 <java fork="true"
79 classname="junit.textui.TestRunner"
80 failonerror="true"
81 taskname="junit">
82 <classpath>
83 <pathelement location="${build.dir}/test"/>
84 <pathelement location="${build.dir}/classes"/>
85 <path refid="compile.classpath"/>
86 </classpath>
87 <arg value="com.google.inject.AllTests"/>
88 </java>
89 </target>
90
crazyboblee861eb332007-02-03 02:42:05 +000091 <target name="test.dist"
92 depends="jar, test.compile"
93 description="Execute JUnit tests against distribution jar.">
94 <java fork="true"
95 classname="junit.textui.TestRunner"
96 failonerror="true"
97 taskname="junit">
98 <classpath>
99 <pathelement location="${build.dir}/test"/>
100 <pathelement location="${build.dir}/dist/guice-${version}.jar"/>
101 <pathelement location="lib/aopalliance.jar"/>
102 <pathelement location="lib/build/junit.jar"/>
crazyboblee3a09e292007-02-08 22:36:21 +0000103 <pathelement location="lib/build/servlet-api-2.5.jar"/>
104 <pathelement location="lib/build/easymock.jar"/>
crazyboblee861eb332007-02-03 02:42:05 +0000105 </classpath>
106 <arg value="com.google.inject.AllTests"/>
107 </java>
108 </target>
109
crazyboblee66b415a2006-08-25 02:01:19 +0000110 <target name="javadoc"
111 description="Generate Javadocs.">
112 <mkdir dir="${build.dir}/javadoc"/>
113 <javadoc packagenames="${javadoc.packagenames}"
114 destdir="${build.dir}/javadoc"
crazybobleebbc3bae2007-02-20 22:15:56 +0000115 author="false"
crazyboblee66b415a2006-08-25 02:01:19 +0000116 protected="true"
117 windowtitle="Guice 1.0 API">
118 <sourcepath>
119 <pathelement location="${src.dir}"/>
120 </sourcepath>
121 <classpath refid="compile.classpath"/>
crazyboblee62fcdde2007-02-03 02:10:13 +0000122 <link href="http://aopalliance.sourceforge.net/doc"/>
kevinb9ne4f86732007-02-13 18:05:27 +0000123 <link href="http://java.sun.com/javase/6/docs/api"/>
crazyboblee66b415a2006-08-25 02:01:19 +0000124 </javadoc>
125 </target>
126
127 <target name="clean"
128 description="Remove generated files.">
129 <delete dir="${build.dir}"/>
130 </target>
131
132</project>