Index: chrome/android/chrome_apk.gyp |
diff --git a/chrome/android/chrome_apk.gyp b/chrome/android/chrome_apk.gyp |
index cb910ecf3d96cbcbab71e91dbcfedf20277ee1cc..6e452b78c921d21034d216df469254a6a2479e57 100644 |
--- a/chrome/android/chrome_apk.gyp |
+++ b/chrome/android/chrome_apk.gyp |
@@ -10,8 +10,11 @@ |
'chromium_code': 1, |
'package_name': 'chrome_public_apk', |
'manifest_package': 'org.chromium.chrome', |
+ 'sync_shell_manifest_package': 'org.chromium.chrome.sync_shell', |
'chrome_public_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_public_apk_manifest/AndroidManifest.xml', |
'chrome_public_test_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_public_test_apk_manifest/AndroidManifest.xml', |
+ 'chrome_sync_shell_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_sync_shell_apk_manifest/AndroidManifest.xml', |
+ 'chrome_sync_shell_test_apk_manifest': '<(SHARED_INTERMEDIATE_DIR)/chrome_sync_shell_test_apk_manifest/AndroidManifest.xml', |
# This list is shared with GN. |
# Defines a list of source files should be present in the open-source |
# chrome-apk but not in the published static_library which is included in the |
@@ -60,23 +63,46 @@ |
'includes': [ '../../build/android/jinja_template.gypi' ], |
}, |
{ |
- # GN: //chrome/android:chrome_public |
- 'target_name': 'libchrome_public', |
- 'type': 'shared_library', |
+ # TODO(pvalenzuela): Implement this target with GN: |
+ # http://crbug.com/475612 |
+ 'target_name': 'chrome_sync_shell_template_resources', |
+ 'type': 'none', |
+ 'variables': { |
+ 'jinja_inputs_base_dir': 'java/res_template', |
+ 'jinja_inputs': [ |
+ '<(jinja_inputs_base_dir)/xml/searchable.xml', |
+ '<(jinja_inputs_base_dir)/xml/syncadapter.xml', |
+ ], |
+ 'jinja_outputs_zip': '<(PRODUCT_DIR)/res.java/<(_target_name).zip', |
+ 'jinja_variables': [ |
+ 'manifest_package=<(sync_shell_manifest_package)', |
+ ], |
+ }, |
+ 'all_dependent_settings': { |
+ 'variables': { |
+ 'additional_input_paths': ['<(jinja_outputs_zip)'], |
+ 'dependencies_res_zip_paths': ['<(jinja_outputs_zip)'], |
+ }, |
+ }, |
+ 'includes': [ '../../build/android/jinja_template.gypi' ], |
+ }, |
+ { |
+ # The base library used in both ChromePublic and ChromeSyncShell. |
+ 'target_name': 'libchrome_public_base', |
+ 'type': 'none', |
'dependencies': [ |
'../../chrome/chrome.gyp:chrome_android_core', |
], |
'include_dirs': [ |
'../..', |
], |
- 'sources': [ |
- '<@(chrome_public_app_native_sources)', |
- ], |
- 'ldflags': [ |
- # Some android targets still depend on --gc-sections to link. |
- # TODO: remove --gc-sections for Debug builds (crbug.com/159847). |
- '-Wl,--gc-sections', |
- ], |
+ 'direct_dependent_settings': { |
+ 'ldflags': [ |
+ # Some android targets still depend on --gc-sections to link. |
+ # TODO: remove --gc-sections for Debug builds (crbug.com/159847). |
+ '-Wl,--gc-sections', |
+ ], |
+ }, |
'conditions': [ |
# TODO(yfriedman): move this DEP to chrome_android_core to be shared |
# between internal/external. |
@@ -102,6 +128,34 @@ |
], |
}, |
{ |
+ # GN: //chrome/android:chrome_public |
+ 'target_name': 'libchrome_public', |
+ 'type': 'shared_library', |
+ 'sources': [ |
+ '<@(chrome_public_app_native_sources)', |
+ ], |
+ 'dependencies': [ |
+ 'libchrome_public_base', |
+ ], |
+ }, |
+ { |
+ # TODO(pvalenzuela): Implement this target with GN: |
+ # http://crbug.com/475612 |
+ 'target_name': 'libchrome_sync_shell', |
+ 'type': 'shared_library', |
+ 'sources': [ |
+ '../browser/android/chrome_entry_point.cc', |
+ '../browser/android/chrome_sync_shell_main_delegate_initializer.cc', |
+ '../browser/android/chrome_sync_shell_main_delegate.h', |
+ '../browser/android/chrome_sync_shell_main_delegate.cc', |
+ ], |
+ 'dependencies': [ |
+ 'libchrome_public_base', |
+ '../../sync/sync.gyp:sync', |
+ '../../sync/sync.gyp:test_support_sync_fake_server_android', |
+ ], |
+ }, |
+ { |
# GN: //chrome/android:chrome_public_apk_manifest |
'target_name': 'chrome_public_manifest', |
'type': 'none', |
@@ -119,6 +173,24 @@ |
'includes': [ '../../build/android/jinja_template.gypi' ], |
}, |
{ |
+ # TODO(pvalenzuela): Implement this target with GN: |
+ # http://crbug.com/475612 |
+ 'target_name': 'chrome_sync_shell_manifest', |
+ 'type': 'none', |
+ 'variables': { |
+ 'jinja_inputs': ['java/AndroidManifest.xml'], |
+ 'jinja_output': '<(chrome_sync_shell_apk_manifest)', |
+ 'jinja_variables': [ |
+ 'channel=<(android_channel)', |
+ 'configuration_policy=<(configuration_policy)', |
+ 'manifest_package=<(sync_shell_manifest_package)', |
+ 'min_sdk_version=16', |
+ 'target_sdk_version=22', |
+ ], |
+ }, |
+ 'includes': [ '../../build/android/jinja_template.gypi' ], |
+ }, |
+ { |
# GN: //chrome/android:chrome_public_apk |
'target_name': 'chrome_public_apk', |
'type': 'none', |
@@ -157,6 +229,48 @@ |
'includes': [ '../../build/apk_fake_jar.gypi' ], |
}, |
{ |
+ # TODO(pvalenzuela): Implement this target with GN: |
+ # http://crbug.com/475612 |
+ 'target_name': 'chrome_sync_shell_apk', |
+ 'type': 'none', |
+ 'variables': { |
+ 'android_manifest_path': '<(chrome_sync_shell_apk_manifest)', |
+ 'apk_name': 'ChromeSyncShell', |
+ 'native_lib_target': 'libchrome_sync_shell', |
+ 'java_in_dir': 'java', |
+ 'conditions': [ |
+ # Only attempt loading the library from the APK for 64 bit devices |
+ # until the number of 32 bit devices which don't support this |
+ # approach falls to a minimal level - http://crbug.com/390618. |
+ ['component != "shared_library" and profiling==0 and (target_arch == "arm64" or target_arch == "x86_64")', { |
+ 'load_library_from_zip_file': '<(chrome_apk_load_library_from_zip)', |
+ 'load_library_from_zip': '<(chrome_apk_load_library_from_zip)', |
+ }], |
+ ], |
+ }, |
+ 'dependencies': [ |
+ 'chrome_android_paks_copy', |
+ 'chrome_sync_shell_template_resources', |
+ '../chrome.gyp:chrome_java', |
+ # This exists here because com.google.protobuf.nano is needed in tests, |
+ # but that code is stripped out via proguard. Adding this deps adds |
+ # usages and prevents removal of the proto code. |
+ '../../sync/sync.gyp:test_support_sync_proto_java', |
+ ], |
+ 'includes': [ 'chrome_apk.gypi' ], |
+ }, |
+ { |
+ # GN: N/A |
+ # chrome_sync_shell_apk creates a .jar as a side effect. Any java targets |
+ # that need that .jar in their classpath should depend on this target. |
+ 'target_name': 'chrome_sync_shell_apk_java', |
+ 'type': 'none', |
+ 'dependencies': [ |
+ 'chrome_sync_shell_apk', |
+ ], |
+ 'includes': [ '../../build/apk_fake_jar.gypi' ], |
+ }, |
+ { |
# GN: //chrome/android:chrome_shared_test_java |
# This target is for sharing tests between both upstream and internal |
# trees until sufficient test coverage is upstream. |
@@ -178,7 +292,6 @@ |
'../../net/net.gyp:net_java', |
'../../net/net.gyp:net_java_test_support', |
'../../sync/sync.gyp:sync_java_test_support', |
- '../../sync/sync.gyp:sync_javatests', |
'../../third_party/android_tools/android_tools.gyp:android_support_v7_appcompat_javalib', |
'../../ui/android/ui_android.gyp:ui_javatests', |
], |
@@ -198,6 +311,20 @@ |
'includes': [ '../../build/android/jinja_template.gypi' ], |
}, |
{ |
+ # TODO(pvalenzuela): Implement this target with GN: |
+ # http://crbug.com/475612 |
+ 'target_name': 'chrome_sync_shell_test_apk_manifest', |
+ 'type': 'none', |
+ 'variables': { |
+ 'jinja_inputs': ['sync_shell/javatests/AndroidManifest.xml'], |
+ 'jinja_output': '<(chrome_sync_shell_test_apk_manifest)', |
+ 'jinja_variables': [ |
+ 'manifest_package=<(sync_shell_manifest_package)', |
+ ], |
+ }, |
+ 'includes': [ '../../build/android/jinja_template.gypi' ], |
+ }, |
+ { |
# GN: //chrome/android:chrome_public_test_apk |
'target_name': 'chrome_public_test_apk', |
'type': 'none', |
@@ -222,6 +349,37 @@ |
'../../build/android/test_runner.gypi', |
], |
}, |
+ { |
+ # TODO(pvalenzuela): Implement this target with GN: |
+ # http://crbug.com/475612 |
+ 'target_name': 'chrome_sync_shell_test_apk', |
+ 'type': 'none', |
+ 'dependencies': [ |
+ 'chrome_sync_shell_apk_java', |
+ '../../base/base.gyp:base_java', |
+ '../../base/base.gyp:base_java_test_support', |
+ '../../chrome/chrome.gyp:chrome_java', |
+ '../../chrome/chrome.gyp:chrome_java_test_support', |
+ '../../sync/sync.gyp:sync_java', |
+ '../../sync/sync.gyp:sync_java_test_support', |
+ '../../sync/sync.gyp:sync_javatests', |
+ '../../sync/sync.gyp:test_support_sync_proto_java', |
+ '../../testing/android/on_device_instrumentation.gyp:broker_java', |
+ '../../testing/android/on_device_instrumentation.gyp:require_driver_apk', |
+ ], |
+ 'variables': { |
+ 'android_manifest_path': '<(chrome_sync_shell_test_apk_manifest)', |
+ 'package_name': 'chrome_sync_shell_test', |
+ 'java_in_dir': 'sync_shell/javatests', |
+ 'apk_name': 'ChromeSyncShellTest', |
+ 'is_test_apk': 1, |
+ 'test_type': 'instrumentation', |
+ }, |
+ 'includes': [ |
+ '../../build/java_apk.gypi', |
+ '../../build/android/test_runner.gypi', |
+ ], |
+ }, |
], |
} |