OLD | NEW |
1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import("//build/config/ui.gni") | 5 import("//build/config/ui.gni") |
6 | 6 |
7 if (is_android) { | 7 if (is_android) { |
8 import("//build/config/android/config.gni") | 8 import("//build/config/android/config.gni") |
9 import("//build/config/android/rules.gni") | 9 import("//build/config/android/rules.gni") |
10 } | 10 } |
11 | 11 |
12 source_set("session") { | 12 group("client") { |
13 sources = [ | 13 visibility = [ "//blimp" ] |
14 "session/blimp_client_session.cc", | |
15 "session/blimp_client_session.h", | |
16 ] | |
17 | 14 |
18 public_deps = [ | 15 deps = [] |
19 "//blimp/client/core", | |
20 "//blimp/client/core/geolocation", | |
21 "//blimp/client/core/switches", | |
22 "//blimp/common/proto", | |
23 "//device/geolocation", | |
24 "//ui/events", | |
25 ] | |
26 | 16 |
27 deps = [ | 17 if (is_android) { |
28 "//base", | 18 deps += [ |
29 "//blimp/client/core/compositor", | 19 "//blimp/client/app:blimp_apk", |
30 "//blimp/client/core/contents", | 20 "//blimp/client/app:blimp_apk_incremental", |
31 "//blimp/client/core/render_widget", | 21 ] |
32 "//blimp/client/core/session", | 22 } |
33 "//blimp/client/core/settings", | 23 |
34 "//blimp/common", | 24 if (is_linux && !is_chromeos && use_x11) { |
35 "//blimp/common/proto", | 25 deps += [ "//blimp/client/app:blimp_shell" ] |
36 "//blimp/net", | 26 } |
37 "//net", | |
38 "//ui/gfx/geometry", | |
39 "//url:url", | |
40 ] | |
41 } | 27 } |
42 | 28 |
43 source_set("client") { | 29 group("test_binaries") { |
44 sources = [ | 30 visibility = [ "//blimp:blimp_tests" ] |
45 "app/blimp_discardable_memory_allocator.cc", | |
46 "app/blimp_discardable_memory_allocator.h", | |
47 "app/blimp_startup.cc", | |
48 "app/blimp_startup.h", | |
49 "app/compositor/browser_compositor.cc", | |
50 "app/compositor/browser_compositor.h", | |
51 ] | |
52 | 31 |
53 public_deps = [ | |
54 ":session", | |
55 "//blimp/client/core/compositor", | |
56 "//blimp/client/core/switches", | |
57 "//blimp/client/support", | |
58 "//cc", | |
59 "//cc/surfaces", | |
60 "//components/safe_json", | |
61 "//components/url_formatter", | |
62 "//skia", | |
63 "//ui/events", | |
64 "//ui/gfx/geometry", | |
65 ] | |
66 | |
67 deps = [ | |
68 "//base", | |
69 "//blimp/client/core", | |
70 "//blimp/client/public:public_headers", | |
71 "//blimp/client/support", | |
72 "//blimp/common", | |
73 "//blimp/common/proto", | |
74 "//blimp/net", | |
75 "//cc", | |
76 "//gpu/command_buffer/client:gles2_implementation", | |
77 "//gpu/skia_bindings", | |
78 "//net", | |
79 "//third_party/libwebp", | |
80 "//ui/gfx/geometry", | |
81 "//ui/gl", | |
82 "//ui/gl/init", | |
83 "//url:url", | |
84 ] | |
85 } | |
86 | |
87 source_set("app_unit_tests") { | |
88 testonly = true | 32 testonly = true |
89 | 33 |
90 sources = [ | 34 if (is_android) { |
91 "app/blimp_discardable_memory_allocator_unittest.cc", | |
92 ] | |
93 | |
94 deps = [ | |
95 ":client", | |
96 "//base", | |
97 "//base/test:test_support", | |
98 "//testing/gmock", | |
99 "//testing/gtest", | |
100 ] | |
101 } | |
102 | |
103 source_set("test_support") { | |
104 testonly = true | |
105 | |
106 sources = [ | |
107 "session/test_client_session.cc", | |
108 "session/test_client_session.h", | |
109 ] | |
110 | |
111 deps = [ | |
112 ":session", | |
113 "//url", | |
114 ] | |
115 } | |
116 | |
117 if (is_linux && !is_chromeos && use_x11) { | |
118 executable("blimp_shell") { | |
119 sources = [ | |
120 "app/linux/blimp_client_context_delegate_linux.cc", | |
121 "app/linux/blimp_client_context_delegate_linux.h", | |
122 "app/linux/blimp_display_manager.cc", | |
123 "app/linux/blimp_display_manager.h", | |
124 "app/linux/blimp_display_manager_delegate_main.cc", | |
125 "app/linux/blimp_display_manager_delegate_main.h", | |
126 "app/linux/blimp_main.cc", | |
127 ] | |
128 | |
129 deps = [ | 35 deps = [ |
130 ":client", | 36 "//blimp/client/app:blimp_test_apk", |
131 "//base", | |
132 "//blimp/client/core/compositor", | |
133 "//blimp/client/core/session", | |
134 "//blimp/net", | |
135 "//net", | |
136 "//services/shell/public/cpp", | |
137 | |
138 # TODO(khushalsagar|scottmg): Remove this dependency from browser to | |
139 # blink. See https://crbug.com/608114. | |
140 "//third_party/WebKit/public:blink", | |
141 "//ui/events/platform/x11", | |
142 "//ui/platform_window", | |
143 "//ui/platform_window/x11", | |
144 ] | |
145 | |
146 public_configs = [ "//build/config/linux:x11" ] | |
147 public_deps = [ | |
148 "//blimp/client/core/contents", | |
149 "//ui/events/platform/x11", | |
150 ] | 37 ] |
151 } | 38 } |
152 } | 39 } |
153 | 40 |
| 41 group("unit_tests") { |
| 42 visibility = [ "//blimp:*" ] |
| 43 |
| 44 testonly = true |
| 45 |
| 46 deps = [ |
| 47 "//blimp/client/app:app_unit_tests", |
| 48 "//blimp/client/core:unit_tests", |
| 49 ] |
| 50 } |
| 51 |
154 if (is_android) { | 52 if (is_android) { |
155 declare_args() { | 53 # This is the list of targets that the tests need to depend on in order to add |
156 # Package name used in the manifest for the Blimp APK. | 54 # the java classes for their native counterparts to the test apk. |
157 blimp_package_name = "org.chromium.blimp" | 55 # We could directly include them in the test target, but in order to |
158 } | 56 # keep the visibility of the //blimp/client/core:core_java target restricted, |
| 57 # we make it visible to this group (which is testonly) and depend on this |
| 58 # group instead. |
| 59 # We could not add "//blimp:blimp_unittests" to the visibility list of |
| 60 # //blimp/client/core:core_java, since the targets that actually need to |
| 61 # depend on it are generated by the test template (see testing/test.gni). So |
| 62 # it was better to add this indirection and expose it to this testonly target, |
| 63 # which can be used in this file only. |
| 64 java_group("blimp_unittests_java_deps") { |
| 65 visibility = [ "//blimp:*" ] |
159 | 66 |
160 manifest_package = blimp_package_name | |
161 blimp_apk_manifest = "$target_gen_dir/blimp_apk_manifest/AndroidManifest.xml" | |
162 blimp_test_apk_manifest = | |
163 "$target_gen_dir/blimp_test_apk_manifest/AndroidManifest.xml" | |
164 | |
165 jinja_variables = [ "manifest_package=$manifest_package" ] | |
166 | |
167 jinja_template("blimp_apk_manifest") { | |
168 input = "app/android/AndroidManifest.xml.jinja2" | |
169 output = blimp_apk_manifest | |
170 variables = jinja_variables | |
171 } | |
172 | |
173 jinja_template("blimp_test_apk_manifest") { | |
174 input = "app/android/javatests/AndroidManifest.xml.jinja2" | |
175 output = blimp_test_apk_manifest | |
176 variables = jinja_variables | |
177 } | |
178 | |
179 generate_jni("jni_headers") { | |
180 sources = [ | |
181 "app/android/java/src/org/chromium/blimp/BlimpLibraryLoader.java", | |
182 "app/android/java/src/org/chromium/blimp/BlimpView.java", | |
183 "app/android/java/src/org/chromium/blimp/session/BlimpClientSession.java", | |
184 "app/android/java/src/org/chromium/blimp/session/TabControlFeature.java", | |
185 "app/android/java/src/org/chromium/blimp/toolbar/Toolbar.java", | |
186 ] | |
187 | |
188 jni_package = "blimp" | |
189 } | |
190 | |
191 android_resources("blimp_java_resources") { | |
192 resource_dirs = [ "app/android/java/res" ] | |
193 deps = [ | |
194 ":blimp_strings_grd", | |
195 ] | |
196 custom_package = "org.chromium.blimp" | |
197 } | |
198 | |
199 java_strings_grd("blimp_strings_grd") { | |
200 grd_file = "app/android/java/strings/android_blimp_strings.grd" | |
201 outputs = [ | |
202 "values-am/android_blimp_strings.xml", | |
203 "values-ar/android_blimp_strings.xml", | |
204 "values-bg/android_blimp_strings.xml", | |
205 "values-ca/android_blimp_strings.xml", | |
206 "values-cs/android_blimp_strings.xml", | |
207 "values-da/android_blimp_strings.xml", | |
208 "values-de/android_blimp_strings.xml", | |
209 "values-el/android_blimp_strings.xml", | |
210 "values/android_blimp_strings.xml", | |
211 "values-en-rGB/android_blimp_strings.xml", | |
212 "values-es/android_blimp_strings.xml", | |
213 "values-es-rUS/android_blimp_strings.xml", | |
214 "values-fa/android_blimp_strings.xml", | |
215 "values-fi/android_blimp_strings.xml", | |
216 "values-tl/android_blimp_strings.xml", | |
217 "values-fr/android_blimp_strings.xml", | |
218 "values-hi/android_blimp_strings.xml", | |
219 "values-hr/android_blimp_strings.xml", | |
220 "values-hu/android_blimp_strings.xml", | |
221 "values-in/android_blimp_strings.xml", | |
222 "values-it/android_blimp_strings.xml", | |
223 "values-iw/android_blimp_strings.xml", | |
224 "values-ja/android_blimp_strings.xml", | |
225 "values-ko/android_blimp_strings.xml", | |
226 "values-lt/android_blimp_strings.xml", | |
227 "values-lv/android_blimp_strings.xml", | |
228 "values-nl/android_blimp_strings.xml", | |
229 "values-nb/android_blimp_strings.xml", | |
230 "values-pl/android_blimp_strings.xml", | |
231 "values-pt-rBR/android_blimp_strings.xml", | |
232 "values-pt-rPT/android_blimp_strings.xml", | |
233 "values-ro/android_blimp_strings.xml", | |
234 "values-ru/android_blimp_strings.xml", | |
235 "values-sk/android_blimp_strings.xml", | |
236 "values-sl/android_blimp_strings.xml", | |
237 "values-sr/android_blimp_strings.xml", | |
238 "values-sv/android_blimp_strings.xml", | |
239 "values-sw/android_blimp_strings.xml", | |
240 "values-th/android_blimp_strings.xml", | |
241 "values-tr/android_blimp_strings.xml", | |
242 "values-uk/android_blimp_strings.xml", | |
243 "values-vi/android_blimp_strings.xml", | |
244 "values-zh-rCN/android_blimp_strings.xml", | |
245 "values-zh-rTW/android_blimp_strings.xml", | |
246 ] | |
247 } | |
248 | |
249 android_library("blimp_java") { | |
250 deps = [ | |
251 ":blimp_java_resources", | |
252 "//base:base_java", | |
253 "//blimp/client/core:core_java", | |
254 "//blimp/client/public:public_headers_java", | |
255 "//third_party/android_tools:android_support_annotations_java", | |
256 | |
257 # TODO(dtrainor): Remove the ui_java target once no more Android Toast | |
258 # notifications are used. | |
259 "//ui/android:ui_java", | |
260 google_play_services_library, | |
261 ] | |
262 | |
263 java_files = [ | |
264 "app/android/java/src/org/chromium/blimp/auth/RetryingTokenSource.java", | |
265 "app/android/java/src/org/chromium/blimp/auth/TokenSource.java", | |
266 "app/android/java/src/org/chromium/blimp/auth/TokenSourceImpl.java", | |
267 "app/android/java/src/org/chromium/blimp/BlimpApplication.java", | |
268 "app/android/java/src/org/chromium/blimp/BlimpLibraryLoader.java", | |
269 "app/android/java/src/org/chromium/blimp/BlimpRendererActivity.java", | |
270 "app/android/java/src/org/chromium/blimp/BlimpView.java", | |
271 "app/android/java/src/org/chromium/blimp/BrowserRestartActivity.java", | |
272 "app/android/java/src/org/chromium/blimp/preferences/PreferencesUtil.java"
, | |
273 "app/android/java/src/org/chromium/blimp/session/BlimpClientSession.java", | |
274 "app/android/java/src/org/chromium/blimp/session/EngineInfo.java", | |
275 "app/android/java/src/org/chromium/blimp/session/TabControlFeature.java", | |
276 "app/android/java/src/org/chromium/blimp/settings/AboutBlimpPreferences.ja
va", | |
277 "app/android/java/src/org/chromium/blimp/settings/Preferences.java", | |
278 "app/android/java/src/org/chromium/blimp/toolbar/Toolbar.java", | |
279 "app/android/java/src/org/chromium/blimp/toolbar/ToolbarMenu.java", | |
280 "app/android/java/src/org/chromium/blimp/toolbar/UrlBar.java", | |
281 ] | |
282 } | |
283 | |
284 android_library("blimp_test_java") { | |
285 testonly = true | 67 testonly = true |
286 | 68 |
287 deps = [ | 69 deps = [ |
288 ":blimp_java", | |
289 "//base:base_java", | |
290 "//base:base_java_test_support", | |
291 "//blimp/client/core/common:common_java", | |
292 "//blimp/client/core/contents:contents_java", | |
293 "//blimp/client/core/settings:settings_java", | |
294 "//blimp/client/public:public_headers_java", | |
295 "//components/signin/core/browser/android:java", | |
296 "//components/sync/android:sync_java", | |
297 "//third_party/android_tools:android_support_v7_appcompat_java", | |
298 "//ui/android:ui_java", | |
299 google_play_services_library, | |
300 ] | |
301 | |
302 java_files = [ | |
303 "app/android/javatests/src/org/chromium/blimp/auth/MockTokenSource.java", | |
304 "app/android/javatests/src/org/chromium/blimp/auth/RetryingTokenSourceTest
.java", | |
305 "app/android/javatests/src/org/chromium/blimp/core/MockBlimpClientContext.
java", | |
306 "app/android/javatests/src/org/chromium/blimp/core/MockBlimpClientContextD
elegate.java", | |
307 "app/android/javatests/src/org/chromium/blimp/core/settings/BlimpPreferenc
esTest.java", | |
308 "app/android/javatests/src/org/chromium/blimp/core/settings/MockPreference
s.java", | |
309 "app/android/javatests/src/org/chromium/blimp/BlimpNativeInstrumentationTe
stCase.java", | |
310 ] | |
311 } | |
312 | |
313 shared_library("blimp_client_android") { | |
314 deps = [ | |
315 ":client", | |
316 ":jni_headers", | |
317 "//base", | |
318 "//blimp/client/core", | |
319 "//blimp/client/core/compositor", | |
320 "//blimp/client/core/contents", | |
321 "//blimp/client/core/session:session", | |
322 "//blimp/client/core/settings", | |
323 "//blimp/client/public:public_headers", | |
324 "//blimp/common", | |
325 "//blimp/common/proto", | |
326 "//blimp/net", | |
327 "//components/safe_json/android:safe_json_jni_headers", | |
328 "//components/version_info", | |
329 "//net", | |
330 "//skia", | |
331 "//ui/gfx/geometry", | |
332 "//ui/gl", | |
333 "//url:url", | |
334 ] | |
335 | |
336 sources = [ | |
337 "app/android/blimp_app_jni_registrar.cc", | |
338 "app/android/blimp_app_jni_registrar.h", | |
339 "app/android/blimp_client_session_android.cc", | |
340 "app/android/blimp_client_session_android.h", | |
341 "app/android/blimp_library_loader.cc", | |
342 "app/android/blimp_library_loader.h", | |
343 "app/android/blimp_view.cc", | |
344 "app/android/blimp_view.h", | |
345 "app/android/tab_control_feature_android.cc", | |
346 "app/android/tab_control_feature_android.h", | |
347 "app/android/toolbar.cc", | |
348 "app/android/toolbar.h", | |
349 "app/user_agent.cc", | |
350 "app/user_agent.h", | |
351 ] | |
352 | |
353 libs = [ "android" ] | |
354 } | |
355 | |
356 android_apk("blimp_apk") { | |
357 deps = [ | |
358 ":blimp_java", | |
359 "//base:base_java", | 70 "//base:base_java", |
360 "//blimp/client/core:core_java", | 71 "//blimp/client/core:core_java", |
361 "//components/safe_json/android:safe_json_java", | |
362 "//net/android:net_java", | 72 "//net/android:net_java", |
363 ] | 73 "//ui/android:ui_java", |
364 apk_name = "Blimp" | |
365 android_manifest = blimp_apk_manifest | |
366 android_manifest_dep = ":blimp_apk_manifest" | |
367 shared_libraries = [ ":blimp_client_android" ] | |
368 } | |
369 | |
370 instrumentation_test_apk("blimp_test_apk") { | |
371 apk_name = "BlimpTest" | |
372 apk_under_test = ":blimp_apk" | |
373 android_manifest = blimp_test_apk_manifest | |
374 android_manifest_dep = ":blimp_test_apk_manifest" | |
375 deps = [ | |
376 ":blimp_test_java", | |
377 ] | 74 ] |
378 } | 75 } |
379 } | 76 } |
OLD | NEW |