blob: 326af2d626f9ee21ab773d370e9e1ea7e7af1583 [file] [log] [blame]
Brian Slesinsky6e071292014-04-08 15:02:41 -07001# Copyright 2014 Google Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may not
4# use this file except in compliance with the License. You may obtain a copy of
5# the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations under
13# the License.
14
15# Description:
16# The standard GWT libraries.
17
18# Google owns the copyright
19licenses(["unencumbered"])
20
21package(
Roberto Lublinermana7a8c9f2014-04-21 09:12:39 -070022 default_visibility = [
23 "//third_party/java/gwt:__subpackages__",
24 "//third_party/java_src/gwt:__subpackages__",
25 ],
Brian Slesinsky6e071292014-04-08 15:02:41 -070026)
27
28subinclude("//third_party/java_src/gwt:build-macros")
29
30# The classes in gwt-user.jar that GWT applications can depend on.
31# We want the final output of this NOT to depend on gwt-dev,
32# though it is built with that dependency, because user code can and should
33# depend on this without also touching the compiler and shell internals.
34AugmentedJar(
35 name = "gwt-user-classes-src",
Brian Slesinsky3114e452014-04-23 10:56:53 -070036 srcs = [],
37 added_jars = [
38 ":libgwt-user-bare.jar",
39 "//third_party/java_src/gwt/svn/tools:user_jars",
40 ],
Brian Slesinsky6e071292014-04-08 15:02:41 -070041 added_roots = [
42 "src",
43 "super",
44 ],
Brian Slesinsky6e071292014-04-08 15:02:41 -070045 constraints = [],
46 dojarjar = 1,
47 exclude_glob = [
48 "**/package.html",
49 "**/package-info.java",
Roberto Lublinermana7a8c9f2014-04-21 09:12:39 -070050 "src/com/google/gwt/junit/**",
51 "super/com/google/gwt/junit/**",
Brian Slesinsky6e071292014-04-08 15:02:41 -070052 ],
53 java_library_name = "gwt-user-classes",
54 output_name = "gwt-user-classes-src.jar",
55 wrap_javalibrary = 0,
56)
57
Brian Slesinsky3114e452014-04-23 10:56:53 -070058# The gwt-user classes for GWT internal use only.
59# They must be jarjar-ed and dependencies stripped before exposing to google3.
60java_library(
61 name = "gwt-user-bare",
62 srcs = glob(
63 ["src/**/*.java"],
64 exclude = [
65 "src/com/google/gwt/junit/**/*.java", # see gwt-testing
66 "**/super/**",
67 "**/RunStyleSelenium.java",
68 ],
69 ),
70 deps = [
71 "//third_party/java_src/gwt/svn/tools:dev_deps",
72 "//third_party/java_src/gwt/svn/tools:servlet_api_3",
73 "//third_party/java_src/gwt/svn/tools:user_deps",
74 "//third_party/java_src/gwt/svn/trunk/dev:compiler.standalone.super",
75 "//third_party/java_src/gwt/svn/trunk/dev:gwt-dev-bare",
76 ],
77)
78
Brian Slesinsky6e071292014-04-08 15:02:41 -070079# This target is used by a java_plugin over in java/gwt/BUILD. It's
80# a pretty simple annotation processor, so in order to keep it from being a
81# build bottleneck, it's simply built from scratch.
82java_library(
83 name = "requestfactory-apt",
84 srcs = glob([
85 "src/com/google/web/bindery/requestfactory/apt/*.java",
86 ]) + [
87 "src/com/google/web/bindery/requestfactory/shared/JsonRpcProxy.java",
88 "src/com/google/web/bindery/requestfactory/shared/JsonRpcService.java",
89 "src/com/google/web/bindery/requestfactory/shared/Locator.java",
90 "src/com/google/web/bindery/requestfactory/shared/Service.java",
91 "src/com/google/web/bindery/requestfactory/shared/ServiceLocator.java",
92 "src/com/google/web/bindery/requestfactory/shared/ServiceName.java",
93 "src/com/google/web/bindery/requestfactory/shared/SkipInterfaceValidation.java",
94 "src/com/google/web/bindery/requestfactory/shared/ProxyFor.java",
95 "src/com/google/web/bindery/requestfactory/shared/ProxyForName.java",
96 "src/com/google/web/bindery/requestfactory/vm/impl/ClassComparator.java",
97 "src/com/google/web/bindery/requestfactory/vm/impl/Deobfuscator.java",
98 "src/com/google/web/bindery/requestfactory/vm/impl/OperationData.java",
99 "src/com/google/web/bindery/requestfactory/vm/impl/OperationKey.java",
100 "src/com/google/gwt/core/shared/GwtIncompatible.java",
101 "src/com/google/gwt/user/server/Base64Utils.java",
102 ],
103 deps = [
104 "//third_party/java_src/gwt/svn/trunk/dev:requestfactory-apt-deps",
105 ],
106)
107
108# Packages just AutoBeans source into a jar with correct java root.
109AugmentedJar(
110 name = "autobean-classes-src",
111 srcs = glob(["src/com/google/web/bindery/autobean/**/*.java"]),
112 added_root_globs = {"src": ["src/com/google/web/bindery/autobean/**/*.java"]},
113 # We only need the Java classes so don't wait for the rest of :gwt-dev.
114 build_deps = [
115 "//third_party/java_src/gwt:gwt-user-full",
116 "//third_party/java_src/gwt/svn/tools:dev_deps",
117 "//third_party/java_src/gwt/svn/trunk/dev:compiler.standalone.super",
Brian Slesinsky3114e452014-04-23 10:56:53 -0700118 "//third_party/java_src/gwt/svn/trunk/dev:gwt-dev-bare",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700119 ],
120 constraints = [],
121 dojarjar = 1,
122 exclude_glob = [
123 "**/package.html",
124 "**/package-info.java",
125 ],
126 java_library_name = "autobean-classes",
127 output_name = "autobean-classes-src.jar",
128 wrap_javalibrary = 0,
129)
130
131# Repackages the AutoBeans.gwt.xml file with correct java root by placing it in
132# "java/".
133genrule(
134 name = "autobean-gwt-xml",
135 srcs = [":src/com/google/web/bindery/autobean/AutoBean.gwt.xml"],
136 outs = ["java/com/google/web/bindery/autobean/AutoBean.gwt.xml"],
137 cmd = ("cp $(location :src/com/google/web/bindery/autobean/AutoBean.gwt.xml) " +
138 "$(location java/com/google/web/bindery/autobean/AutoBean.gwt.xml)"),
139)
140
141java_library(
142 name = "autobean",
143 srcs = [":autobean-classes-src.jar"],
144 constraints = [
145 "gwt",
146 "public",
147 ],
148 gwtxml = "java/com/google/web/bindery/autobean/AutoBean.gwt.xml",
149 deps = [
150 "//third_party/java_src/gwt:gwt-dev",
151 "//third_party/java_src/gwt:gwt-user-full",
152 ],
153)
154
John Stalcup5c3e97e2014-04-21 19:16:25 -0700155# Packages just IncrementalBuilder test resource into a jar with correct java root.
156AugmentedJar(
157 name = "incremental-build-system-test-res",
158 srcs = [],
159 added_root_globs = {
160 "test": [
John Stalcup7d432a62014-06-11 15:46:53 -0700161 "test/com/google/gwt/dev/testdata/incrementalbuildsystem/**/*",
John Stalcup5c3e97e2014-04-21 19:16:25 -0700162 ],
163 },
164 # We only need the Java classes so don't wait for the rest of :gwt-dev.
165 build_deps = [
166 "//third_party/java_src/gwt:gwt-user-full",
167 "//third_party/java_src/gwt/svn/tools:dev_deps",
168 "//third_party/java_src/gwt/svn/trunk/dev:compiler.standalone.super",
169 "//third_party/java_src/gwt/svn/trunk/dev:gwt-dev-classes",
170 ],
171 constraints = [],
172 dojarjar = 1,
173 exclude_glob = [
174 "**/package.html",
175 "**/package-info.java",
176 ],
177 output_name = "incremental-build-system-test-res.jar",
178 wrap_javalibrary = 0,
179)
180
Brian Slesinsky6e071292014-04-08 15:02:41 -0700181# See //third_party/java/gwt:regexp
182java_library(
183 name = "jvm_regexp",
184 srcs = glob(
185 ["src/com/google/gwt/regexp/shared/*.java"],
186 exclude = ["**/package-info.java"],
187 ),
188 constraints = ["android"],
189)
190
191# See //third_party/java/gwt:hibernate-validation-support
192java_library(
193 name = "hibernate-validation-support",
194 srcs = glob(
195 [
196 "src/org/hibernate/validator/**/*_CustomFieldSerializer.java",
197 "src/org/hibernate/validator/engine/ValidationSupport.java",
198 ],
199 exclude = ["**/package-info.java"],
200 ),
201 deps = [
202 "//third_party/java/hibernate:validator",
203 "//third_party/java/javax_validation",
204 "//third_party/java_src/gwt:gwt-servlet",
205 ],
206)
207
208# The indirection through libgwt-servlet-impl.jar is needed so that Java symbols in the outputs of
209# this package are distributed in one form (through the class jars, as AugmentedJar does)
210# This prevents them appearing them on classpath as both sources and classes, which confuses javac
211# For example see b/3033925
212java_library(
213 name = "gwt-servlet-internal",
214 srcs = [":libgwt-servlet-impl.jar"],
215)
216
217java_library(
218 name = "gwt-servlet-impl",
219 srcs = glob(
220 [
221 "src/com/google/gwt/**/server/**/*.java",
222 "src/com/google/gwt/**/shared/**/*.java",
223 "src/com/google/web/bindery/**/server/**/*.java",
224 "src/com/google/web/bindery/**/shared/**/*.java",
225 "src/com/google/web/bindery/**/vm/**/*.java",
226 "src/com/google/web/bindery/event/shared/**/*.java",
227 "src/javax/validation/**/*_CustomFieldSerializer.java",
228 # Despite the "client" designation, these packages are
229 # also reached by server RPC code:
230 "src/com/google/gwt/canvas/dom/client/*.java",
231 "src/com/google/gwt/debug/client/DebugInfo.java",
232 "src/com/google/gwt/media/dom/client/*.java",
233 "src/com/google/gwt/user/client/rpc/core/**/*CustomFieldSerializer*.java",
234 "src/com/google/gwt/user/client/rpc/core/java/util/*.java",
235 "src/com/google/gwt/user/client/rpc/SerializedTypeViolationException.java",
236 "src/com/google/gwt/user/client/rpc/IncompatibleRemoteServiceException.java",
237 "src/com/google/gwt/user/client/rpc/IsSerializable.java",
238 "src/com/google/gwt/user/client/rpc/GwtTransient.java",
239 "src/com/google/gwt/user/client/rpc/RemoteService.java",
240 "src/com/google/gwt/user/client/rpc/AsyncCallback.java",
241 "src/com/google/gwt/user/client/rpc/RemoteServiceRelativePath.java",
242 "src/com/google/gwt/user/client/rpc/RpcToken.java",
243 "src/com/google/gwt/user/client/rpc/RpcTokenException.java",
244 "src/com/google/gwt/user/client/rpc/RpcTokenExceptionHandler.java",
245 "src/com/google/gwt/user/client/rpc/impl/AbstractSerialization*.java",
246 "src/com/google/gwt/user/client/rpc/RpcRequestBuilder.java",
247 "src/com/google/gwt/user/client/rpc/ServiceDefTarget.java",
248 "src/com/google/gwt/user/client/rpc/InvocationException.java",
249 "src/com/google/gwt/user/client/rpc/CustomFieldSerializer.java",
250 "src/com/google/gwt/user/client/rpc/XsrfProtectedService.java",
251 "src/com/google/gwt/user/client/rpc/XsrfToken.java",
252 "src/com/google/gwt/user/client/rpc/XsrfTokenService.java",
253 "src/com/google/gwt/http/client/RequestBuilder.java",
254 "src/com/google/gwt/http/client/Request.java",
255 "src/com/google/gwt/http/client/Header.java",
256 "src/com/google/gwt/http/client/Response.java",
257 "src/com/google/gwt/http/client/ResponseImpl.java",
258 "src/com/google/gwt/http/client/RequestException.java",
259 "src/com/google/gwt/http/client/RequestPermissionException.java",
260 "src/com/google/gwt/http/client/RequestTimeoutException.java",
261 "src/com/google/gwt/http/client/RequestCallback.java",
262 "src/com/google/gwt/http/client/StringValidator.java",
263 "src/com/google/gwt/http/client/URL.java",
264 "src/com/google/gwt/http/client/UrlBuilder.java",
265 "src/com/google/gwt/json/client/JSONArray.java",
266 "src/com/google/gwt/json/client/JSONBoolean.java",
267 "src/com/google/gwt/json/client/JSONException.java",
268 "src/com/google/gwt/json/client/JSONNull.java",
269 "src/com/google/gwt/json/client/JSONNumber.java",
270 "src/com/google/gwt/json/client/JSONObject.java",
271 "src/com/google/gwt/json/client/JSONString.java",
272 "src/com/google/gwt/json/client/JSONValue.java",
273 "src/com/google/gwt/core/client/impl/SerializableThrowable.java",
274 "src/com/google/gwt/core/client/JsonUtils.java",
275 "src/com/google/gwt/core/client/impl/WeakMapping.java",
276 "src/com/google/gwt/xhr/client/ReadyStateChangeHandler.java",
277 "src/com/google/gwt/xhr/client/XMLHttpRequest.java",
278 "src/com/google/gwt/user/client/Timer.java",
279 "src/com/google/gwt/user/client/rpc/SerializationException.java",
280 "src/com/google/gwt/user/client/rpc/SerializationStreamReader.java",
281 "src/com/google/gwt/user/client/rpc/SerializationStreamWriter.java",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700282 "src/com/google/gwt/user/client/rpc/impl/ClientSerializationStreamWriter.java",
283 "src/com/google/gwt/user/client/rpc/impl/Serializer.java",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700284 # ...which need:
285 "src/com/google/gwt/core/client/GWT.java",
286 "src/com/google/gwt/core/client/JavaScriptException.java",
287 "src/com/google/gwt/core/client/JavaScriptObject.java",
288 "src/com/google/gwt/core/client/JsArray.java",
289 "src/com/google/gwt/core/client/JsDate.java",
290 "src/com/google/gwt/core/client/Duration.java",
291 "src/com/google/gwt/core/client/Scheduler.java",
292 "src/com/google/gwt/user/client/Window.java",
293 "src/com/google/gwt/user/client/Window*.java",
294 "src/com/google/gwt/user/client/BaseListenerWrapper.java",
295 "src/com/google/gwt/user/client/Element.java",
296 "src/com/google/gwt/user/client/Event.java",
297 "src/com/google/gwt/user/client/EventListener.java",
298 "src/com/google/gwt/user/client/EventPreview.java",
299 "src/com/google/gwt/user/client/NativePreviewEvent.java",
300 "src/com/google/gwt/user/client/History.java",
301 "src/com/google/gwt/user/client/impl/HistoryImpl.java",
302 "src/com/google/gwt/user/client/impl/DomImpl.java",
303 "src/com/google/gwt/user/client/HistoryListener.java",
304 "src/com/google/gwt/user/client/Cookies.java",
305 "src/com/google/gwt/user/client/ui/AcceptsOneWidget.java",
306 "src/com/google/gwt/user/client/ui/Widget.java",
307 "src/com/google/gwt/user/client/ui/IsWidget.java",
308 "src/com/google/gwt/user/client/ui/HasOneWidget.java",
309 "src/com/google/gwt/user/client/ui/HasVisibility.java",
310 "src/com/google/gwt/user/client/ui/HasWidgets.java",
311 "src/com/google/gwt/user/client/ui/HasText.java",
312 "src/com/google/gwt/user/client/ui/AbsolutePanel.java",
313 "src/com/google/gwt/user/client/ui/ComplexPanel.java",
314 "src/com/google/gwt/user/client/ui/IndexedPanel.java",
315 "src/com/google/gwt/user/client/ui/InsertPanel.java",
316 "src/com/google/gwt/user/client/ui/Panel.java",
317 "src/com/google/gwt/user/client/ui/AttachDetachException.java",
318 "src/com/google/gwt/user/client/ui/UIObject.java",
319 "src/com/google/gwt/user/client/ui/PotentialElement.java",
320 "src/com/google/gwt/user/client/ui/RootPanel.java",
321 "src/com/google/gwt/user/client/ui/WidgetCollection.java",
322 "src/com/google/gwt/event/dom/client/HasNativeEvent.java",
323 "src/com/google/gwt/event/dom/client/PrivateMap.java",
324 "src/com/google/gwt/event/dom/client/DomEvent.java",
325 "src/com/google/gwt/event/dom/client/KeyEvent.java",
326 "src/com/google/gwt/event/dom/client/KeyCodeEvent.java",
327 "src/com/google/gwt/event/dom/client/KeyCodes.java",
328 "src/com/google/gwt/event/dom/client/KeyUpEvent.java",
329 "src/com/google/gwt/event/dom/client/HasKeyUpHandlers.java",
330 "src/com/google/gwt/event/dom/client/KeyUpHandler.java",
331 "src/com/google/gwt/user/client/DOM.java",
332 "src/com/google/gwt/user/client/impl/DOMImpl.java",
333 "src/com/google/gwt/user/client/impl/WindowImpl.java",
334 "src/com/google/gwt/dom/client/*.java",
335 "src/com/google/gwt/core/client/impl/Impl.java",
336 "src/com/google/gwt/core/client/impl/Disposable.java",
337 "src/com/google/gwt/core/client/impl/UnloadSupport.java",
338 "src/com/google/gwt/core/client/impl/StackTraceCreator.java",
339 "src/com/google/gwt/core/client/impl/SchedulerImpl.java",
340 "src/com/google/gwt/core/client/impl/AsyncFragmentLoader.java",
341 "src/com/google/gwt/core/client/impl/OnSuccessExecutor.java",
342 "src/com/google/gwt/core/client/impl/SynchronousOnSuccessExecutor.java",
343 "src/com/google/gwt/core/client/JsArrayInteger.java",
344 "src/com/google/gwt/core/client/JsArrayString.java",
345 "src/com/google/gwt/core/client/RunAsyncCallback.java",
346 "src/com/google/gwt/i18n/client/constants/*.java",
347 "src/com/google/gwt/i18n/client/impl/cldr/*.java",
348 "src/com/google/gwt/i18n/client/impl/plurals/*.java",
349 "src/com/google/gwt/i18n/client/impl/*.java",
350 "src/com/google/gwt/i18n/client/*.java",
351 "src/com/google/gwt/i18n/rebind/keygen/*.java",
352 # And it's also sensible to want for serialization:
353 "src/com/google/gwt/user/client/ui/SuggestOracle.java",
354 ],
355 exclude = [
356 "**/junit/**",
357 "**/super/**",
358 "**/package-info.java",
359 "src/com/google/web/bindery/requestfactory/server/RequestFactoryJarExtractor.java",
360 ],
361 ),
362 javacopts = [
Brian Slesinsky6e071292014-04-08 15:02:41 -0700363 "-source 5",
364 "-target 5",
365 ],
366 deps = [
367 "//third_party/java/json",
368 "//third_party/java/servlet/servlet_api",
369 "//third_party/java_src/gwt/svn/tools:servlet_deps",
370 "//third_party/java_src/gwt/svn/trunk/dev:compiler.standalone.super",
371 "//third_party/java_src/gwt/svn/trunk/dev:servlet-deps",
372 ],
373)
374
375# The minimum requirements for GWT-RPC serializable object definition.
376# Includes support for data transfer objects (with default or custom field serialization)
377# but not server interfaces, services, client code, etc.
378#
379# CAUTION: most of google ends up depending on this, via common/base:base-gwt
380# and common/collect:collect-gwt. You really don't want it to be big!
381java_library(
382 name = "gwt-dto-serializers",
383 srcs = [
384 "src/com/google/gwt/user/client/rpc/CustomFieldSerializer.java",
385 "src/com/google/gwt/user/client/rpc/GwtTransient.java",
386 "src/com/google/gwt/user/client/rpc/IsSerializable.java",
387 "src/com/google/gwt/user/client/rpc/SerializationException.java",
388 "src/com/google/gwt/user/client/rpc/SerializationStreamReader.java",
389 "src/com/google/gwt/user/client/rpc/SerializationStreamWriter.java",
390 "src/com/google/gwt/user/client/rpc/core/java/util/Collections.java",
391 ] + glob([
392 "src/com/google/gwt/user/client/rpc/core/java/util/*_CustomFieldSerializer*.java",
393 ]),
394 constraints = [
395 "gwt",
396 "public",
397 ],
398 gwtxml = "Gwt-dto-serializers.gwt.xml",
399 javacopts = [
Brian Slesinsky6e071292014-04-08 15:02:41 -0700400 "-source 5",
401 "-target 5",
402 ],
403)
404
Ray Cromwellccbd26c2014-05-13 13:37:32 -0700405# GWT JsInterop annotations in a separate library used by hybrid app projects
406java_library(
407 name = "gwt-jsinterop-annotations",
408 srcs = [
409 "src/com/google/gwt/core/client/js/JsNamespace.java",
410 "src/com/google/gwt/core/client/js/JsType.java",
411 "src/com/google/gwt/core/client/js/JsExport.java",
412 "src/com/google/gwt/core/client/js/JsNoExport.java",
413 "src/com/google/gwt/core/client/js/JsProperty.java",
414 "src/com/google/gwt/core/client/js/impl/PrototypeOfJsType.java",
415 ],
416 constraints = [
417 "gwt",
418 "public",
419 "android",
420 ],
421 gwtxml = "Gwt-jsinterop-annotations.gwt.xml",
422 javacopts = [
423 "-source 5",
424 "-target 5",
425 ],
426)
427
428
429# (This is a genrule so that it won't be mirrored to svn and git.)
430genrule(
431 name = "jsinterop-annotations-gwtxml",
432 outs = ["Gwt-jsinterop-annotations.gwt.xml"],
433 cmd = "$(ECHO) '<module><source path=\"client\" /></module>' > $(@)",
434)
435
Roberto Lublinermana7a8c9f2014-04-21 09:12:39 -0700436# Creates gwt-testing.jar, which contains GWTTestCase and its infrastructure.
437# (The jar depends on gwt-user.jar but the dependency isn't declared.
438# Instead we assume it will be added by a wrapper rule.)
439AugmentedJar(
440 name = "gwt-testing",
Brian Slesinsky3114e452014-04-23 10:56:53 -0700441 srcs = [],
442 added_jars = [
443 ":libgwt-testing-bare.jar",
444 ],
Roberto Lublinermana7a8c9f2014-04-21 09:12:39 -0700445 added_root_globs = {
446 "src": ["src/com/google/gwt/junit/**"],
447 "super": ["super/com/google/gwt/junit/**"],
448 },
Roberto Lublinermana7a8c9f2014-04-21 09:12:39 -0700449 dojarjar = 1,
450 exclude_glob = [
451 "**/package.html",
452 "**/package-info.java",
453 "**/RunStyleSelenium.java",
454 ],
455)
456
Brian Slesinsky3114e452014-04-23 10:56:53 -0700457# The gwt-testing classes for GWT internal use only.
458# They must be jarjar-ed and dependencies stripped before exposing to google3.
459java_library(
460 name = "gwt-testing-bare",
461 testonly = 1,
462 srcs = glob(
463 ["src/com/google/gwt/junit/**/*.java"],
464 exclude = [
465 "**/super/**",
466 "**/RunStyleSelenium.java",
467 ],
468 ),
469 deps = [
470 ":gwt-user-bare",
471 "//third_party/java/junit",
472 "//third_party/java_src/gwt/svn/tools:dev_deps",
473 "//third_party/java_src/gwt/svn/tools:servlet_api_3",
474 "//third_party/java_src/gwt/svn/trunk/dev:compiler.standalone.super",
475 "//third_party/java_src/gwt/svn/trunk/dev:gwt-dev-bare",
476 ],
477)
478
Ray Cromwellccbd26c2014-05-13 13:37:32 -0700479# A minimal library for annotations that might be used by client code.
480java_library(
481 name = "gwt-user-interop-annotations",
482 srcs = [
483 "src/com/google/gwt/core/shared/GwtIncompatible.java",
484 ],
485 constraints = [
Goktug Gokdoganf21820a2014-07-14 15:25:35 -0700486 "android",
Ray Cromwellccbd26c2014-05-13 13:37:32 -0700487 "gwt",
488 "public",
489 ],
490 deps = [
491 "//third_party/java/jsr305_annotations",
492 ],
493)
494
Brian Slesinsky6e071292014-04-08 15:02:41 -0700495# === TESTS ===
496
497AugmentedJar(
498 name = "user-test-code",
Brian Slesinsky3114e452014-04-23 10:56:53 -0700499 testonly = 1,
Brian Slesinsky6e071292014-04-08 15:02:41 -0700500 srcs = glob(
501 [
502 "test/**/*.java",
503 "test_i18n_bar/**/*.java",
504 ],
505 exclude = [
506 "test/**/super/**",
Roberto Lublinermana6f79c52014-05-07 16:51:58 -0700507 "test/**/tck/**",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700508 "**/RunStyleSeleniumTest.java",
509 ],
510 ),
511 added_roots = [
512 "test",
513 "test-super",
514 "test_i18n_bar",
515 ],
Brian Slesinsky3114e452014-04-23 10:56:53 -0700516 # For build_deps we should use pre-jarjar dependencies (-bare)
Brian Slesinsky6e071292014-04-08 15:02:41 -0700517 build_deps = [
Brian Slesinsky3114e452014-04-23 10:56:53 -0700518 ":gwt-user-bare",
519 ":gwt-testing-bare",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700520 "//third_party/java_src/gwt/svn/tools:dev_deps",
Brian Slesinsky3114e452014-04-23 10:56:53 -0700521 "//third_party/java_src/gwt/svn/tools:user_deps",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700522 "//third_party/java_src/gwt/svn/tools:servlet_api_3",
Brian Slesinsky3114e452014-04-23 10:56:53 -0700523 "//third_party/java_src/gwt/svn/trunk/dev:gwt-dev-bare",
524 "//third_party/java_src/gwt/svn/trunk/dev:dev-test-code-bare",
525 # for @GwtScriptOnly
526 "//third_party/java_src/gwt/svn/trunk/dev:compiler.standalone.super",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700527 ],
528 constraints = [
529 "gwt",
530 "public",
531 ],
532 dojarjar = 1,
533 export_deps = [
534 "//third_party/java_src/gwt:gwt-dev", # for the post-jarjar names
535 "//third_party/java_src/gwt:gwt",
Brian Slesinsky3114e452014-04-23 10:56:53 -0700536 "//third_party/java_src/gwt/svn/trunk/dev:dev-test-code",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700537 ],
Brian Slesinsky6e071292014-04-08 15:02:41 -0700538 deps = [
539 "//third_party/java/jsr305_annotations",
540 "//third_party/java/junit",
541 "//third_party/java_src/gwt/svn/tools:testtool_deps",
Roberto Lublinermana6f79c52014-05-07 16:51:58 -0700542 ],
543)
544
545# This target should only be dependent from platform tests that care about tck.
546# This target is separated from user-test-code as its deps pulls in an old version of Guice which
547# breaks the Webdriver for Android.
548AugmentedJar(
549 name = "tck-test-code",
550 testonly = 1,
551 srcs = glob(["test/**/tck/**/*.java"]),
552 # For build_deps we should use pre-jarjar dependencies (-bare)
553 build_deps = [
554 ":gwt-user-bare",
555 ":gwt-testing-bare",
556 "//third_party/java_src/gwt/svn/tools:user_deps",
557 "//third_party/java_src/gwt/svn/trunk/dev:gwt-dev-bare",
558 "//third_party/java_src/gwt/svn/trunk/dev:dev-test-code-bare",
559 ],
560 constraints = [
561 "gwt",
562 "public",
563 ],
564 dojarjar = 1,
565 deps = [
566 "//third_party/java/junit",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700567 "//third_party/java_src/gwt/svn/tools:validator_deps",
568 "//third_party/java_src/gwt/svn/tools:validator_tck_deps",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700569 ],
570)
571
572filegroup(
573 name = "browser_suite_files",
Roberto Lublinermana7a8c9f2014-04-21 09:12:39 -0700574 srcs = glob(
575 ["test/**/*Suite.java"],
Brian Slesinsky6e071292014-04-08 15:02:41 -0700576 exclude = [
577 "test/**/*JreSuite.java",
578 ],
Roberto Lublinermana7a8c9f2014-04-21 09:12:39 -0700579 ),
Brian Slesinsky6e071292014-04-08 15:02:41 -0700580)
581
582filegroup(
583 name = "nobrowser_suite_files",
584 srcs = glob(["test/**/*JreSuite.java"]),
585)
586
587filegroup(
588 name = "emma_suite_files",
589 srcs = glob(
590 ["test/**/*Suite.java"],
591 exclude = [
Roberto Lublinermana6f79c52014-05-07 16:51:58 -0700592 "test/**/*CompilerSuite.java",
Brian Slesinsky6e071292014-04-08 15:02:41 -0700593 "test/**/*JreSuite.java",
594 ],
595 ),
596)
597
598# === ant and checkstyle ===
599
600# Files to be excluded from ant tests.
601ANT_EXCLUDES = [
602 "**/.git/**",
603 "**/.svn/**",
604 # in case eclipse output is mixed into source
605 "**/war/WEB-INF/classes/**",
606 "**/webapp/WEB-INF/classes/**",
607 "**/bin/**",
608 # emacs backup and autosave files
609 "**/*~",
610 "**/#*",
611 "test_i18n_dollar/**",
612]
613
614filegroup(
615 name = "checkstyle_files",
616 srcs = glob(
617 ["*/com/google/gwt/**/*.java"],
618 exclude = ANT_EXCLUDES,
619 exclude_directories = 1,
620 ),
621)
622
623filegroup(
624 name = "checkapi_files",
625 srcs = glob(
626 [
627 "**/*.java",
628 "**/gwt*userApi.conf",
629 ],
630 exclude = ANT_EXCLUDES,
631 exclude_directories = 1,
632 ),
633)
634
635filegroup(
636 name = "ant_files",
637 srcs = glob(
638 [
639 "build.xml",
640 "javadoc/**/*",
641 "src/**/*",
642 "style/**/*",
643 "super/**/*",
644 "test/**/*",
645 "test_i18n_bar/**/*",
646 "test-super/**/*",
647 ],
648 exclude = ANT_EXCLUDES,
649 ),
650)