blob: a66a186fa13a1207b44e7cfb61b2b54f621a0fe0 [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"/>
sberlin@gmail.com81a0c602010-12-02 23:50:16 +000024 <ant antfile="extensions/struts2/build.xml" target="distjars" inheritAll="false"/>
limpbizkit28d083b2008-05-07 17:25:38 +000025 <ant antfile="extensions/assistedinject/build.xml" target="distjars" inheritAll="false"/>
limpbizkite05f2542009-05-19 00:58:48 +000026 <ant antfile="extensions/jmx/build.xml" target="distjars" inheritAll="false"/>
27 <ant antfile="extensions/jndi/build.xml" target="distjars" inheritAll="false"/>
limpbizkit28d083b2008-05-07 17:25:38 +000028 <ant antfile="extensions/throwingproviders/build.xml" target="distjars" inheritAll="false"/>
29 <ant antfile="extensions/multibindings/build.xml" target="distjars" inheritAll="false"/>
limpbizkit@gmail.com9bcb0a22010-09-11 05:06:17 +000030 <ant antfile="extensions/persist/build.xml" target="distjars" inheritAll="false"/>
sberlin@gmail.comc9ece6b2010-12-20 22:26:44 +000031 <ant antfile="extensions/grapher/build.xml" target="distjars" inheritAll="false"/>
limpbizkit0c43f222007-12-19 01:38:16 +000032
crazybobleeefdb6f32007-02-26 02:54:11 +000033 <copy toDir="${build.dir}/dist">
sberlinf8537ea2010-08-21 23:50:30 +000034 <fileset dir="extensions/servlet/build" includes="*.jar" excludes="*-with-deps.jar"/>
crazybobleeefdb6f32007-02-26 02:54:11 +000035 </copy>
36 <copy toDir="${build.dir}/dist">
sberlinf8537ea2010-08-21 23:50:30 +000037 <fileset dir="extensions/spring/build" includes="*.jar" excludes="*-with-deps.jar"/>
crazybobleef7390152007-03-02 23:44:34 +000038 </copy>
limpbizkit0c43f222007-12-19 01:38:16 +000039 <copy toDir="${build.dir}/dist">
sberlin@gmail.com81a0c602010-12-02 23:50:16 +000040 <fileset dir="extensions/struts2/build" includes="*.jar" excludes="*-with-deps.jar"/>
41 </copy>
42 <copy toDir="${build.dir}/dist">
limpbizkit53708f02008-11-29 20:45:55 +000043 <fileset dir="extensions/assistedinject/build" includes="*.jar" excludes="*-with-deps.jar"/>
limpbizkit0c43f222007-12-19 01:38:16 +000044 </copy>
45 <copy toDir="${build.dir}/dist">
limpbizkite05f2542009-05-19 00:58:48 +000046 <fileset dir="extensions/jmx/build" includes="*.jar" excludes="*-with-deps.jar"/>
47 </copy>
48 <copy toDir="${build.dir}/dist">
49 <fileset dir="extensions/jndi/build" includes="*.jar" excludes="*-with-deps.jar"/>
50 </copy>
51 <copy toDir="${build.dir}/dist">
limpbizkit53708f02008-11-29 20:45:55 +000052 <fileset dir="extensions/throwingproviders/build" includes="*.jar" excludes="*-with-deps.jar"/>
limpbizkit0c43f222007-12-19 01:38:16 +000053 </copy>
limpbizkitbf5d2272008-02-16 01:49:41 +000054 <copy toDir="${build.dir}/dist">
limpbizkit53708f02008-11-29 20:45:55 +000055 <fileset dir="extensions/multibindings/build" includes="*.jar" excludes="*-with-deps.jar"/>
limpbizkit50192702008-05-01 09:55:02 +000056 </copy>
mccullsf8d74d62010-10-21 21:32:26 +000057 <copy toDir="${build.dir}/dist">
58 <fileset dir="extensions/persist/build" includes="*.jar" excludes="*-with-deps.jar"/>
59 </copy>
sberlin@gmail.comc9ece6b2010-12-20 22:26:44 +000060 <copy toDir="${build.dir}/dist">
61 <fileset dir="extensions/grapher/build" includes="*.jar" excludes="*-with-deps.jar"/>
62 </copy>
limpbizkit0c43f222007-12-19 01:38:16 +000063
crazyboblee66b415a2006-08-25 02:01:19 +000064 <copy toDir="${build.dir}/dist" file="COPYING"/>
65 <copy toDir="${build.dir}/dist">
66 <fileset dir="${lib.dir}"
67 includes="*.jar"/>
68 </copy>
69 <copy toDir="${build.dir}/dist">
crazybobleeefdb6f32007-02-26 02:54:11 +000070 <fileset dir="${build.dir}" includes="javadoc/**/*"/>
crazyboblee66b415a2006-08-25 02:01:19 +000071 </copy>
72
limpbizkit7bf3e3c2008-07-12 20:16:31 +000073 <zip destfile="${build.dir}/guice-${version}.zip">
limpbizkit53708f02008-11-29 20:45:55 +000074 <zipfileset dir="${build.dir}/dist" prefix="guice-${version}" excludes="*-src.jar"/>
limpbizkit7bf3e3c2008-07-12 20:16:31 +000075 </zip>
76 <zip destfile="${build.dir}/guice-${version}-src.zip">
77 <zipfileset dir="." prefix="guice-${version}-src"
sberlin@gmail.com9db504f2010-10-31 21:32:49 +000078 excludes="build/**,**/.svn/**,classes/**,.settings/**,bin/**,latest-api-diffs/**,latest-javadoc/**,.classpath,.project"/>
limpbizkit7bf3e3c2008-07-12 20:16:31 +000079 </zip>
crazyboblee66b415a2006-08-25 02:01:19 +000080 </target>
81
crazyboblee861eb332007-02-03 02:42:05 +000082 <target name="test.dist"
sberlin6e370962010-10-27 01:48:00 +000083 depends="jar, test.compile-with-deps"
crazyboblee861eb332007-02-03 02:42:05 +000084 description="Execute JUnit tests against distribution jar.">
85 <java fork="true"
86 classname="junit.textui.TestRunner"
87 failonerror="true"
88 taskname="junit">
89 <classpath>
sberlin6e370962010-10-27 01:48:00 +000090 <pathelement location="${build.dir}/guice-${version}-tests.jar"/>
crazyboblee861eb332007-02-03 02:42:05 +000091 <pathelement location="${build.dir}/dist/guice-${version}.jar"/>
92 <pathelement location="lib/aopalliance.jar"/>
93 <pathelement location="lib/build/junit.jar"/>
crazyboblee3a09e292007-02-08 22:36:21 +000094 <pathelement location="lib/build/servlet-api-2.5.jar"/>
95 <pathelement location="lib/build/easymock.jar"/>
dhanji2cd3f722009-10-20 08:02:21 +000096 <pathelement location="lib/javax.inject.jar"/>
97 <pathelement location="lib/build/javax.inject-tck.jar"/>
sberlinf7ac6ea2010-05-09 12:48:24 +000098 <pathelement location="lib/build/bnd-0.0.384.jar"/>
99 <pathelement location="lib/build/felix-2.0.5.jar"/>
crazyboblee861eb332007-02-03 02:42:05 +0000100 </classpath>
101 <arg value="com.google.inject.AllTests"/>
limpbizkit869a3c02008-06-27 01:09:41 +0000102 <syspropertyset>
103 <propertyref name="guice.custom.loader"/>
sberlinf7ac6ea2010-05-09 12:48:24 +0000104 <propertyref name="version"/>
105 <propertyref name="build.dir"/>
106 <propertyref name="lib.dir"/>
limpbizkit869a3c02008-06-27 01:09:41 +0000107 </syspropertyset>
crazyboblee861eb332007-02-03 02:42:05 +0000108 </java>
109 </target>
sberline0359ad2010-10-31 20:39:41 +0000110
111 <property name="old.api" value="2.0"/>
112 <property name="new.api" value="3.0"/>
113 <target name="jdiff">
114 <property name="jdiff.home" value="lib/build/jdiff"/>
115 <property name="jdiff.tmp" value="build/docs/latest-api-diffs"/>
116 <delete dir="${jdiff.tmp}"/>
117 <mkdir dir="${jdiff.tmp}"/>
118
119 <!-- Generate API for current version. -->
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000120 <javadoc packagenames="com.google.*"
sberline0359ad2010-10-31 20:39:41 +0000121 docletpath="${jdiff.home}/jdiff.jar${path.separator}${jdiff.home}/xerces.jar"
122 maxmemory="512M"
123 classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
mcculls74d714c2010-10-21 19:10:16 +0000124 <fileset dir="${src.dir}" defaultexcludes="yes">
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000125 <include name="com/google/**"/>
126 <exclude name="com/google/inject/internal/**"/>
127 </fileset>
128 <fileset dir="${servlet.src.dir}"/>
129 <fileset dir="${spring.src.dir}"/>
130 <fileset dir="${assistedinject.src.dir}"/>
131 <fileset dir="${jmx.src.dir}"/>
132 <fileset dir="${jndi.src.dir}"/>
133 <fileset dir="${throwingproviders.src.dir}"/>
134 <fileset dir="${multibindings.src.dir}"/>
135 <fileset dir="${persist.src.dir}"/>
sberlin@gmail.com81a0c602010-12-02 23:50:16 +0000136 <fileset dir="${struts2.src.dir}"/>
sberlin@gmail.comc9ece6b2010-12-20 22:26:44 +0000137 <fileset dir="${grapher.src.dir}"/>
sberline0359ad2010-10-31 20:39:41 +0000138
139 <doclet name="jdiff.JDiff"
140 path="${jdiff.home}/jdiff.jar:${jdiff.home}/xerces.jar">
141 <param name="-apidir" value="${jdiff.tmp}" />
142 <param name="-apiname" value="${new.api}" />
143 </doclet>
144 </javadoc>
145
146 <!-- Do a diff against the previous version. -->
147 <javadoc packagenames="com.google.*"
148 destdir="${jdiff.tmp}"
149 docletpath="${jdiff.home}/jdiff.jar${path.separator}${jdiff.home}/xerces.jar"
150 maxmemory="512M"
151 sourcefiles="${jdiff.home}/Null.java"
152 classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
153 <doclet name="jdiff.JDiff">
154 <param name="-oldapi" value="${old.api}"/>
155 <param name="-oldapidir" value="latest-api-diffs"/>
156 <param name="-javadocold" value="http://google-guice.googlecode.com/svn/trunk/latest-api-diffs/${old.api}/javadoc/"/>
157 <param name="-newapi" value="${new.api}"/>
158 <param name="-newapidir" value="${jdiff.tmp}"/>
159 <param name="-javadocnew" value="http://google-guice.googlecode.com/svn/trunk/latest-api-diffs/${new.api}/javadoc/"/>
160 <param name="-stats"/>
161 <param name="-docchanges"/>
162 </doclet>
163 </javadoc>
164 </target>
165
166 <target name="javadoc">
167 <javadoc packagenames="com.google.*"
168 destdir="build/docs"
169 docletpath="lib/build/doclava.jar"
170 bootclasspath="${java.home}/lib/rt.jar"
171 maxmemory="512M"
172 classpath="lib/javax.inject.jar${path.separator}lib/aopalliance.jar">
173 <fileset dir="${src.dir}" defaultexcludes="yes">
174 <include name="com/google/**"/>
175 <exclude name="com/google/inject/internal/**"/>
176 </fileset>
177 <fileset dir="${servlet.src.dir}"/>
178 <fileset dir="${spring.src.dir}"/>
179 <fileset dir="${assistedinject.src.dir}"/>
180 <fileset dir="${jmx.src.dir}"/>
181 <fileset dir="${jndi.src.dir}"/>
182 <fileset dir="${throwingproviders.src.dir}"/>
183 <fileset dir="${multibindings.src.dir}"/>
184 <fileset dir="${persist.src.dir}"/>
sberlin@gmail.comc9ece6b2010-12-20 22:26:44 +0000185 <fileset dir="${grapher.src.dir}"/>
sberlin@gmail.com81a0c602010-12-02 23:50:16 +0000186 <!-- TODO: this breaks Doclava for some reason
187 <fileset dir="${struts2.src.dir}"/> -->
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000188
189 <doclet name="com.google.doclava.Doclava">
190 <param name="-hdf"/> <param name="project.name"/> <param name="Guice"/>
limpbizkit@gmail.comb5beefa2010-10-05 03:25:16 +0000191 <param name="-since"/> <param name="lib/build/guice-1.0.xml"/> <param name="Guice_1.0" />
sberline0359ad2010-10-31 20:39:41 +0000192 <param name="-since"/> <param name="lib/build/guice-2.0.xml"/> <param name="Guice_2.0" />
193 <param name="-apiversion" value="Guice_${new.api}"/>
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000194 <param name="-assetsdir" value="javadoc/assets"/>
sberline0359ad2010-10-31 20:39:41 +0000195 <param name="-apixml" value="build/docs/guice-${new.api}.xml"/>
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000196 <!-- TODO: fix doclava federation
197 http://aopalliance.sourceforge.net/doc
198 http://www.springframework.org/docs/api/
199 <param name="-federate"/><param name="JDK"/><param name="http://download.oracle.com/javase/6/docs/api/index.html?"/>
200 <param name="-federationxml"/><param name="JDK"/><param name="http://doclava.googlecode.com/svn/static/api/openjdk-6.xml"/>
201 -->
202 </doclet>
crazyboblee66b415a2006-08-25 02:01:19 +0000203 </javadoc>
limpbizkit@gmail.com011d7c42010-10-05 02:50:47 +0000204 <move todir="build/docs/javadoc"><fileset dir="build/docs/reference"/></move>
crazyboblee66b415a2006-08-25 02:01:19 +0000205 </target>
206
limpbizkit7c508c22009-02-19 02:56:27 +0000207 <target name="no_aop"
208 description="Create a copy of the Guice source that doesn't do bytecode generation.">
209 <taskdef name="munge" classname="MungeTask" classpath="lib/build/munge.jar"/>
210 <mkdir dir="build/no_aop"/>
211 <munge todir="build/no_aop">
limpbizkitbf0d8762009-02-19 09:06:22 +0000212 <fileset dir=".">
limpbizkit4f6274a2009-02-19 21:57:55 +0000213 <!-- exclude generated files -->
214 <exclude name="build/**"/>
215 <exclude name="classes/**"/>
216 <exclude name="latest-api-diffs/**"/>
217 <exclude name="javadoc/**"/>
218 <exclude name="latest-javadoc/**"/>
219 <!-- exclude AOP-specific libraries -->
220 <exclude name="lib/aopalliance.jar"/>
221 <exclude name="lib/build/asm-*.jar"/>
222 <exclude name="lib/build/cglib-*.jar"/>
223 <!-- exclude AOP-specific classes -->
224 <exclude name="**/LineNumbers.java"/>
limpbizkitbf0d8762009-02-19 09:06:22 +0000225 <exclude name="**/InterceptorBindingProcessor.java"/>
226 <exclude name="**/ProxyFactory.java"/>
limpbizkit4f6274a2009-02-19 21:57:55 +0000227 <exclude name="**/ProxyFactoryTest.java"/>
limpbizkitbf0d8762009-02-19 09:06:22 +0000228 <exclude name="**/InterceptorStackCallback.java"/>
229 <exclude name="**/InterceptorBinding.java"/>
230 <exclude name="**/MethodAspect.java"/>
231 <exclude name="**/MethodInterceptionTest.java"/>
232 <exclude name="**/BytecodeGenTest.java"/>
233 <exclude name="**/IntegrationTest.java"/>
234 <exclude name="**/MethodInterceptionTest.java"/>
235 </fileset>
limpbizkit7c508c22009-02-19 02:56:27 +0000236 <arg value="-DNO_AOP" />
237 </munge>
limpbizkit4f6274a2009-02-19 21:57:55 +0000238 <replace file="build/no_aop/common.xml" token="&lt;zipfileset src=&quot;${common.basedir}/lib/build/asm-3.1.jar&quot;/&gt;" value=""/>
239 <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 +0000240 </target>
241
crazybobleeefdb6f32007-02-26 02:54:11 +0000242 <target name="clean.all"
243 depends="clean"
crazyboblee66b415a2006-08-25 02:01:19 +0000244 description="Remove generated files.">
sberlinf8537ea2010-08-21 23:50:30 +0000245 <ant dir="extensions/servlet" antfile="build.xml" target="clean"/>
246 <ant dir="extensions/spring" antfile="build.xml" target="clean"/>
sberlin@gmail.com81a0c602010-12-02 23:50:16 +0000247 <ant dir="extensions/struts2" antfile="build.xml" target="clean"/>
limpbizkit0c43f222007-12-19 01:38:16 +0000248 <ant dir="extensions/assistedinject" antfile="build.xml" target="clean"/>
limpbizkite05f2542009-05-19 00:58:48 +0000249 <ant dir="extensions/jmx" antfile="build.xml" target="clean"/>
250 <ant dir="extensions/jndi" antfile="build.xml" target="clean"/>
limpbizkit0c43f222007-12-19 01:38:16 +0000251 <ant dir="extensions/throwingproviders" antfile="build.xml" target="clean"/>
limpbizkit50192702008-05-01 09:55:02 +0000252 <ant dir="extensions/multibindings" antfile="build.xml" target="clean"/>
mccullsf8d74d62010-10-21 21:32:26 +0000253 <ant dir="extensions/persist" antfile="build.xml" target="clean"/>
sberlin@gmail.comc9ece6b2010-12-20 22:26:44 +0000254 <ant dir="extensions/grapher" antfile="build.xml" target="clean"/>
crazyboblee66b415a2006-08-25 02:01:19 +0000255 </target>
256
257</project>