blob: cfc3b0cf4691ffb87be51cf97e63be14a805cdc6 [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>
tomerigo@google.comc2163e62010-02-01 16:08:26 +000031 <gwt.javac srcdir="${gwt.root}/user/src" destdir="${javac.junit.out}"
32 excludes="**/super/**">
jlabanca@google.comc5c17c62009-10-26 16:31:34 +000033 <classpath>
34 <pathelement location="${javac.out}" />
35 <pathelement location="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
36 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
37 <pathelement location="${gwt.tools.lib}/jfreechart/jfreechart-1.0.3.jar" />
38 <pathelement location="${gwt.tools.lib}/selenium/selenium-java-client-driver.jar" />
39 <pathelement location="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
bobv@google.com93569172010-01-15 19:17:28 +000040 <pathelement location="${gwt.tools.lib}/w3c/flute/flute-1.3-gg1.jar" />
jlabanca@google.comc5c17c62009-10-26 16:31:34 +000041 <pathelement location="${gwt.build.lib}/gwt-dev-${build.host.platform}.jar" />
42 <pathelement location="${alldeps.jar}" />
43 </classpath>
44 </gwt.javac>
45
jat@google.com0b1619e2009-09-20 19:33:31 +000046 </target>
47
48 <target name="build.alldeps.jar" description="Merges all dependency jars into a single jar">
49 <mkdir dir="${project.build}" />
50 <outofdate> <!-- saves rescanning all the source jars' contents -->
51 <sourcefiles>
52 <fileset dir="${gwt.tools.lib}">
53 <include name="apache/tapestry-util-text-4.0.2.jar" />
54 <include name="apache/ant-1.6.5.jar" />
55 <include name="eclipse/jdt-3.4.2.jar" />
56 <include name="jetty/jetty-6.1.11.jar" />
jat@google.com7bc436e2010-06-14 19:28:42 +000057 <include name="icu4j/icu4j-4_4_1.jar" />
rdayal@google.com126c9a32009-10-22 01:05:58 +000058 <include name="protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +000059 <include name="tomcat/ant-launcher-1.6.5.jar" />
60 <include name="tomcat/catalina-1.0.jar" />
61 <include name="tomcat/catalina-optional-1.0.jar" />
62 <include name="tomcat/commons-beanutils-1.6.jar" />
63 <include name="tomcat/commons-collections-3.1.jar" />
64 <include name="tomcat/commons-digester-1.5.jar" />
65 <include name="tomcat/commons-el-1.0.jar" />
66 <include name="tomcat/commons-logging-1.0.jar" />
67 <include name="tomcat/commons-modeler-1.1.jar" />
68 <include name="tomcat/jakarta-regexp-1.3.jar" />
69 <include name="tomcat/jasper-compiler-1.0.jar" />
70 <include name="tomcat/jasper-runtime-1.0.jar" />
71 <include name="tomcat/jsp-api-2.0.jar" />
72 <include name="tomcat/mx4j-jmx-1.1.jar" />
73 <include name="tomcat/naming-common-1.0.jar" />
74 <include name="tomcat/naming-factory-1.0.jar" />
75 <include name="tomcat/naming-java-1.0.jar" />
76 <include name="tomcat/naming-resources-1.0.jar" />
77 <include name="tomcat/servlet-api-2.5.jar" />
78 <include name="tomcat/servlet-api-2.4.jar" />
79 <include name="tomcat/servlets-common-1.0.jar" />
80 <include name="tomcat/servlets-default-1.0.jar" />
81 <include name="tomcat/servlets-invoker-1.0.jar" />
82 <include name="tomcat/tomcat-coyote-1.0.jar" />
83 <include name="tomcat/tomcat-http11-1.0.jar" />
84 <include name="tomcat/tomcat-jk2-2.1.jar" />
85 <include name="tomcat/tomcat-util-5.1.jar" />
86 <!-- htmlunit dependencies not already included: BEGIN -->
87 <include name="apache/commons/commons-codec-1.3.jar" />
88 <include name="apache/commons/commons-httpclient-3.1.jar" />
89 <include name="apache/commons/commons-io-1.4.jar" />
90 <include name="apache/commons/commons-lang-2.4.jar" />
91 <include name="cssparser/cssparser-0.9.5.jar" />
amitmanjhi@google.coma15c79b2010-03-25 17:46:07 +000092 <include name="htmlunit/htmlunit-r5607/htmlunit-r5607.jar" />
93 <include name="htmlunit/htmlunit-r5607/htmlunit-core-js-r5607.jar" />
amitmanjhi@google.com5868bc72009-10-13 20:52:35 +000094 <include name="nekohtml/nekohtml-1.9.13.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +000095 <include name="xalan/xalan-2.7.1.jar" />
96 <include name="xerces/xerces-2_9_1/serializer.jar" />
97 <include name="xerces/xerces-2_9_1/xercesImpl-NoMetaInf.jar" />
98 <include name="xerces/xerces-2_9_1/xml-apis.jar" />
99 <include name="w3c/sac/sac-1.3.jar" />
100 <!-- htmlunit dependencies not already included: END -->
101 <include name="sun/swingworker/swing-worker-1.1.jar" />
102 </fileset>
103 <fileset file="build.xml"/>
104 </sourcefiles>
105 <targetfiles>
106 <fileset file="${alldeps.jar}"/>
107 </targetfiles>
108 <sequential>
109 <gwt.jar destfile="${alldeps.jar}">
110 <zipfileset src="${gwt.tools.lib}/apache/tapestry-util-text-4.0.2.jar" />
111 <zipfileset src="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
112 <zipfileset src="${gwt.tools.lib}/eclipse/jdt-3.4.2.jar" />
113 <zipfileset src="${gwt.tools.lib}/jetty/jetty-6.1.11.jar" />
jat@google.com7bc436e2010-06-14 19:28:42 +0000114 <zipfileset src="${gwt.tools.lib}/icu4j/icu4j-4_4_1.jar" />
rdayal@google.com126c9a32009-10-22 01:05:58 +0000115 <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 +0000116 <zipfileset src="${gwt.tools.lib}/tomcat/ant-launcher-1.6.5.jar" />
117 <zipfileset src="${gwt.tools.lib}/tomcat/catalina-1.0.jar" />
118 <zipfileset src="${gwt.tools.lib}/tomcat/catalina-optional-1.0.jar" />
119 <zipfileset src="${gwt.tools.lib}/tomcat/commons-beanutils-1.6.jar" />
120 <zipfileset src="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
121 <zipfileset src="${gwt.tools.lib}/tomcat/commons-digester-1.5.jar" />
122 <zipfileset src="${gwt.tools.lib}/tomcat/commons-el-1.0.jar" />
123 <zipfileset src="${gwt.tools.lib}/tomcat/commons-logging-1.0.jar" />
124 <zipfileset src="${gwt.tools.lib}/tomcat/commons-modeler-1.1.jar" />
125 <zipfileset src="${gwt.tools.lib}/tomcat/jakarta-regexp-1.3.jar" />
126 <zipfileset src="${gwt.tools.lib}/tomcat/jasper-compiler-1.0.jar" />
127 <zipfileset src="${gwt.tools.lib}/tomcat/jasper-runtime-1.0.jar" />
128 <zipfileset src="${gwt.tools.lib}/tomcat/jsp-api-2.0.jar" />
129 <zipfileset src="${gwt.tools.lib}/tomcat/mx4j-jmx-1.1.jar" />
130 <zipfileset src="${gwt.tools.lib}/tomcat/naming-common-1.0.jar" />
131 <zipfileset src="${gwt.tools.lib}/tomcat/naming-factory-1.0.jar" />
132 <zipfileset src="${gwt.tools.lib}/tomcat/naming-java-1.0.jar" />
133 <zipfileset src="${gwt.tools.lib}/tomcat/naming-resources-1.0.jar" />
134 <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
135 <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
136 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-common-1.0.jar" />
137 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-default-1.0.jar" />
138 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-invoker-1.0.jar" />
139 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-coyote-1.0.jar" />
140 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-http11-1.0.jar" />
141 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-jk2-2.1.jar" />
142 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-util-5.1.jar" />
143 <!-- htmlunit dependencies not already included: BEGIN -->
144 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-codec-1.3.jar" />
145 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-httpclient-3.1.jar" />
146 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-io-1.4.jar" />
147 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-lang-2.4.jar" />
148 <zipfileset src="${gwt.tools.lib}/cssparser/cssparser-0.9.5.jar" />
amitmanjhi@google.coma15c79b2010-03-25 17:46:07 +0000149 <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-r5607/htmlunit-r5607.jar" />
150 <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-r5607/htmlunit-core-js-r5607.jar" />
amitmanjhi@google.com5868bc72009-10-13 20:52:35 +0000151 <zipfileset src="${gwt.tools.lib}/nekohtml/nekohtml-1.9.13.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000152 <zipfileset src="${gwt.tools.lib}/xalan/xalan-2.7.1.jar" />
153 <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/serializer.jar" />
154 <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/xercesImpl-NoMetaInf.jar" />
155 <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/xml-apis.jar" />
156 <zipfileset src="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
157 <!-- htmlunit dependencies not already included: END -->
158 <zipfileset src="${gwt.tools.lib}/sun/swingworker/swing-worker-1.1.jar" />
159 </gwt.jar>
160 </sequential>
161 </outofdate>
162 </target>
163
164 <property name="filter.pattern" value="com/google/gwt/dev/About.properties" />
165
166 <target name="-filter.props" description="Creates filtered About.properties with version info"
167 unless="filter.uptodate">
168 <gwt.revfilter todir="${javac.out}">
169 <fileset dir="core/src" includes="${filter.pattern}" />
170 </gwt.revfilter>
171 <touch file="${filter.sentinel}" />
172 </target>
173
jlabanca@google.comc5c17c62009-10-26 16:31:34 +0000174 <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 +0000175 <mkdir dir="${javac.out}" />
176 <gwt.javac srcdir="core/super" excludes="com/google/gwt/dev/jjs/intrinsic/"/>
177 <gwt.javac srcdir="core/src">
178 <include name="com/google/gwt/core/ext/**"/>
179 <include name="com/google/gwt/core/linker/**"/>
180 <include name="com/google/gwt/dev/About.java"/>
181 <include name="com/google/gwt/dev/asm/**"/>
182 <include name="com/google/gwt/dev/cfg/**"/>
183 <include name="com/google/gwt/dev/javac/**"/>
184 <include name="com/google/gwt/dev/jdt/**"/>
185 <include name="com/google/gwt/dev/jjs/**"/>
186 <include name="com/google/gwt/dev/js/**"/>
187 <include name="com/google/gwt/dev/resource/**"/>
188 <include name="com/google/gwt/dev/util/**"/>
scottb@google.comf7480d62009-10-16 17:59:37 +0000189 <include name="com/google/gwt/soyc/**"/>
jat@google.com0b1619e2009-09-20 19:33:31 +0000190 <include name="com/google/gwt/util/tools/**"/>
191 <classpath>
192 <pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
193 <pathelement location="${gwt.tools.lib}/eclipse/jdt-3.4.2.jar" />
194 <pathelement location="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
195 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
196 </classpath>
197 </gwt.javac>
198
199 </target>
200
201 <target name="compile" depends="compiler.standalone, build.alldeps.jar" description="Compiles this project">
202 <gwt.javac srcdir="" excludes="${filter.pattern}">
203 <src path="core/src" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000204 <classpath>
205 <pathelement location="${alldeps.jar}" />
206 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
207 </classpath>
208 </gwt.javac>
209 <copy todir="${javac.out}">
210 <fileset dir="core/src" includes="**/*.properties" excludes="${filter.pattern}"/>
211 </copy>
212
213 <!-- Files with hardcoded version information must be filtered -->
214 <gwt.getsvninfo />
215 <condition property="filter.uptodate">
216 <and>
217 <available file="${filter.sentinel}" />
218 <uptodate>
219 <srcfiles dir="core/src" includes="${filter.pattern}" />
220 <globmapper from="*" to="${javac.out}/*" />
221 </uptodate>
222 </and>
223 </condition>
224 <antcall target="-filter.props" />
225 </target>
226
rdayal@google.com11974b22009-10-30 18:02:07 +0000227 <target name="generate.remotemessageproto.java">
228 <!-- Generate the java code -->
229 <exec executable="protoc" failonerror="true">
230 <arg value="--java_out=core/src"/>
231 <arg value="./core/src/com/google/gwt/dev/shell/remoteui/remotemessage.proto"/>
232 </exec>
233
234 <!-- Rebase the java code to match the rebased protobuf library -->
235 <replace file="./core/src/com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java">
236 <replacefilter token="com.google.protobuf" value="com.google.gwt.dev.protobuf"/>
237 </replace>
238 </target>
239
jat@google.com0b1619e2009-09-20 19:33:31 +0000240 <target name="checkstyle" description="Static analysis of source">
241 <gwt.checkstyle>
242 <fileset dir="core/src">
mmendez@google.comdcf4f492009-10-21 05:03:27 +0000243 <filename name="com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java" negate="yes" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000244 <filename name="com/google/gwt/dev/asm/**/*.java" negate="yes" />
245 <filename name="com/google/gwt/dev/js/rhino/**/*.java" negate="yes" />
246 <filename name="org/eclipse/**/*.java" negate="yes" />
247 <filename name="org/apache/**/*.java" negate="yes" />
248 </fileset>
jat@google.com0b1619e2009-09-20 19:33:31 +0000249 </gwt.checkstyle>
250
251 <gwt.checkstyle>
252 <fileset dir="core/super/com/google/gwt/dev/jjs/intrinsic" />
253 </gwt.checkstyle>
254
255 </target>
256
257 <target name="test" depends="build, compile.tests" description="Run unit tests for this project.">
258 <fileset id="tests.dev.core" dir="${javac.junit.out}" includes="${gwt.junit.testcase.dev.core.includes}" excludes="${gwt.junit.testcase.dev.core.excludes}" />
jlabanca@google.com2707b142009-11-04 17:47:36 +0000259 <gwt.junit test.name="dev" test.out="${junit.out}"
260 test.cases="tests.dev.core" >
jat@google.com0b1619e2009-09-20 19:33:31 +0000261 <extraclasspaths>
262 <pathelement location="${alldeps.jar}" />
fabbott@google.comc0e9c9f2009-09-28 15:46:02 +0000263 <!-- TODO: the following six items are needed because dev (alone) does
264 not adhere to the .../{src,super,test} convention, having a split
jat@google.comb92ef9a2009-10-17 05:24:33 +0000265 between core and (historically) oophm and the OS platforms. When
fabbott@google.comc0e9c9f2009-09-28 15:46:02 +0000266 that unifies, these should go away. -->
267 <pathelement location="${gwt.root}/${project.tail}/core/src" />
268 <pathelement location="${gwt.root}/${project.tail}/core/super" />
269 <pathelement location="${gwt.root}/${project.tail}/core/test" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000270 <!-- Pull in gwt-dev and gwt-user sources for .gwt.xml files -->
271 <pathelement location="${gwt.root}/user/src/" />
272 <pathelement location="${gwt.root}/user/super/" />
jlabanca@google.comc5c17c62009-10-26 16:31:34 +0000273 <!-- CompilerTest compiles the hello sample. -->
274 <pathelement location="${gwt.root}/samples/hello/src/" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000275 </extraclasspaths>
276 </gwt.junit>
277 </target>
278
279 <property.ensure name="gwt.tools.soyc" location="${gwt.root}/tools/soyc-vis" />
280 <target name="build" depends="compile" description="Build and package this project">
281 <mkdir dir="${gwt.build.lib}" />
282 <outofdate>
283 <sourcefiles>
jat@google.com0b1619e2009-09-20 19:33:31 +0000284 <fileset dir="core/src">
285 <exclude name="**/package.html"/>
286 <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin -->
287 </fileset>
288 <fileset dir="core/super" excludes="**/package.html" />
289 <fileset dir="${javac.out}" />
290 <fileset dir="${project.build}/bin" />
291 <fileset file="${project.build}/alldeps.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000292 <fileset file="${gwt.tools.soyc}/classLevel.css"/>
293 <fileset file="${gwt.tools.soyc}/roundedCorners.css"/>
294 </sourcefiles>
295 <targetfiles>
296 <fileset file="${project.lib}"/>
297 </targetfiles>
298 <sequential>
299 <gwt.jar>
jat@google.com0b1619e2009-09-20 19:33:31 +0000300 <fileset dir="core/src">
301 <exclude name="**/package.html"/>
302 <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin -->
303 </fileset>
304 <fileset dir="core/super" excludes="**/package.html" />
305 <fileset dir="${javac.out}" />
306 <zipfileset src="${alldeps.jar}" />
307
jat@google.com0b1619e2009-09-20 19:33:31 +0000308 <zipfileset file="${gwt.tools.soyc}/classLevel.css" prefix="com/google/gwt/soyc/resources/"/>
309 <zipfileset file="${gwt.tools.soyc}/roundedCorners.css" prefix="com/google/gwt/soyc/resources/"/>
310
311 <manifest>
312 <attribute name="Main-Class" value="com.google.gwt.dev.GWTMain" />
313 </manifest>
314 </gwt.jar>
315 </sequential>
316 </outofdate>
317 </target>
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +0000318</project>