blob: bcd62281def5504acd0448539e67477bf1384c53 [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" />
amitmanjhi@google.coma2d73122010-06-24 21:48:00 +000041 <pathelement location="${gwt.tools}/redist/json/r2_20080312/json.jar" />
42 <pathelement location="${gwt.tools.lib}/javax/validation/validation-api-1.0.0.GA.jar" />
jlabanca@google.comc5c17c62009-10-26 16:31:34 +000043 <pathelement location="${gwt.build.lib}/gwt-dev-${build.host.platform}.jar" />
44 <pathelement location="${alldeps.jar}" />
45 </classpath>
46 </gwt.javac>
47
jat@google.com0b1619e2009-09-20 19:33:31 +000048 </target>
49
50 <target name="build.alldeps.jar" description="Merges all dependency jars into a single jar">
51 <mkdir dir="${project.build}" />
52 <outofdate> <!-- saves rescanning all the source jars' contents -->
53 <sourcefiles>
54 <fileset dir="${gwt.tools.lib}">
55 <include name="apache/tapestry-util-text-4.0.2.jar" />
56 <include name="apache/ant-1.6.5.jar" />
57 <include name="eclipse/jdt-3.4.2.jar" />
jat@google.comedfd9922010-06-24 15:11:49 +000058 <include name="jetty/jetty-7.0.2.v20100331/jetty-7.0.2.v20100331.jar" />
jat@google.com7bc436e2010-06-14 19:28:42 +000059 <include name="icu4j/icu4j-4_4_1.jar" />
rdayal@google.com126c9a32009-10-22 01:05:58 +000060 <include name="protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +000061 <include name="tomcat/ant-launcher-1.6.5.jar" />
62 <include name="tomcat/catalina-1.0.jar" />
63 <include name="tomcat/catalina-optional-1.0.jar" />
64 <include name="tomcat/commons-beanutils-1.6.jar" />
65 <include name="tomcat/commons-collections-3.1.jar" />
66 <include name="tomcat/commons-digester-1.5.jar" />
67 <include name="tomcat/commons-el-1.0.jar" />
68 <include name="tomcat/commons-logging-1.0.jar" />
69 <include name="tomcat/commons-modeler-1.1.jar" />
70 <include name="tomcat/jakarta-regexp-1.3.jar" />
71 <include name="tomcat/jasper-compiler-1.0.jar" />
72 <include name="tomcat/jasper-runtime-1.0.jar" />
73 <include name="tomcat/jsp-api-2.0.jar" />
74 <include name="tomcat/mx4j-jmx-1.1.jar" />
75 <include name="tomcat/naming-common-1.0.jar" />
76 <include name="tomcat/naming-factory-1.0.jar" />
77 <include name="tomcat/naming-java-1.0.jar" />
78 <include name="tomcat/naming-resources-1.0.jar" />
79 <include name="tomcat/servlet-api-2.5.jar" />
80 <include name="tomcat/servlet-api-2.4.jar" />
81 <include name="tomcat/servlets-common-1.0.jar" />
82 <include name="tomcat/servlets-default-1.0.jar" />
83 <include name="tomcat/servlets-invoker-1.0.jar" />
84 <include name="tomcat/tomcat-coyote-1.0.jar" />
85 <include name="tomcat/tomcat-http11-1.0.jar" />
86 <include name="tomcat/tomcat-jk2-2.1.jar" />
87 <include name="tomcat/tomcat-util-5.1.jar" />
88 <!-- htmlunit dependencies not already included: BEGIN -->
89 <include name="apache/commons/commons-codec-1.3.jar" />
90 <include name="apache/commons/commons-httpclient-3.1.jar" />
91 <include name="apache/commons/commons-io-1.4.jar" />
92 <include name="apache/commons/commons-lang-2.4.jar" />
93 <include name="cssparser/cssparser-0.9.5.jar" />
amitmanjhi@google.coma15c79b2010-03-25 17:46:07 +000094 <include name="htmlunit/htmlunit-r5607/htmlunit-r5607.jar" />
95 <include name="htmlunit/htmlunit-r5607/htmlunit-core-js-r5607.jar" />
amitmanjhi@google.com5868bc72009-10-13 20:52:35 +000096 <include name="nekohtml/nekohtml-1.9.13.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +000097 <include name="xalan/xalan-2.7.1.jar" />
98 <include name="xerces/xerces-2_9_1/serializer.jar" />
99 <include name="xerces/xerces-2_9_1/xercesImpl-NoMetaInf.jar" />
100 <include name="xerces/xerces-2_9_1/xml-apis.jar" />
101 <include name="w3c/sac/sac-1.3.jar" />
102 <!-- htmlunit dependencies not already included: END -->
103 <include name="sun/swingworker/swing-worker-1.1.jar" />
104 </fileset>
105 <fileset file="build.xml"/>
106 </sourcefiles>
107 <targetfiles>
108 <fileset file="${alldeps.jar}"/>
109 </targetfiles>
110 <sequential>
111 <gwt.jar destfile="${alldeps.jar}">
112 <zipfileset src="${gwt.tools.lib}/apache/tapestry-util-text-4.0.2.jar" />
113 <zipfileset src="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
114 <zipfileset src="${gwt.tools.lib}/eclipse/jdt-3.4.2.jar" />
jat@google.comedfd9922010-06-24 15:11:49 +0000115 <zipfileset src="${gwt.tools.lib}/jetty/jetty-7.0.2.v20100331/jetty-7.0.2.v20100331.jar"
116 />
jat@google.com7bc436e2010-06-14 19:28:42 +0000117 <zipfileset src="${gwt.tools.lib}/icu4j/icu4j-4_4_1.jar" />
rdayal@google.com126c9a32009-10-22 01:05:58 +0000118 <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 +0000119 <zipfileset src="${gwt.tools.lib}/tomcat/ant-launcher-1.6.5.jar" />
120 <zipfileset src="${gwt.tools.lib}/tomcat/catalina-1.0.jar" />
121 <zipfileset src="${gwt.tools.lib}/tomcat/catalina-optional-1.0.jar" />
122 <zipfileset src="${gwt.tools.lib}/tomcat/commons-beanutils-1.6.jar" />
123 <zipfileset src="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
124 <zipfileset src="${gwt.tools.lib}/tomcat/commons-digester-1.5.jar" />
125 <zipfileset src="${gwt.tools.lib}/tomcat/commons-el-1.0.jar" />
126 <zipfileset src="${gwt.tools.lib}/tomcat/commons-logging-1.0.jar" />
127 <zipfileset src="${gwt.tools.lib}/tomcat/commons-modeler-1.1.jar" />
128 <zipfileset src="${gwt.tools.lib}/tomcat/jakarta-regexp-1.3.jar" />
129 <zipfileset src="${gwt.tools.lib}/tomcat/jasper-compiler-1.0.jar" />
130 <zipfileset src="${gwt.tools.lib}/tomcat/jasper-runtime-1.0.jar" />
131 <zipfileset src="${gwt.tools.lib}/tomcat/jsp-api-2.0.jar" />
132 <zipfileset src="${gwt.tools.lib}/tomcat/mx4j-jmx-1.1.jar" />
133 <zipfileset src="${gwt.tools.lib}/tomcat/naming-common-1.0.jar" />
134 <zipfileset src="${gwt.tools.lib}/tomcat/naming-factory-1.0.jar" />
135 <zipfileset src="${gwt.tools.lib}/tomcat/naming-java-1.0.jar" />
136 <zipfileset src="${gwt.tools.lib}/tomcat/naming-resources-1.0.jar" />
137 <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.5.jar" />
138 <zipfileset src="${gwt.tools.lib}/tomcat/servlet-api-2.4.jar" />
139 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-common-1.0.jar" />
140 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-default-1.0.jar" />
141 <zipfileset src="${gwt.tools.lib}/tomcat/servlets-invoker-1.0.jar" />
142 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-coyote-1.0.jar" />
143 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-http11-1.0.jar" />
144 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-jk2-2.1.jar" />
145 <zipfileset src="${gwt.tools.lib}/tomcat/tomcat-util-5.1.jar" />
146 <!-- htmlunit dependencies not already included: BEGIN -->
147 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-codec-1.3.jar" />
148 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-httpclient-3.1.jar" />
149 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-io-1.4.jar" />
150 <zipfileset src="${gwt.tools.lib}/apache/commons/commons-lang-2.4.jar" />
151 <zipfileset src="${gwt.tools.lib}/cssparser/cssparser-0.9.5.jar" />
amitmanjhi@google.coma15c79b2010-03-25 17:46:07 +0000152 <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-r5607/htmlunit-r5607.jar" />
153 <zipfileset src="${gwt.tools.lib}/htmlunit/htmlunit-r5607/htmlunit-core-js-r5607.jar" />
amitmanjhi@google.com5868bc72009-10-13 20:52:35 +0000154 <zipfileset src="${gwt.tools.lib}/nekohtml/nekohtml-1.9.13.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000155 <zipfileset src="${gwt.tools.lib}/xalan/xalan-2.7.1.jar" />
156 <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/serializer.jar" />
157 <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/xercesImpl-NoMetaInf.jar" />
158 <zipfileset src="${gwt.tools.lib}/xerces/xerces-2_9_1/xml-apis.jar" />
159 <zipfileset src="${gwt.tools.lib}/w3c/sac/sac-1.3.jar" />
160 <!-- htmlunit dependencies not already included: END -->
161 <zipfileset src="${gwt.tools.lib}/sun/swingworker/swing-worker-1.1.jar" />
162 </gwt.jar>
163 </sequential>
164 </outofdate>
165 </target>
166
167 <property name="filter.pattern" value="com/google/gwt/dev/About.properties" />
168
169 <target name="-filter.props" description="Creates filtered About.properties with version info"
170 unless="filter.uptodate">
171 <gwt.revfilter todir="${javac.out}">
172 <fileset dir="core/src" includes="${filter.pattern}" />
173 </gwt.revfilter>
174 <touch file="${filter.sentinel}" />
175 </target>
176
jlabanca@google.comc5c17c62009-10-26 16:31:34 +0000177 <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 +0000178 <mkdir dir="${javac.out}" />
179 <gwt.javac srcdir="core/super" excludes="com/google/gwt/dev/jjs/intrinsic/"/>
180 <gwt.javac srcdir="core/src">
181 <include name="com/google/gwt/core/ext/**"/>
182 <include name="com/google/gwt/core/linker/**"/>
183 <include name="com/google/gwt/dev/About.java"/>
184 <include name="com/google/gwt/dev/asm/**"/>
185 <include name="com/google/gwt/dev/cfg/**"/>
186 <include name="com/google/gwt/dev/javac/**"/>
187 <include name="com/google/gwt/dev/jdt/**"/>
188 <include name="com/google/gwt/dev/jjs/**"/>
189 <include name="com/google/gwt/dev/js/**"/>
190 <include name="com/google/gwt/dev/resource/**"/>
191 <include name="com/google/gwt/dev/util/**"/>
scottb@google.comf7480d62009-10-16 17:59:37 +0000192 <include name="com/google/gwt/soyc/**"/>
jat@google.com0b1619e2009-09-20 19:33:31 +0000193 <include name="com/google/gwt/util/tools/**"/>
194 <classpath>
195 <pathelement location="${gwt.tools.lib}/apache/ant-1.6.5.jar" />
196 <pathelement location="${gwt.tools.lib}/eclipse/jdt-3.4.2.jar" />
197 <pathelement location="${gwt.tools.lib}/tomcat/commons-collections-3.1.jar" />
198 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
199 </classpath>
200 </gwt.javac>
201
202 </target>
203
204 <target name="compile" depends="compiler.standalone, build.alldeps.jar" description="Compiles this project">
205 <gwt.javac srcdir="" excludes="${filter.pattern}">
206 <src path="core/src" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000207 <classpath>
208 <pathelement location="${alldeps.jar}" />
209 <pathelement location="${gwt.tools.lib}/junit/junit-3.8.1.jar" />
210 </classpath>
211 </gwt.javac>
212 <copy todir="${javac.out}">
213 <fileset dir="core/src" includes="**/*.properties" excludes="${filter.pattern}"/>
214 </copy>
215
216 <!-- Files with hardcoded version information must be filtered -->
217 <gwt.getsvninfo />
218 <condition property="filter.uptodate">
219 <and>
220 <available file="${filter.sentinel}" />
221 <uptodate>
222 <srcfiles dir="core/src" includes="${filter.pattern}" />
223 <globmapper from="*" to="${javac.out}/*" />
224 </uptodate>
225 </and>
226 </condition>
227 <antcall target="-filter.props" />
228 </target>
229
rdayal@google.com11974b22009-10-30 18:02:07 +0000230 <target name="generate.remotemessageproto.java">
231 <!-- Generate the java code -->
232 <exec executable="protoc" failonerror="true">
233 <arg value="--java_out=core/src"/>
234 <arg value="./core/src/com/google/gwt/dev/shell/remoteui/remotemessage.proto"/>
235 </exec>
236
237 <!-- Rebase the java code to match the rebased protobuf library -->
238 <replace file="./core/src/com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java">
239 <replacefilter token="com.google.protobuf" value="com.google.gwt.dev.protobuf"/>
240 </replace>
241 </target>
242
jat@google.com0b1619e2009-09-20 19:33:31 +0000243 <target name="checkstyle" description="Static analysis of source">
244 <gwt.checkstyle>
245 <fileset dir="core/src">
mmendez@google.comdcf4f492009-10-21 05:03:27 +0000246 <filename name="com/google/gwt/dev/shell/remoteui/RemoteMessageProto.java" negate="yes" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000247 <filename name="com/google/gwt/dev/asm/**/*.java" negate="yes" />
248 <filename name="com/google/gwt/dev/js/rhino/**/*.java" negate="yes" />
249 <filename name="org/eclipse/**/*.java" negate="yes" />
250 <filename name="org/apache/**/*.java" negate="yes" />
251 </fileset>
jat@google.com0b1619e2009-09-20 19:33:31 +0000252 </gwt.checkstyle>
253
254 <gwt.checkstyle>
255 <fileset dir="core/super/com/google/gwt/dev/jjs/intrinsic" />
256 </gwt.checkstyle>
257
258 </target>
259
260 <target name="test" depends="build, compile.tests" description="Run unit tests for this project.">
261 <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 +0000262 <gwt.junit test.name="dev" test.out="${junit.out}"
263 test.cases="tests.dev.core" >
jat@google.com0b1619e2009-09-20 19:33:31 +0000264 <extraclasspaths>
265 <pathelement location="${alldeps.jar}" />
fabbott@google.comc0e9c9f2009-09-28 15:46:02 +0000266 <!-- TODO: the following six items are needed because dev (alone) does
267 not adhere to the .../{src,super,test} convention, having a split
jat@google.comb92ef9a2009-10-17 05:24:33 +0000268 between core and (historically) oophm and the OS platforms. When
fabbott@google.comc0e9c9f2009-09-28 15:46:02 +0000269 that unifies, these should go away. -->
270 <pathelement location="${gwt.root}/${project.tail}/core/src" />
271 <pathelement location="${gwt.root}/${project.tail}/core/super" />
272 <pathelement location="${gwt.root}/${project.tail}/core/test" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000273 <!-- Pull in gwt-dev and gwt-user sources for .gwt.xml files -->
274 <pathelement location="${gwt.root}/user/src/" />
275 <pathelement location="${gwt.root}/user/super/" />
jlabanca@google.comc5c17c62009-10-26 16:31:34 +0000276 <!-- CompilerTest compiles the hello sample. -->
277 <pathelement location="${gwt.root}/samples/hello/src/" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000278 </extraclasspaths>
279 </gwt.junit>
280 </target>
281
282 <property.ensure name="gwt.tools.soyc" location="${gwt.root}/tools/soyc-vis" />
283 <target name="build" depends="compile" description="Build and package this project">
284 <mkdir dir="${gwt.build.lib}" />
285 <outofdate>
286 <sourcefiles>
jat@google.com0b1619e2009-09-20 19:33:31 +0000287 <fileset dir="core/src">
288 <exclude name="**/package.html"/>
289 <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin -->
290 </fileset>
291 <fileset dir="core/super" excludes="**/package.html" />
292 <fileset dir="${javac.out}" />
293 <fileset dir="${project.build}/bin" />
294 <fileset file="${project.build}/alldeps.jar" />
jat@google.com0b1619e2009-09-20 19:33:31 +0000295 <fileset file="${gwt.tools.soyc}/classLevel.css"/>
296 <fileset file="${gwt.tools.soyc}/roundedCorners.css"/>
297 </sourcefiles>
298 <targetfiles>
299 <fileset file="${project.lib}"/>
300 </targetfiles>
301 <sequential>
302 <gwt.jar>
jat@google.com0b1619e2009-09-20 19:33:31 +0000303 <fileset dir="core/src">
304 <exclude name="**/package.html"/>
305 <exclude name="**/*.properties"/> <!-- copied and/or filtered into bin -->
306 </fileset>
307 <fileset dir="core/super" excludes="**/package.html" />
308 <fileset dir="${javac.out}" />
309 <zipfileset src="${alldeps.jar}" />
310
jat@google.com0b1619e2009-09-20 19:33:31 +0000311 <zipfileset file="${gwt.tools.soyc}/classLevel.css" prefix="com/google/gwt/soyc/resources/"/>
312 <zipfileset file="${gwt.tools.soyc}/roundedCorners.css" prefix="com/google/gwt/soyc/resources/"/>
313
314 <manifest>
315 <attribute name="Main-Class" value="com.google.gwt.dev.GWTMain" />
316 </manifest>
317 </gwt.jar>
318 </sequential>
319 </outofdate>
320 </target>
gwt.team.scottb14c5b9d2006-12-10 06:06:08 +0000321</project>