blob: cfe399c75b0628e3a7f500ace4a46dd5bb9e635b [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"/>
24 <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"/>
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>
37 <copy toDir="${build.dir}/dist">
sberlinf8537ea2010-08-21 23:50:30 +000038 <fileset dir="extensions/struts2/build" includes="*.jar" excludes="*-with-deps.jar"/>
crazybobleeefdb6f32007-02-26 02:54:11 +000039 </copy>
limpbizkit0c43f222007-12-19 01:38:16 +000040 <copy toDir="${build.dir}/dist">
limpbizkit53708f02008-11-29 20:45:55 +000041 <fileset dir="extensions/assistedinject/build" includes="*.jar" excludes="*-with-deps.jar"/>
limpbizkit0c43f222007-12-19 01:38:16 +000042 </copy>
43 <copy toDir="${build.dir}/dist">
limpbizkite05f2542009-05-19 00:58:48 +000044 <fileset dir="extensions/jmx/build" includes="*.jar" excludes="*-with-deps.jar"/>
45 </copy>
46 <copy toDir="${build.dir}/dist">
47 <fileset dir="extensions/jndi/build" includes="*.jar" excludes="*-with-deps.jar"/>
48 </copy>
49 <copy toDir="${build.dir}/dist">
limpbizkit53708f02008-11-29 20:45:55 +000050 <fileset dir="extensions/throwingproviders/build" includes="*.jar" excludes="*-with-deps.jar"/>
limpbizkit0c43f222007-12-19 01:38:16 +000051 </copy>
limpbizkitbf5d2272008-02-16 01:49:41 +000052 <copy toDir="${build.dir}/dist">
limpbizkit53708f02008-11-29 20:45:55 +000053 <fileset dir="extensions/multibindings/build" includes="*.jar" excludes="*-with-deps.jar"/>
limpbizkit50192702008-05-01 09:55:02 +000054 </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"
70 excludes="build/**/*,build,.svn,.svn/**/*,**/.svn,classes,classes/**/*"/>
71 </zip>
crazyboblee66b415a2006-08-25 02:01:19 +000072 </target>
73
crazyboblee861eb332007-02-03 02:42:05 +000074 <target name="test.dist"
75 depends="jar, test.compile"
76 description="Execute JUnit tests against distribution jar.">
77 <java fork="true"
78 classname="junit.textui.TestRunner"
79 failonerror="true"
80 taskname="junit">
81 <classpath>
82 <pathelement location="${build.dir}/test"/>
83 <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>
102
crazyboblee66b415a2006-08-25 02:01:19 +0000103 <target name="javadoc"
104 description="Generate Javadocs.">
105 <mkdir dir="${build.dir}/javadoc"/>
106 <javadoc packagenames="${javadoc.packagenames}"
107 destdir="${build.dir}/javadoc"
crazybobleebbc3bae2007-02-20 22:15:56 +0000108 author="false"
crazyboblee66b415a2006-08-25 02:01:19 +0000109 protected="true"
limpbizkit2acabce2009-09-28 02:51:24 +0000110 windowtitle="Guice ${version} API">
crazyboblee66b415a2006-08-25 02:01:19 +0000111 <sourcepath>
112 <pathelement location="${src.dir}"/>
crazyboblee97223d42007-02-25 23:25:31 +0000113 <pathelement location="${servlet.src.dir}"/>
crazyboblee61257a82007-03-03 00:23:40 +0000114 <pathelement location="${spring.src.dir}"/>
limpbizkit0c43f222007-12-19 01:38:16 +0000115 <pathelement location="${assistedinject.src.dir}"/>
limpbizkite05f2542009-05-19 00:58:48 +0000116 <pathelement location="${jmx.src.dir}"/>
117 <pathelement location="${jndi.src.dir}"/>
limpbizkit28d083b2008-05-07 17:25:38 +0000118 <pathelement location="${throwingproviders.src.dir}"/>
limpbizkit3a5da392008-05-01 09:59:47 +0000119 <pathelement location="${multibindings.src.dir}"/>
dhanji2cd3f722009-10-20 08:02:21 +0000120 <pathelement location="${lifecycle.src.dir}"/>
crazyboblee66b415a2006-08-25 02:01:19 +0000121 </sourcepath>
122 <classpath refid="compile.classpath"/>
crazybobleeefdb6f32007-02-26 02:54:11 +0000123 <classpath>
124 <fileset dir="servlet/lib/build" includes="*.jar"/>
125 </classpath>
crazyboblee62fcdde2007-02-03 02:10:13 +0000126 <link href="http://aopalliance.sourceforge.net/doc"/>
kevinb9ne4f86732007-02-13 18:05:27 +0000127 <link href="http://java.sun.com/javase/6/docs/api"/>
crazyboblee61257a82007-03-03 00:23:40 +0000128 <link href="http://www.springframework.org/docs/api/"/>
crazyboblee66b415a2006-08-25 02:01:19 +0000129 </javadoc>
limpbizkit3a6d3b72009-05-19 17:52:33 +0000130 <!-- generate core javadocs, used only for its left-side nav -->
131 <mkdir dir="${build.dir}/javadoc-core"/>
132 <javadoc packagenames="${javadoc.packagenames}"
133 destdir="${build.dir}/javadoc-core"
134 author="false"
135 protected="true"
limpbizkit2acabce2009-09-28 02:51:24 +0000136 windowtitle="Guice ${version} Core API"
limpbizkit3a6d3b72009-05-19 17:52:33 +0000137 sourcepath="${src.dir}">
138 <classpath refid="compile.classpath"/>
139 <link href="http://aopalliance.sourceforge.net/doc"/>
140 <link href="http://java.sun.com/javase/6/docs/api"/>
141 </javadoc>
142 <!-- setup the left-side navigation frames to toggle between core and all classes -->
143 <move file="${build.dir}/javadoc/overview-frame.html" tofile="${build.dir}/javadoc/overview-frame-with-extensions.html"/>
144 <copy file="${build.dir}/javadoc-core/overview-frame.html" tofile="${build.dir}/javadoc/overview-frame.html"/>
145 <replace file="${build.dir}/javadoc/overview-frame.html" token="&lt;A HREF=&quot;allclasses-frame.html&quot; target=&quot;packageFrame&quot;&gt;All Classes&lt;/A&gt;&lt;/FONT&gt;"
146 value="&lt;A HREF=&quot;allclasses-frame.html&quot; target=&quot;packageFrame&quot;&gt;&lt;b&gt;Core&lt;/b&gt;&lt;/A&gt;
147 &amp;nbsp;
148 &lt;a href='overview-frame-with-extensions.html'&gt;Show Extensions&lt;/a&gt;
149 &lt;/FONT&gt;"/>
150 <replace file="${build.dir}/javadoc/overview-frame-with-extensions.html" token="&lt;A HREF=&quot;allclasses-frame.html&quot; target=&quot;packageFrame&quot;&gt;All Classes&lt;/A&gt;&lt;/FONT&gt;"
151 value="&lt;A HREF=&quot;allclasses-frame-with-extensions.html&quot; target=&quot;packageFrame&quot;&gt;&lt;b&gt;All&lt;/b&gt;&lt;/A&gt;
152 &amp;nbsp;
153 &lt;a href='overview-frame.html'&gt;Hide Extensions&lt;/a&gt;
154 &lt;/FONT&gt;"/>
155 <move file="${build.dir}/javadoc/allclasses-frame.html" tofile="${build.dir}/javadoc/allclasses-frame-with-extensions.html"/>
156 <copy file="${build.dir}/javadoc-core/allclasses-frame.html" tofile="${build.dir}/javadoc/allclasses-frame.html"/>
157 <replace file="${build.dir}/javadoc/allclasses-frame.html" token="All Classes" value="Core Classes"/>
limpbizkit19d7f362009-05-19 22:29:44 +0000158 <move file="${build.dir}/javadoc-core/overview-summary.html" tofile="${build.dir}/javadoc/overview-summary.html"/>
crazyboblee66b415a2006-08-25 02:01:19 +0000159 </target>
160
limpbizkit7c508c22009-02-19 02:56:27 +0000161 <target name="no_aop"
162 description="Create a copy of the Guice source that doesn't do bytecode generation.">
163 <taskdef name="munge" classname="MungeTask" classpath="lib/build/munge.jar"/>
164 <mkdir dir="build/no_aop"/>
165 <munge todir="build/no_aop">
limpbizkitbf0d8762009-02-19 09:06:22 +0000166 <fileset dir=".">
limpbizkit4f6274a2009-02-19 21:57:55 +0000167 <!-- exclude generated files -->
168 <exclude name="build/**"/>
169 <exclude name="classes/**"/>
170 <exclude name="latest-api-diffs/**"/>
171 <exclude name="javadoc/**"/>
172 <exclude name="latest-javadoc/**"/>
173 <!-- exclude AOP-specific libraries -->
174 <exclude name="lib/aopalliance.jar"/>
175 <exclude name="lib/build/asm-*.jar"/>
176 <exclude name="lib/build/cglib-*.jar"/>
177 <!-- exclude AOP-specific classes -->
178 <exclude name="**/LineNumbers.java"/>
limpbizkitbf0d8762009-02-19 09:06:22 +0000179 <exclude name="**/InterceptorBindingProcessor.java"/>
180 <exclude name="**/ProxyFactory.java"/>
limpbizkit4f6274a2009-02-19 21:57:55 +0000181 <exclude name="**/ProxyFactoryTest.java"/>
limpbizkitbf0d8762009-02-19 09:06:22 +0000182 <exclude name="**/InterceptorStackCallback.java"/>
183 <exclude name="**/InterceptorBinding.java"/>
184 <exclude name="**/MethodAspect.java"/>
185 <exclude name="**/MethodInterceptionTest.java"/>
186 <exclude name="**/BytecodeGenTest.java"/>
187 <exclude name="**/IntegrationTest.java"/>
188 <exclude name="**/MethodInterceptionTest.java"/>
189 </fileset>
limpbizkit7c508c22009-02-19 02:56:27 +0000190 <arg value="-DNO_AOP" />
191 </munge>
limpbizkit4f6274a2009-02-19 21:57:55 +0000192 <replace file="build/no_aop/common.xml" token="&lt;zipfileset src=&quot;${common.basedir}/lib/build/asm-3.1.jar&quot;/&gt;" value=""/>
193 <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 +0000194 </target>
195
crazybobleeefdb6f32007-02-26 02:54:11 +0000196 <target name="clean.all"
197 depends="clean"
crazyboblee66b415a2006-08-25 02:01:19 +0000198 description="Remove generated files.">
sberlinf8537ea2010-08-21 23:50:30 +0000199 <ant dir="extensions/servlet" antfile="build.xml" target="clean"/>
200 <ant dir="extensions/spring" antfile="build.xml" target="clean"/>
201 <ant dir="extensions/struts2" antfile="build.xml" target="clean"/>
limpbizkit0c43f222007-12-19 01:38:16 +0000202 <ant dir="extensions/assistedinject" antfile="build.xml" target="clean"/>
limpbizkite05f2542009-05-19 00:58:48 +0000203 <ant dir="extensions/jmx" antfile="build.xml" target="clean"/>
204 <ant dir="extensions/jndi" antfile="build.xml" target="clean"/>
limpbizkit0c43f222007-12-19 01:38:16 +0000205 <ant dir="extensions/throwingproviders" antfile="build.xml" target="clean"/>
limpbizkit50192702008-05-01 09:55:02 +0000206 <ant dir="extensions/multibindings" antfile="build.xml" target="clean"/>
crazyboblee66b415a2006-08-25 02:01:19 +0000207 </target>
208
209</project>