blob: 8c46b19a78a6c3b06f35dd4eeca822c0fe55aef2 [file] [log] [blame]
crazyboblee66b415a2006-08-25 02:01:19 +00001<?xml version="1.0"?>
2
3<project name="guice" default="compile">
4
crazybobleeefdb6f32007-02-26 02:54:11 +00005 <import file="common.xml"/>
crazyboblee66b415a2006-08-25 02:01:19 +00006
7 <path id="compile.classpath">
8 <fileset dir="${lib.dir}" includes="*.jar"/>
9 <fileset dir="${lib.dir}/build" includes="*.jar"/>
10 </path>
11
limpbizkit53708f02008-11-29 20:45:55 +000012
13 <target name="jar" depends="jar.withdeps, manifest" description="Build jar.">
14 <jar jarfile="${build.dir}/dist/guice-${version}.jar"
limpbizkitf716cf42008-06-03 09:19:35 +000015 manifest="${build.dir}/META-INF/MANIFEST.MF">
limpbizkit53708f02008-11-29 20:45:55 +000016 <zipfileset src="${build.dir}/${ant.project.name}-with-deps.jar"/>
17 </jar>
crazyboblee66b415a2006-08-25 02:01:19 +000018 </target>
19
limpbizkit28d083b2008-05-07 17:25:38 +000020 <target name="dist" depends="distjars, javadoc"
crazyboblee66b415a2006-08-25 02:01:19 +000021 description="Build entire distribution.">
sberlinf8537ea2010-08-21 23:50:30 +000022 <ant antfile="extensions/servlet/build.xml" target="distjars" inheritAll="false"/>
23 <ant antfile="extensions/spring/build.xml" target="distjars" inheritAll="false"/>
limpbizkit28d083b2008-05-07 17:25:38 +000024 <ant antfile="extensions/assistedinject/build.xml" target="distjars" inheritAll="false"/>
limpbizkite05f2542009-05-19 00:58:48 +000025 <ant antfile="extensions/jmx/build.xml" target="distjars" inheritAll="false"/>
26 <ant antfile="extensions/jndi/build.xml" target="distjars" inheritAll="false"/>
limpbizkit28d083b2008-05-07 17:25:38 +000027 <ant antfile="extensions/throwingproviders/build.xml" target="distjars" inheritAll="false"/>
28 <ant antfile="extensions/multibindings/build.xml" target="distjars" inheritAll="false"/>
limpbizkit@gmail.com9bcb0a22010-09-11 05:06:17 +000029 <ant antfile="extensions/persist/build.xml" target="distjars" inheritAll="false"/>
limpbizkit0c43f222007-12-19 01:38:16 +000030
crazybobleeefdb6f32007-02-26 02:54:11 +000031 <copy toDir="${build.dir}/dist">
sberlinf8537ea2010-08-21 23:50:30 +000032 <fileset dir="extensions/servlet/build" includes="*.jar" excludes="*-with-deps.jar"/>
crazybobleeefdb6f32007-02-26 02:54:11 +000033 </copy>
34 <copy toDir="${build.dir}/dist">
sberlinf8537ea2010-08-21 23:50:30 +000035 <fileset dir="extensions/spring/build" includes="*.jar" excludes="*-with-deps.jar"/>
crazybobleef7390152007-03-02 23:44:34 +000036 </copy>
limpbizkit0c43f222007-12-19 01:38:16 +000037 <copy toDir="${build.dir}/dist">
limpbizkit53708f02008-11-29 20:45:55 +000038 <fileset dir="extensions/assistedinject/build" includes="*.jar" excludes="*-with-deps.jar"/>
limpbizkit0c43f222007-12-19 01:38:16 +000039 </copy>
40 <copy toDir="${build.dir}/dist">
limpbizkite05f2542009-05-19 00:58:48 +000041 <fileset dir="extensions/jmx/build" includes="*.jar" excludes="*-with-deps.jar"/>
42 </copy>
43 <copy toDir="${build.dir}/dist">
44 <fileset dir="extensions/jndi/build" includes="*.jar" excludes="*-with-deps.jar"/>
45 </copy>
46 <copy toDir="${build.dir}/dist">
limpbizkit53708f02008-11-29 20:45:55 +000047 <fileset dir="extensions/throwingproviders/build" includes="*.jar" excludes="*-with-deps.jar"/>
limpbizkit0c43f222007-12-19 01:38:16 +000048 </copy>
limpbizkitbf5d2272008-02-16 01:49:41 +000049 <copy toDir="${build.dir}/dist">
limpbizkit53708f02008-11-29 20:45:55 +000050 <fileset dir="extensions/multibindings/build" includes="*.jar" excludes="*-with-deps.jar"/>
limpbizkit50192702008-05-01 09:55:02 +000051 </copy>
mccullsf8d74d62010-10-21 21:32:26 +000052 <copy toDir="${build.dir}/dist">
53 <fileset dir="extensions/persist/build" includes="*.jar" excludes="*-with-deps.jar"/>
54 </copy>
limpbizkit0c43f222007-12-19 01:38:16 +000055
crazyboblee66b415a2006-08-25 02:01:19 +000056 <copy toDir="${build.dir}/dist" file="COPYING"/>
57 <copy toDir="${build.dir}/dist">
58 <fileset dir="${lib.dir}"
59 includes="*.jar"/>
60 </copy>
61 <copy toDir="${build.dir}/dist">
crazybobleeefdb6f32007-02-26 02:54:11 +000062 <fileset dir="${build.dir}" includes="javadoc/**/*"/>
crazyboblee66b415a2006-08-25 02:01:19 +000063 </copy>
64
limpbizkit7bf3e3c2008-07-12 20:16:31 +000065 <zip destfile="${build.dir}/guice-${version}.zip">
limpbizkit53708f02008-11-29 20:45:55 +000066 <zipfileset dir="${build.dir}/dist" prefix="guice-${version}" excludes="*-src.jar"/>
limpbizkit7bf3e3c2008-07-12 20:16:31 +000067 </zip>
68 <zip destfile="${build.dir}/guice-${version}-src.zip">
69 <zipfileset dir="." prefix="guice-${version}-src"
sberlin@gmail.com9db504f2010-10-31 21:32:49 +000070 excludes="build/**,**/.svn/**,classes/**,.settings/**,bin/**,latest-api-diffs/**,latest-javadoc/**,.classpath,.project"/>
limpbizkit7bf3e3c2008-07-12 20:16:31 +000071 </zip>
crazyboblee66b415a2006-08-25 02:01:19 +000072 </target>
73
crazyboblee861eb332007-02-03 02:42:05 +000074 <target name="test.dist"
sberlin6e370962010-10-27 01:48:00 +000075 depends="jar, test.compile-with-deps"
crazyboblee861eb332007-02-03 02:42:05 +000076 description="Execute JUnit tests against distribution jar.">
77 <java fork="true"
78 classname="junit.textui.TestRunner"
79 failonerror="true"
80 taskname="junit">
81 <classpath>
sberlin6e370962010-10-27 01:48:00 +000082 <pathelement location="${build.dir}/guice-${version}-tests.jar"/>
crazyboblee861eb332007-02-03 02:42:05 +000083 <pathelement location="${build.dir}/dist/guice-${version}.jar"/>
84 <pathelement location="lib/aopalliance.jar"/>
85 <pathelement location="lib/build/junit.jar"/>
crazyboblee3a09e292007-02-08 22:36:21 +000086 <pathelement location="lib/build/servlet-api-2.5.jar"/>
87 <pathelement location="lib/build/easymock.jar"/>
dhanji2cd3f722009-10-20 08:02:21 +000088 <pathelement location="lib/javax.inject.jar"/>
89 <pathelement location="lib/build/javax.inject-tck.jar"/>
sberlinf7ac6ea2010-05-09 12:48:24 +000090 <pathelement location="lib/build/bnd-0.0.384.jar"/>
91 <pathelement location="lib/build/felix-2.0.5.jar"/>
crazyboblee861eb332007-02-03 02:42:05 +000092 </classpath>
93 <arg value="com.google.inject.AllTests"/>
limpbizkit869a3c02008-06-27 01:09:41 +000094 <syspropertyset>
95 <propertyref name="guice.custom.loader"/>
sberlinf7ac6ea2010-05-09 12:48:24 +000096 <propertyref name="version"/>
97 <propertyref name="build.dir"/>
98 <propertyref name="lib.dir"/>
limpbizkit869a3c02008-06-27 01:09:41 +000099 </syspropertyset>
crazyboblee861eb332007-02-03 02:42:05 +0000100 </java>
101 </target>
sberline0359ad2010-10-31 20:39:41 +0000102
103 <property name="old.api" value="2.0"/>
104 <property name="new.api" value="3.0"/>
105 <target name="jdiff">
106 <property name="jdiff.home" value="lib/build/jdiff"/>
107 <property name="jdiff.tmp" value="build/docs/latest-api-diffs"/>
108 <delete dir="${jdiff.tmp}"/>
109 <mkdir dir="${jdiff.tmp}"/>
110
111 <!-- Generate API for current version. -->
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000112 <javadoc packagenames="com.google.*"
sberline0359ad2010-10-31 20:39:41 +0000113 docletpath="${jdiff.home}/jdiff.jar${path.separator}${jdiff.home}/xerces.jar"
114 maxmemory="512M"
115 classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
mcculls74d714c2010-10-21 19:10:16 +0000116 <fileset dir="${src.dir}" defaultexcludes="yes">
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000117 <include name="com/google/**"/>
118 <exclude name="com/google/inject/internal/**"/>
119 </fileset>
120 <fileset dir="${servlet.src.dir}"/>
121 <fileset dir="${spring.src.dir}"/>
122 <fileset dir="${assistedinject.src.dir}"/>
123 <fileset dir="${jmx.src.dir}"/>
124 <fileset dir="${jndi.src.dir}"/>
125 <fileset dir="${throwingproviders.src.dir}"/>
126 <fileset dir="${multibindings.src.dir}"/>
127 <fileset dir="${persist.src.dir}"/>
sberline0359ad2010-10-31 20:39:41 +0000128
129 <doclet name="jdiff.JDiff"
130 path="${jdiff.home}/jdiff.jar:${jdiff.home}/xerces.jar">
131 <param name="-apidir" value="${jdiff.tmp}" />
132 <param name="-apiname" value="${new.api}" />
133 </doclet>
134 </javadoc>
135
136 <!-- Do a diff against the previous version. -->
137 <javadoc packagenames="com.google.*"
138 destdir="${jdiff.tmp}"
139 docletpath="${jdiff.home}/jdiff.jar${path.separator}${jdiff.home}/xerces.jar"
140 maxmemory="512M"
141 sourcefiles="${jdiff.home}/Null.java"
142 classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
143 <doclet name="jdiff.JDiff">
144 <param name="-oldapi" value="${old.api}"/>
145 <param name="-oldapidir" value="latest-api-diffs"/>
146 <param name="-javadocold" value="http://google-guice.googlecode.com/svn/trunk/latest-api-diffs/${old.api}/javadoc/"/>
147 <param name="-newapi" value="${new.api}"/>
148 <param name="-newapidir" value="${jdiff.tmp}"/>
149 <param name="-javadocnew" value="http://google-guice.googlecode.com/svn/trunk/latest-api-diffs/${new.api}/javadoc/"/>
150 <param name="-stats"/>
151 <param name="-docchanges"/>
152 </doclet>
153 </javadoc>
154 </target>
155
156 <target name="javadoc">
157 <javadoc packagenames="com.google.*"
158 destdir="build/docs"
159 docletpath="lib/build/doclava.jar"
160 bootclasspath="${java.home}/lib/rt.jar"
161 maxmemory="512M"
162 classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
163 <fileset dir="${src.dir}" defaultexcludes="yes">
164 <include name="com/google/**"/>
165 <exclude name="com/google/inject/internal/**"/>
166 </fileset>
167 <fileset dir="${servlet.src.dir}"/>
168 <fileset dir="${spring.src.dir}"/>
169 <fileset dir="${assistedinject.src.dir}"/>
170 <fileset dir="${jmx.src.dir}"/>
171 <fileset dir="${jndi.src.dir}"/>
172 <fileset dir="${throwingproviders.src.dir}"/>
173 <fileset dir="${multibindings.src.dir}"/>
174 <fileset dir="${persist.src.dir}"/>
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000175
176 <doclet name="com.google.doclava.Doclava">
177 <param name="-hdf"/> <param name="project.name"/> <param name="Guice"/>
limpbizkit@gmail.comb5beefa2010-10-05 03:25:16 +0000178 <param name="-since"/> <param name="lib/build/guice-1.0.xml"/> <param name="Guice_1.0" />
sberline0359ad2010-10-31 20:39:41 +0000179 <param name="-since"/> <param name="lib/build/guice-2.0.xml"/> <param name="Guice_2.0" />
180 <param name="-apiversion" value="Guice_${new.api}"/>
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000181 <param name="-assetsdir" value="javadoc/assets"/>
sberline0359ad2010-10-31 20:39:41 +0000182 <param name="-apixml" value="build/docs/guice-${new.api}.xml"/>
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000183 <!-- TODO: fix doclava federation
184 http://aopalliance.sourceforge.net/doc
185 http://www.springframework.org/docs/api/
186 <param name="-federate"/><param name="JDK"/><param name="http://download.oracle.com/javase/6/docs/api/index.html?"/>
187 <param name="-federationxml"/><param name="JDK"/><param name="http://doclava.googlecode.com/svn/static/api/openjdk-6.xml"/>
188 -->
189 </doclet>
crazyboblee66b415a2006-08-25 02:01:19 +0000190 </javadoc>
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000191 <move todir="build/docs/javadoc"><fileset dir="build/docs/reference"/></move>
crazyboblee66b415a2006-08-25 02:01:19 +0000192 </target>
193
limpbizkit7c508c22009-02-19 02:56:27 +0000194 <target name="no_aop"
195 description="Create a copy of the Guice source that doesn't do bytecode generation.">
196 <taskdef name="munge" classname="MungeTask" classpath="lib/build/munge.jar"/>
197 <mkdir dir="build/no_aop"/>
198 <munge todir="build/no_aop">
limpbizkitbf0d8762009-02-19 09:06:22 +0000199 <fileset dir=".">
limpbizkit4f6274a2009-02-19 21:57:55 +0000200 <!-- exclude generated files -->
201 <exclude name="build/**"/>
202 <exclude name="classes/**"/>
203 <exclude name="latest-api-diffs/**"/>
204 <exclude name="javadoc/**"/>
205 <exclude name="latest-javadoc/**"/>
206 <!-- exclude AOP-specific libraries -->
207 <exclude name="lib/aopalliance.jar"/>
208 <exclude name="lib/build/asm-*.jar"/>
209 <exclude name="lib/build/cglib-*.jar"/>
210 <!-- exclude AOP-specific classes -->
211 <exclude name="**/LineNumbers.java"/>
limpbizkitbf0d8762009-02-19 09:06:22 +0000212 <exclude name="**/InterceptorBindingProcessor.java"/>
213 <exclude name="**/ProxyFactory.java"/>
limpbizkit4f6274a2009-02-19 21:57:55 +0000214 <exclude name="**/ProxyFactoryTest.java"/>
limpbizkitbf0d8762009-02-19 09:06:22 +0000215 <exclude name="**/InterceptorStackCallback.java"/>
216 <exclude name="**/InterceptorBinding.java"/>
217 <exclude name="**/MethodAspect.java"/>
218 <exclude name="**/MethodInterceptionTest.java"/>
219 <exclude name="**/BytecodeGenTest.java"/>
220 <exclude name="**/IntegrationTest.java"/>
221 <exclude name="**/MethodInterceptionTest.java"/>
222 </fileset>
limpbizkit7c508c22009-02-19 02:56:27 +0000223 <arg value="-DNO_AOP" />
224 </munge>
limpbizkit4f6274a2009-02-19 21:57:55 +0000225 <replace file="build/no_aop/common.xml" token="&lt;zipfileset src=&quot;${common.basedir}/lib/build/asm-3.1.jar&quot;/&gt;" value=""/>
226 <replace file="build/no_aop/common.xml" token="&lt;zipfileset src=&quot;${common.basedir}/lib/build/cglib-2.2.1-snapshot.jar&quot;/&gt;" value=""/>
limpbizkit7c508c22009-02-19 02:56:27 +0000227 </target>
228
crazybobleeefdb6f32007-02-26 02:54:11 +0000229 <target name="clean.all"
230 depends="clean"
crazyboblee66b415a2006-08-25 02:01:19 +0000231 description="Remove generated files.">
sberlinf8537ea2010-08-21 23:50:30 +0000232 <ant dir="extensions/servlet" antfile="build.xml" target="clean"/>
233 <ant dir="extensions/spring" antfile="build.xml" target="clean"/>
limpbizkit0c43f222007-12-19 01:38:16 +0000234 <ant dir="extensions/assistedinject" antfile="build.xml" target="clean"/>
limpbizkite05f2542009-05-19 00:58:48 +0000235 <ant dir="extensions/jmx" antfile="build.xml" target="clean"/>
236 <ant dir="extensions/jndi" antfile="build.xml" target="clean"/>
limpbizkit0c43f222007-12-19 01:38:16 +0000237 <ant dir="extensions/throwingproviders" antfile="build.xml" target="clean"/>
limpbizkit50192702008-05-01 09:55:02 +0000238 <ant dir="extensions/multibindings" antfile="build.xml" target="clean"/>
mccullsf8d74d62010-10-21 21:32:26 +0000239 <ant dir="extensions/persist" antfile="build.xml" target="clean"/>
crazyboblee66b415a2006-08-25 02:01:19 +0000240 </target>
241
242</project>