OLD | NEW |
| (Empty) |
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 | |
3 # found in the LICENSE file. | |
4 { | |
5 'includes': [ | |
6 '../../chrome/chrome_android_paks.gypi', # Included for the list of pak reso
urces. | |
7 '../../build/util/version.gypi' | |
8 ], | |
9 'variables': { | |
10 'chromium_code': 1, | |
11 'package_name': 'chrome_public_apk', | |
12 'manifest_package': 'org.chromium.chrome', | |
13 'sync_shell_manifest_package': 'org.chromium.chrome.sync_shell', | |
14 'chrome_public_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_public_apk_
manifest/AndroidManifest.xml', | |
15 'chrome_public_test_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_public
_test_apk_manifest/AndroidManifest.xml', | |
16 'chrome_sync_shell_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_sync_sh
ell_apk_manifest/AndroidManifest.xml', | |
17 'chrome_sync_shell_test_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_sy
nc_shell_test_apk_manifest/AndroidManifest.xml', | |
18 # This list is shared with GN. | |
19 # Defines a list of source files should be present in the Chrome app. | |
20 'chrome_app_native_sources': [ | |
21 '../app/android/chrome_main_delegate_android_initializer.cc', | |
22 '../browser/android/chrome_entry_point.cc', | |
23 ], | |
24 # This list is only used by GN but kept here to mirror | |
25 # chrome_app_native_sources. | |
26 # Defines a list of source files should be present in the Chrome app when | |
27 # distributed as monochrome. | |
28 'monochrome_app_native_sources': [ | |
29 '../app/android/chrome_main_delegate_android_initializer.cc', | |
30 '../browser/android/monochrome_entry_point.cc', | |
31 ], | |
32 | |
33 # This list is shared with GN. | |
34 'chrome_sync_shell_app_native_sources': [ | |
35 '../browser/android/chrome_entry_point.cc', | |
36 '../browser/android/chrome_sync_shell_main_delegate_initializer.cc', | |
37 '../browser/android/chrome_sync_shell_main_delegate.h', | |
38 '../browser/android/chrome_sync_shell_main_delegate.cc', | |
39 ] | |
40 }, | |
41 'targets': [ | |
42 { | |
43 # GN: //chrome/android::custom_tabs_service_aidl | |
44 'target_name': 'custom_tabs_service_aidl', | |
45 'type': 'none', | |
46 'variables': { | |
47 'aidl_interface_file': 'java/src/android/support/customtabs/common.aidl'
, | |
48 'aidl_import_include': 'java/src/android/support/customtabs', | |
49 }, | |
50 'sources': [ | |
51 'java/src/android/support/customtabs/ICustomTabsCallback.aidl', | |
52 'java/src/android/support/customtabs/ICustomTabsService.aidl', | |
53 ], | |
54 'includes': [ '../../build/java_aidl.gypi' ], | |
55 }, | |
56 { | |
57 # GN: //chrome/android:chrome_public_apk_template_resources | |
58 'target_name': 'chrome_public_apk_template_resources', | |
59 'type': 'none', | |
60 'variables': { | |
61 'jinja_inputs_base_dir': 'java/res_template', | |
62 'jinja_inputs': [ | |
63 '<(jinja_inputs_base_dir)/xml/searchable.xml', | |
64 '<(jinja_inputs_base_dir)/xml/syncadapter.xml', | |
65 ], | |
66 'jinja_outputs_zip': '<(PRODUCT_DIR)/res.java/<(_target_name).zip', | |
67 'jinja_variables': [ | |
68 'manifest_package=<(manifest_package)', | |
69 ], | |
70 }, | |
71 'all_dependent_settings': { | |
72 'variables': { | |
73 'additional_input_paths': ['<(jinja_outputs_zip)'], | |
74 'dependencies_res_zip_paths': ['<(jinja_outputs_zip)'], | |
75 }, | |
76 }, | |
77 'includes': [ '../../build/android/jinja_template.gypi' ], | |
78 }, | |
79 { | |
80 # GN: //chrome/android:chrome_sync_shell_apk_template_resources | |
81 'target_name': 'chrome_sync_shell_apk_template_resources', | |
82 'type': 'none', | |
83 'variables': { | |
84 'jinja_inputs_base_dir': 'java/res_template', | |
85 'jinja_inputs': [ | |
86 '<(jinja_inputs_base_dir)/xml/searchable.xml', | |
87 '<(jinja_inputs_base_dir)/xml/syncadapter.xml', | |
88 ], | |
89 'jinja_outputs_zip': '<(PRODUCT_DIR)/res.java/<(_target_name).zip', | |
90 'jinja_variables': [ | |
91 'manifest_package=<(sync_shell_manifest_package)', | |
92 ], | |
93 }, | |
94 'all_dependent_settings': { | |
95 'variables': { | |
96 'additional_input_paths': ['<(jinja_outputs_zip)'], | |
97 'dependencies_res_zip_paths': ['<(jinja_outputs_zip)'], | |
98 }, | |
99 }, | |
100 'includes': [ '../../build/android/jinja_template.gypi' ], | |
101 }, | |
102 { | |
103 # The base library used in both ChromePublic and ChromeSyncShell. | |
104 'target_name': 'libchrome_base', | |
105 'type': 'none', | |
106 'dependencies': [ | |
107 '../../chrome/chrome.gyp:chrome_android_core', | |
108 ], | |
109 'include_dirs': [ | |
110 '../..', | |
111 ], | |
112 'conditions': [ | |
113 # conditions for order_text_section | |
114 # Cygprofile methods need to be linked into the instrumented build. | |
115 ['order_profiling!=0', { | |
116 'conditions': [ | |
117 ['OS=="android"', { | |
118 'dependencies': [ '../../tools/cygprofile/cygprofile.gyp:cygprofil
e' ], | |
119 }], | |
120 ], | |
121 }], # order_profiling!=0 | |
122 ], | |
123 }, | |
124 { | |
125 # GN: //chrome/android:chrome_public | |
126 'target_name': 'libchrome', | |
127 'type': 'shared_library', | |
128 'sources': [ | |
129 '<@(chrome_app_native_sources)', | |
130 ], | |
131 'dependencies': [ | |
132 'libchrome_base', | |
133 ], | |
134 }, | |
135 { | |
136 # GN: //chrome/android:chrome_sync_shell | |
137 'target_name': 'libchrome_sync_shell', | |
138 'type': 'shared_library', | |
139 'sources': [ | |
140 '<@(chrome_sync_shell_app_native_sources)', | |
141 ], | |
142 'dependencies': [ | |
143 'libchrome_base', | |
144 '../../components/sync.gyp:sync', | |
145 '../../components/sync.gyp:test_support_sync_fake_server_android', | |
146 ], | |
147 }, | |
148 { | |
149 # GN: //chrome/android:chrome_public_apk_manifest | |
150 'target_name': 'chrome_public_manifest', | |
151 'type': 'none', | |
152 'variables': { | |
153 'jinja_inputs': ['java/AndroidManifest.xml'], | |
154 'jinja_output': '<(chrome_public_apk_manifest)', | |
155 'jinja_variables': [ | |
156 'channel=<(android_channel)', | |
157 'manifest_package=<(manifest_package)', | |
158 'min_sdk_version=16', | |
159 'target_sdk_version=23', | |
160 ], | |
161 }, | |
162 'includes': [ '../../build/android/jinja_template.gypi' ], | |
163 }, | |
164 { | |
165 # GN: //chrome/android:chrome_sync_shell_apk_manifest | |
166 'target_name': 'chrome_sync_shell_apk_manifest', | |
167 'type': 'none', | |
168 'variables': { | |
169 'jinja_inputs': ['java/AndroidManifest.xml'], | |
170 'jinja_output': '<(chrome_sync_shell_apk_manifest)', | |
171 'jinja_variables': [ | |
172 'channel=<(android_channel)', | |
173 'manifest_package=<(sync_shell_manifest_package)', | |
174 'min_sdk_version=16', | |
175 'target_sdk_version=22', | |
176 ], | |
177 }, | |
178 'includes': [ '../../build/android/jinja_template.gypi' ], | |
179 }, | |
180 { | |
181 # GN: //chrome/android:chrome_public_apk | |
182 'target_name': 'chrome_public_apk', | |
183 'type': 'none', | |
184 'variables': { | |
185 'android_manifest_path': '<(chrome_public_apk_manifest)', | |
186 'apk_name': 'ChromePublic', | |
187 'native_lib_target': 'libchrome', | |
188 'java_in_dir': 'java', | |
189 'resource_dir': '../../chrome/android/java/res_chromium', | |
190 'enable_multidex': 1, | |
191 'enable_multidex_configurations': ['Debug'], | |
192 'conditions': [ | |
193 # Only attempt loading the library from the APK for 64 bit devices | |
194 # until the number of 32 bit devices which don't support this | |
195 # approach falls to a minimal level - http://crbug.com/390618. | |
196 ['chrome_apk_use_chromium_linker==1 and profiling==0 and (target_arch
== "arm64" or target_arch == "x86_64")', { | |
197 'load_library_from_zip': '<(chrome_apk_load_library_from_zip)', | |
198 }], | |
199 ], | |
200 }, | |
201 'dependencies': [ | |
202 'chrome_android_paks_copy', | |
203 'chrome_public_apk_template_resources', | |
204 'libchrome', | |
205 '../chrome.gyp:chrome_java', | |
206 ], | |
207 'includes': [ 'chrome_apk.gypi' ], | |
208 }, | |
209 { | |
210 # GN: N/A | |
211 # chrome_public_apk creates a .jar as a side effect. Any java targets | |
212 # that need that .jar in their classpath should depend on this target, | |
213 'target_name': 'chrome_public_apk_java', | |
214 'type': 'none', | |
215 'dependencies': [ | |
216 'chrome_public_apk', | |
217 ], | |
218 'includes': [ '../../build/apk_fake_jar.gypi' ], | |
219 }, | |
220 { | |
221 # GN: //chrome/android:chrome_sync_shell_apk | |
222 'target_name': 'chrome_sync_shell_apk', | |
223 'type': 'none', | |
224 'variables': { | |
225 'android_manifest_path': '<(chrome_sync_shell_apk_manifest)', | |
226 'apk_name': 'ChromeSyncShell', | |
227 'native_lib_target': 'libchrome_sync_shell', | |
228 'java_in_dir': 'java', | |
229 'enable_multidex': 1, | |
230 'enable_multidex_configurations': ['Debug'], | |
231 'conditions': [ | |
232 # Only attempt loading the library from the APK for 64 bit devices | |
233 # until the number of 32 bit devices which don't support this | |
234 # approach falls to a minimal level - http://crbug.com/390618. | |
235 ['chrome_apk_use_chromium_linker==1 and profiling==0 and (target_arch
== "arm64" or target_arch == "x86_64")', { | |
236 'load_library_from_zip': '<(chrome_apk_load_library_from_zip)', | |
237 }], | |
238 ], | |
239 }, | |
240 'dependencies': [ | |
241 'chrome_android_paks_copy', | |
242 'chrome_sync_shell_apk_template_resources', | |
243 'libchrome_sync_shell', | |
244 '../chrome.gyp:chrome_java', | |
245 # This exists here because com.google.protobuf.nano is needed in tests, | |
246 # but that code is stripped out via proguard. Adding this deps adds | |
247 # usages and prevents removal of the proto code. | |
248 '../../components/sync.gyp:test_support_sync_proto_java', | |
249 ], | |
250 'includes': [ 'chrome_apk.gypi' ], | |
251 }, | |
252 { | |
253 # GN: N/A | |
254 # chrome_sync_shell_apk creates a .jar as a side effect. Any java targets | |
255 # that need that .jar in their classpath should depend on this target. | |
256 'target_name': 'chrome_sync_shell_apk_java', | |
257 'type': 'none', | |
258 'dependencies': [ | |
259 'chrome_sync_shell_apk', | |
260 ], | |
261 'includes': [ '../../build/apk_fake_jar.gypi' ], | |
262 }, | |
263 { | |
264 # GN: //chrome/android:chrome_test_java | |
265 'target_name': 'chrome_test_java', | |
266 'type': 'none', | |
267 'variables': { | |
268 'java_in_dir': 'javatests', | |
269 }, | |
270 'dependencies': [ | |
271 '../../base/base.gyp:base_java', | |
272 '../../base/base.gyp:base_java_test_support', | |
273 '../../chrome/chrome.gyp:chrome_java', | |
274 '../../chrome/chrome.gyp:chrome_java_test_support', | |
275 '../../components/components.gyp:invalidation_javatests', | |
276 '../../components/components.gyp:gcm_driver_java', | |
277 '../../components/components.gyp:offline_page_model_enums_java', | |
278 '../../components/components.gyp:precache_javatests', | |
279 '../../components/components.gyp:security_state_enums_java', | |
280 '../../components/components.gyp:web_contents_delegate_android_java', | |
281 '../../content/content_shell_and_tests.gyp:content_java_test_support', | |
282 '../../mojo/mojo_public.gyp:mojo_bindings_java', | |
283 '../../mojo/mojo_public.gyp:mojo_public_java', | |
284 '../../net/net.gyp:net_java', | |
285 '../../net/net.gyp:net_java_test_support', | |
286 '../../components/sync.gyp:sync_java_test_support', | |
287 '../../third_party/android_tools/android_tools.gyp:android_support_v7_ap
pcompat_javalib', | |
288 '../../third_party/android_tools/android_tools.gyp:google_play_services_
javalib', | |
289 '../../third_party/WebKit/public/blink.gyp:android_mojo_bindings_java', | |
290 '../../ui/android/ui_android.gyp:ui_javatests', | |
291 ], | |
292 'includes': [ '../../build/java.gypi' ], | |
293 }, | |
294 { | |
295 # GN: //chrome/android:chrome_public_test_apk_manifest | |
296 'target_name': 'chrome_public_test_apk_manifest', | |
297 'type': 'none', | |
298 'variables': { | |
299 'jinja_inputs': ['javatests/AndroidManifest.xml'], | |
300 'jinja_output': '<(chrome_public_test_apk_manifest)', | |
301 'jinja_variables': [ | |
302 'manifest_package=<(manifest_package)', | |
303 ], | |
304 }, | |
305 'includes': [ '../../build/android/jinja_template.gypi' ], | |
306 }, | |
307 { | |
308 # GN: //chrome/android:chrome_sync_shell_test_apk_manifest | |
309 'target_name': 'chrome_sync_shell_test_apk_manifest', | |
310 'type': 'none', | |
311 'variables': { | |
312 'jinja_inputs': ['sync_shell/javatests/AndroidManifest.xml'], | |
313 'jinja_output': '<(chrome_sync_shell_test_apk_manifest)', | |
314 'jinja_variables': [ | |
315 'manifest_package=<(sync_shell_manifest_package)', | |
316 ], | |
317 }, | |
318 'includes': [ '../../build/android/jinja_template.gypi' ], | |
319 }, | |
320 { | |
321 # GN: //chrome/android:chrome_public_test_apk | |
322 'target_name': 'chrome_public_test_apk', | |
323 'type': 'none', | |
324 'dependencies': [ | |
325 'chrome_test_java', | |
326 'chrome_public_apk_java', | |
327 '../../chrome/chrome.gyp:require_chrome_public_test_support_apk', | |
328 '../../net/net.gyp:require_net_test_support_apk', | |
329 '../../testing/android/on_device_instrumentation.gyp:broker_java', | |
330 '../../testing/android/on_device_instrumentation.gyp:require_driver_apk'
, | |
331 ], | |
332 'variables': { | |
333 'android_manifest_path': '<(chrome_public_test_apk_manifest)', | |
334 'package_name': 'chrome_public_test', | |
335 'java_in_dir': 'javatests', | |
336 'java_in_dir_suffix': '/src_dummy', | |
337 'apk_name': 'ChromePublicTest', | |
338 'is_test_apk': 1, | |
339 'never_lint': 1, | |
340 'test_type': 'instrumentation', | |
341 'isolate_file': '../chrome_public_test_apk.isolate', | |
342 'additional_apks': [ | |
343 '<(PRODUCT_DIR)/apks/ChromePublicTestSupport.apk', | |
344 '<(PRODUCT_DIR)/apks/ChromiumNetTestSupport.apk', | |
345 ], | |
346 }, | |
347 'includes': [ | |
348 '../../build/java_apk.gypi', | |
349 '../../build/android/test_runner.gypi', | |
350 ], | |
351 }, | |
352 { | |
353 # GN: //chrome/android:chrome_sync_shell_test_apk | |
354 'target_name': 'chrome_sync_shell_test_apk', | |
355 'type': 'none', | |
356 'dependencies': [ | |
357 'chrome_sync_shell_apk_java', | |
358 '../../base/base.gyp:base_java', | |
359 '../../base/base.gyp:base_java_test_support', | |
360 '../../chrome/chrome.gyp:chrome_java', | |
361 '../../chrome/chrome.gyp:chrome_java_test_support', | |
362 '../../components/sync.gyp:sync_java', | |
363 '../../components/sync.gyp:sync_java_test_support', | |
364 '../../components/sync.gyp:sync_javatests', | |
365 '../../components/sync.gyp:test_support_sync_proto_java', | |
366 '../../testing/android/on_device_instrumentation.gyp:broker_java', | |
367 '../../testing/android/on_device_instrumentation.gyp:require_driver_apk'
, | |
368 ], | |
369 'variables': { | |
370 'android_manifest_path': '<(chrome_sync_shell_test_apk_manifest)', | |
371 'package_name': 'chrome_sync_shell_test', | |
372 'java_in_dir': 'sync_shell/javatests', | |
373 'apk_name': 'ChromeSyncShellTest', | |
374 'is_test_apk': 1, | |
375 'test_type': 'instrumentation', | |
376 }, | |
377 'includes': [ | |
378 '../../build/java_apk.gypi', | |
379 '../../build/android/test_runner.gypi', | |
380 ], | |
381 }, | |
382 ], | |
383 'conditions': [ | |
384 ['test_isolation_mode != "noop"', | |
385 { | |
386 'targets': [ | |
387 { | |
388 'target_name': 'chrome_public_test_apk_run', | |
389 'type': 'none', | |
390 'dependencies': [ | |
391 'chrome_public_test_apk', | |
392 ], | |
393 'includes': [ | |
394 '../../build/isolate.gypi', | |
395 ], | |
396 'sources': [ | |
397 'chrome_public_test_apk.isolate', | |
398 ], | |
399 }, | |
400 { | |
401 'target_name': 'chrome_sync_shell_test_apk_run', | |
402 'type': 'none', | |
403 'dependencies': [ | |
404 'chrome_sync_shell_test_apk', | |
405 ], | |
406 'includes': [ | |
407 '../../build/isolate.gypi', | |
408 ], | |
409 'sources': [ | |
410 'chrome_sync_shell_test_apk.isolate', | |
411 ], | |
412 }, | |
413 ] | |
414 } | |
415 ], | |
416 ], | |
417 } | |
418 | |
419 # Local Variables: | |
420 # tab-width:2 | |
421 # indent-tabs-mode:nil | |
422 # End: | |
423 # vim: set expandtab tabstop=2 shiftwidth=2: | |
OLD | NEW |