blob: 014a4324a8b275b760605b0abd0184690b609c39 [file] [log] [blame]
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +00001<project name="dev" default="build" basedir=".">
fabbott@google.com0e2dc6282008-08-22 16:09:01 +00002 <property name="gwt.root" location=".." />
3 <property name="project.tail" value="dev" />
4 <import file="${gwt.root}/platforms.ant.xml" />
jat@google.com0b1619e2009-09-20 19:33:31 +00005 <import file="${gwt.root}/common.ant.xml" />
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +00006
jat@google.com0b1619e2009-09-20 19:33:31 +00007 <property name="alldeps.jar" location="${project.build}/alldeps.jar" />
8 <property name="gwt.junit.testcase.dev.core.includes" value="**/com/google/**/*Test.class" />
jlabanca@google.come29c1bd2009-10-26 17:25:56 +00009 <!-- BrowserManagerTest is brought in from user and is not instantiable. -->
10 <property name="gwt.junit.testcase.dev.core.excludes" value="**/BrowserManagerTest.class" />
fabbott@google.comf6dd0142009-07-11 02:19:32 +000011
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000012 <target name="clean" description="Cleans this project's intermediate and output files">
13 <delete dir="${project.build}" failonerror="false" />
jat@google.com0b1619e2009-09-20 19:33:31 +000014 <delete file="${project.lib}" failonerror="false" />
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000015 <delete failonerror="false">
jat@google.com0b1619e2009-09-20 19:33:31 +000016 <fileset dir="${gwt.build.lib}" includes="gwt-dev.jar"/>
fabbott@google.com0e2dc6282008-08-22 16:09:01 +000017 </delete>
18 </target>
jat@google.com0b1619e2009-09-20 19:33:31 +000019
jlabanca@google.comc5c17c62009-10-26 16:31:34 +000020 <target name="compile.tests" depends="build, compile.emma.if.enabled, build.alldeps.jar" description="Compiles the test code for this project">
jat@google.com0b1619e2009-09-20 19:33:31 +000021 <mkdir dir="${javac.junit.out}" />
jat@google.come07256f2009-09-20 20:15:01 +000022 <gwt.javac srcdir="" destdir="${javac.junit.out}">
23 <src path="core/src" />
jat@google.com0b1619e2009-09-20 19:33:31 +000024 <src path="core/test" />
jat@google.com0b1619e2009-09-20 19:33:31 +000025 <classpath>
26 <pathelement location="${javac.out}" />
27 <pathelement location="${alldeps.jar}" />
28 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
29 </classpath>
30 </gwt.javac>
jlabanca@google.comc5c17c62009-10-26 16:31:34 +000031 <gwt.javac srcdir="${gwt.root}/user/src" destdir="${javac.junit.out}">
32 <classpath>
33 <pathelement location="${javac.out}" />
34 <pathelement location="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
35 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
36 <pathelement location="${gwt.tools.lib}/jfreechart/jfreechart-1.0.3.jar" />
37 <pathelement location="${gwt.tools.lib}/selenium/selenium-java-client-driver.jar" />
38 <pathelement location="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
39 <pathelement location="${gwt.tools.lib}/w3c/flute/flute-1.3.jar" />
40 <pathelement location="${gwt.build.lib}/gwt-dev-${build.host.platform}.jar" />
41 <pathelement location="${alldeps.jar}" />
42 </classpath>
43 </gwt.javac>
44
jat@google.com0b1619e2009-09-20 19:33:31 +000045 </target>
46
47 <target name="build.alldeps.jar" description="Merges all dependency jars into a single jar">
48 <mkdir dir="${project.build}" />
49 <outofdate> <!-- saves rescanning all the source jars' contents -->
50 <sourcefiles>
51 <fileset dir="${gwt.tools.lib}">
52 <include name="apache/tapestry-util-text-4.0.2.jar" />
53 <include name="apache/ant-1.6.5.jar" />
54 <include name="eclipse/jdt-3.4.2.jar" />
55 <include name="jetty/jetty-6.1.11.jar" />
rdayal@google.com126c9a32009-10-22 01:05:58 +000056 <include name="protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +000057 <include name="tomcat/ant-launcher-1.6.5.jar" />
58 <include name="tomcat/catalina-1.0.jar" />
59 <include name="tomcat/catalina-optional-1.0.jar" />
60 <include name="tomcat/commons-beanutils-1.6.jar" />
61 <include name="tomcat/commons-collections-3.1.jar" />
62 <include name="tomcat/commons-digester-1.5.jar" />
63 <include name="tomcat/commons-el-1.0.jar" />
64 <include name="tomcat/commons-logging-1.0.jar" />
65 <include name="tomcat/commons-modeler-1.1.jar" />
66 <include name="tomcat/jakarta-regexp-1.3.jar" />
67 <include name="tomcat/jasper-compiler-1.0.jar" />
68 <include name="tomcat/jasper-runtime-1.0.jar" />
69 <include name="tomcat/jsp-api-2.0.jar" />
70 <include name="tomcat/mx4j-jmx-1.1.jar" />
71 <include name="tomcat/naming-common-1.0.jar" />
72 <include name="tomcat/naming-factory-1.0.jar" />
73 <include name="tomcat/naming-java-1.0.jar" />
74 <include name="tomcat/naming-resources-1.0.jar" />
75 <include name="tomcat/servlet-api-2.5.jar" />
76 <include name="tomcat/servlet-api-2.4.jar" />
77 <include name="tomcat/servlets-common-1.0.jar" />
78 <include name="tomcat/servlets-default-1.0.jar" />
79 <include name="tomcat/servlets-invoker-1.0.jar" />
80 <include name="tomcat/tomcat-coyote-1.0.jar" />
81 <include name="tomcat/tomcat-http11-1.0.jar" />
82 <include name="tomcat/tomcat-jk2-2.1.jar" />
83 <include name="tomcat/tomcat-util-5.1.jar" />
84 <!-- htmlunit dependencies not already included: BEGIN -->
85 <include name="apache/commons/commons-codec-1.3.jar" />
86 <include name="apache/commons/commons-httpclient-3.1.jar" />
87 <include name="apache/commons/commons-io-1.4.jar" />
88 <include name="apache/commons/commons-lang-2.4.jar" />
89 <include name="cssparser/cssparser-0.9.5.jar" />
amitmanjhi@google.com5868bc72009-10-13 20:52:35 +000090 <include name="htmlunit/htmlunit-r5070.jar" />
91 <include name="htmlunit/htmlunit-core-js-r5070.jar" />
92 <include name="nekohtml/nekohtml-1.9.13.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +000093 <include name="xalan/xalan-2.7.1.jar" />
94 <include name="xerces/xerces-2_9_1/serializer.jar" />
95 <include name="xerces/xerces-2_9_1/xercesImpl-NoMetaInf.jar" />
96 <include name="xerces/xerces-2_9_1/xml-apis.jar" />
97 <include name="w3c/sac/sac-1.3.jar" />
98 <!-- htmlunit dependencies not already included: END -->
99 <include name="sun/swingworker/swing-worker-1.1.jar" />
100 </fileset>
101 <fileset file="build.xml"/>
102 </sourcefiles>
103 <targetfiles>
104 <fileset file="${alldeps.jar}"/>
105 </targetfiles>
106 <sequential>
107 <gwt.jar destfile="${alldeps.jar}">
108 <zipfileset src="${gwt.tools.lib}/apache/tapestry-util-text-4.0.2.jar" />
109 <zipfileset src="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
110 <zipfileset src="${gwt.tools.lib}/eclipse/jdt-3.4.2.jar" />
111 <zipfileset src="${gwt.tools.lib}/jetty/jetty-6.1.11.jar" />
rdayal@google.com126c9a32009-10-22 01:05:58 +0000112 <zipfileset src="${gwt.tools.lib}/protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000113 <zipfileset src="${gwt.tools.lib}/tomcat/ant-launcher-1.6.5.jar" />
114 <zipfileset src="${gwt.tools.lib}/tomcat/catalina-1.0.jar" />
115 <zipfileset src="${gwt.tools.lib}/tomcat/catalina-optional-1.0.jar" />
116 <zipfileset src="${gwt.tools.lib}/tomcat/commons-beanutils-1.6.jar" />
117 <zipfileset src="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
118 <zipfileset src="${gwt.tools.lib}/tomcat/commons-digester-1.5.jar" />
119 <zipfileset src="${gwt.tools.lib}/tomcat/commons-el-1.0.jar" />
120 <zipfileset src="${gwt.tools.lib}/tomcat/commons-logging-1.0.jar" />
121 <zipfileset src="${gwt.tools.lib}/tomcat/commons-modeler-1.1.jar" />
122 <zipfileset src="${gwt.tools.lib}/tomcat/jakarta-regexp-1.3.jar" />
123 <zipfileset src="${gwt.tools.lib}/tomcat/jasper-compiler-1.0.jar" />
124 <zipfileset src="${gwt.tools.lib}/tomcat/jasper-runtime-1.0.jar" />
125 <zipfileset src="${gwt.tools.lib}/tomcat/jsp-api-2.0.jar" />
126 <zipfileset src="${gwt.tools.lib}/tomcat/mx4j-jmx-1.1.jar" />
127 <zipfileset src="${gwt.tools.lib}/tomcat/naming-common-1.0.jar" />
128 <zipfileset src="${gwt.tools.lib}/tomcat/naming-factory-1.0.jar" />
129 <zipfileset src="${gwt.tools.lib}/tomcat/naming-java-1.0.jar" />
130 <zipfileset src="${gwt.tools.lib}/tomcat/naming-resources-1.0.jar" />
131 <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
132 <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
133 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-common-1.0.jar" />
134 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-default-1.0.jar" />
135 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-invoker-1.0.jar" />
136 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-coyote-1.0.jar" />
137 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-http11-1.0.jar" />
138 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-jk2-2.1.jar" />
139 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-util-5.1.jar" />
140 <!-- htmlunit dependencies not already included: BEGIN -->
141 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-codec-1.3.jar" />
142 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-httpclient-3.1.jar" />
143 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-io-1.4.jar" />
144 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-lang-2.4.jar" />
145 <zipfileset src="${gwt.tools.lib}/cssparser/cssparser-0.9.5.jar" />
amitmanjhi@google.com5868bc72009-10-13 20:52:35 +0000146 <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-r5070.jar" />
147 <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-core-js-r5070.jar" />
148 <zipfileset src="${gwt.tools.lib}/nekohtml/nekohtml-1.9.13.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000149 <zipfileset src="${gwt.tools.lib}/xalan/xalan-2.7.1.jar" />
150 <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/serializer.jar" />
151 <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/xercesImpl-NoMetaInf.jar" />
152 <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/xml-apis.jar" />
153 <zipfileset src="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
154 <!-- htmlunit dependencies not already included: END -->
155 <zipfileset src="${gwt.tools.lib}/sun/swingworker/swing-worker-1.1.jar" />
156 </gwt.jar>
157 </sequential>
158 </outofdate>
159 </target>
160
161 <property name="filter.pattern" value="com/google/gwt/dev/About.properties" />
162
163 <target name="-filter.props" description="Creates filtered About.properties with version info"
164 unless="filter.uptodate">
165 <gwt.revfilter todir="${javac.out}">
166 <fileset dir="core/src" includes="${filter.pattern}" />
167 </gwt.revfilter>
168 <touch file="${filter.sentinel}" />
169 </target>
170
jlabanca@google.comc5c17c62009-10-26 16:31:34 +0000171 <target name="compiler.standalone" depends="build.alldeps.jar" description="Validates that the standalone gwt-compiler project can build.">
jat@google.com0b1619e2009-09-20 19:33:31 +0000172 <mkdir dir="${javac.out}" />
173 <gwt.javac srcdir="core/super" excludes="com/google/gwt/dev/jjs/intrinsic/"/>
174 <gwt.javac srcdir="core/src">
175 <include name="com/google/gwt/core/ext/**"/>
176 <include name="com/google/gwt/core/linker/**"/>
177 <include name="com/google/gwt/dev/About.java"/>
178 <include name="com/google/gwt/dev/asm/**"/>
179 <include name="com/google/gwt/dev/cfg/**"/>
180 <include name="com/google/gwt/dev/javac/**"/>
181 <include name="com/google/gwt/dev/jdt/**"/>
182 <include name="com/google/gwt/dev/jjs/**"/>
183 <include name="com/google/gwt/dev/js/**"/>
184 <include name="com/google/gwt/dev/resource/**"/>
185 <include name="com/google/gwt/dev/util/**"/>
scottb@google.comf7480d62009-10-16 17:59:37 +0000186 <include name="com/google/gwt/soyc/**"/>
jat@google.com0b1619e2009-09-20 19:33:31 +0000187 <include name="com/google/gwt/util/tools/**"/>
188 <classpath>
189 <pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
190 <pathelement location="${gwt.tools.lib}/eclipse/jdt-3.4.2.jar" />
191 <pathelement location="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
192 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
193 </classpath>
194 </gwt.javac>
195
196 </target>
197
198 <target name="compile" depends="compiler.standalone, build.alldeps.jar" description="Compiles this project">
199 <gwt.javac srcdir="" excludes="${filter.pattern}">
200 <src path="core/src" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000201 <classpath>
202 <pathelement location="${alldeps.jar}" />
203 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
204 </classpath>
205 </gwt.javac>
206 <copy todir="${javac.out}">
207 <fileset dir="core/src" includes="**/*.properties" excludes="${filter.pattern}"/>
208 </copy>
209
210 <!-- Files with hardcoded version information must be filtered -->
211 <gwt.getsvninfo />
212 <condition property="filter.uptodate">
213 <and>
214 <available file="${filter.sentinel}" />
215 <uptodate>
216 <srcfiles dir="core/src" includes="${filter.pattern}" />
217 <globmapper from="*" to="${javac.out}/*" />
218 </uptodate>
219 </and>
220 </condition>
221 <antcall target="-filter.props" />
222 </target>
223
224 <target name="checkstyle" description="Static analysis of source">
225 <gwt.checkstyle>
226 <fileset dir="core/src">
mmendez@google.comdcf4f492009-10-21 05:03:27 +0000227 <filename name="com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java" negate="yes" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000228 <filename name="com/google/gwt/dev/asm/**/*.java" negate="yes" />
229 <filename name="com/google/gwt/dev/js/rhino/**/*.java" negate="yes" />
230 <filename name="org/eclipse/**/*.java" negate="yes" />
231 <filename name="org/apache/**/*.java" negate="yes" />
232 </fileset>
jat@google.com0b1619e2009-09-20 19:33:31 +0000233 </gwt.checkstyle>
234
235 <gwt.checkstyle>
236 <fileset dir="core/super/com/google/gwt/dev/jjs/intrinsic" />
237 </gwt.checkstyle>
238
239 </target>
240
241 <target name="test" depends="build, compile.tests" description="Run unit tests for this project.">
242 <fileset id="tests.dev.core" dir="${javac.junit.out}" includes="${gwt.junit.testcase.dev.core.includes}" excludes="${gwt.junit.testcase.dev.core.excludes}" />
243 <gwt.junit test.out="${junit.out}" test.cases="tests.dev.core" >
244 <extraclasspaths>
245 <pathelement location="${alldeps.jar}" />
fabbott@google.comc0e9c9f2009-09-28 15:46:02 +0000246 <!-- TODO: the following six items are needed because dev (alone) does
247 not adhere to the .../{src,super,test} convention, having a split
jat@google.comb92ef9a2009-10-17 05:24:33 +0000248 between core and (historically) oophm and the OS platforms. When
fabbott@google.comc0e9c9f2009-09-28 15:46:02 +0000249 that unifies, these should go away. -->
250 <pathelement location="${gwt.root}/${project.tail}/core/src" />
251 <pathelement location="${gwt.root}/${project.tail}/core/super" />
252 <pathelement location="${gwt.root}/${project.tail}/core/test" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000253 <!-- Pull in gwt-dev and gwt-user sources for .gwt.xml files -->
254 <pathelement location="${gwt.root}/user/src/" />
255 <pathelement location="${gwt.root}/user/super/" />
jlabanca@google.comc5c17c62009-10-26 16:31:34 +0000256 <!-- CompilerTest compiles the hello sample. -->
257 <pathelement location="${gwt.root}/samples/hello/src/" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000258 </extraclasspaths>
259 </gwt.junit>
260 </target>
261
262 <property.ensure name="gwt.tools.soyc" location="${gwt.root}/tools/soyc-vis" />
263 <target name="build" depends="compile" description="Build and package this project">
264 <mkdir dir="${gwt.build.lib}" />
265 <outofdate>
266 <sourcefiles>
jat@google.com0b1619e2009-09-20 19:33:31 +0000267 <fileset dir="core/src">
268 <exclude name="**/package.html"/>
269 <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin -->
270 </fileset>
271 <fileset dir="core/super" excludes="**/package.html" />
272 <fileset dir="${javac.out}" />
273 <fileset dir="${project.build}/bin" />
274 <fileset file="${project.build}/alldeps.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000275 <fileset file="${gwt.tools.soyc}/classLevel.css"/>
276 <fileset file="${gwt.tools.soyc}/roundedCorners.css"/>
277 </sourcefiles>
278 <targetfiles>
279 <fileset file="${project.lib}"/>
280 </targetfiles>
281 <sequential>
282 <gwt.jar>
jat@google.com0b1619e2009-09-20 19:33:31 +0000283 <fileset dir="core/src">
284 <exclude name="**/package.html"/>
285 <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin -->
286 </fileset>
287 <fileset dir="core/super" excludes="**/package.html" />
288 <fileset dir="${javac.out}" />
289 <zipfileset src="${alldeps.jar}" />
290
jat@google.com0b1619e2009-09-20 19:33:31 +0000291 <zipfileset file="${gwt.tools.soyc}/classLevel.css" prefix="com/google/gwt/soyc/resources/"/>
292 <zipfileset file="${gwt.tools.soyc}/roundedCorners.css" prefix="com/google/gwt/soyc/resources/"/>
293
294 <manifest>
295 <attribute name="Main-Class" value="com.google.gwt.dev.GWTMain" />
296 </manifest>
297 </gwt.jar>
298 </sequential>
299 </outofdate>
300 </target>
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +0000301</project>