Index: chrome/android/BUILD.gn |
diff --git a/chrome/android/BUILD.gn b/chrome/android/BUILD.gn |
index 8379c7a4bdfa9ddeee7f8c729182286d30bf24ca..4d4e974d01829014340ca1c5c7aa9ff28593faf0 100644 |
--- a/chrome/android/BUILD.gn |
+++ b/chrome/android/BUILD.gn |
@@ -19,12 +19,18 @@ if (enable_configuration_policy) { |
configuration_policy = 0 |
} |
-jinja_variables = [ |
+chrome_public_jinja_variables = [ |
"channel=$android_channel", |
"manifest_package=$manifest_package", |
"configuration_policy=$configuration_policy", |
] |
+chrome_sync_shell_jinja_variables = [ |
+ "channel=$android_channel", |
+ "manifest_package=org.chromium.chrome.sync_shell", |
+ "configuration_policy=$configuration_policy", |
+] |
+ |
chrome_android_paks_gypi = |
exec_script("//build/gypi_to_gn.py", |
[ |
@@ -51,9 +57,9 @@ android_resources("chrome_java_resources") { |
deps = [ |
":chrome_locale_paks", |
":chrome_strings_grd", |
+ "//chrome/app:java_strings_grd", |
"//components/policy:app_restrictions_resources", |
"//content/public/android:content_java_resources", |
- "//chrome/app:java_strings_grd", |
"//third_party/android_data_chart:android_data_chart_java_resources", |
"//third_party/android_media:android_media_resources", |
] |
@@ -120,7 +126,6 @@ android_library("chrome_java") { |
":chrome_java_resources", |
":document_tab_model_info_proto_java", |
"//base:base_java", |
- "//net/android:net_java", |
"//components/bookmarks/common/android:bookmarks_java", |
"//components/dom_distiller/android:dom_distiller_content_java", |
"//components/dom_distiller/android:dom_distiller_core_java", |
@@ -136,8 +141,12 @@ android_library("chrome_java") { |
"//components/web_contents_delegate_android:web_contents_delegate_android_java", |
"//content/public/android:content_java", |
"//media/base/android:media_java", |
+ "//media/base/android:media_java", |
+ "//media/midi:midi_java", |
+ "//net/android:net_java", |
"//printing:printing_java", |
"//sync/android:sync_java", |
+ "//third_party/WebKit/public:blink_headers_java", |
"//third_party/android_data_chart:android_data_chart_java", |
"//third_party/android_media:android_media_java", |
"//third_party/android_protobuf:protobuf_nano_javalib", |
@@ -152,9 +161,6 @@ android_library("chrome_java") { |
"//third_party/cacheinvalidation:cacheinvalidation_proto_java", |
"//third_party/gif_player:gif_player_java", |
"//third_party/jsr-305:jsr_305_javalib", |
- "//third_party/WebKit/public:blink_headers_java", |
- "//media/base/android:media_java", |
- "//media/midi:midi_java", |
"//ui/android:ui_java", |
"//ui/android:ui_java_resources", |
google_play_services_library, |
@@ -257,9 +263,9 @@ junit_binary("chrome_junit_tests") { |
"//components/invalidation/impl:java", |
"//sync:sync_java_test_support", |
"//sync/android:sync_java", |
+ "//third_party/android_tools:android_support_v7_mediarouter_java", |
"//third_party/cacheinvalidation:cacheinvalidation_javalib", |
"//third_party/junit:hamcrest", |
- "//third_party/android_tools:android_support_v7_mediarouter_java", |
google_play_services_library, |
] |
} |
@@ -322,12 +328,12 @@ android_library("chrome_shared_test_java") { |
"//net/android:net_java", |
"//net/android:net_java_test_support", |
"//printing:printing_java", |
+ "//sync:sync_java_test_support", |
"//sync/android:sync_java", |
"//sync/android:sync_javatests", |
- "//sync:sync_java_test_support", |
+ "//third_party/android_tools:android_support_v13_java", |
"//third_party/android_tools:android_support_v7_appcompat_java", |
"//third_party/android_tools:android_support_v7_recyclerview_java", |
- "//third_party/android_tools:android_support_v13_java", |
"//third_party/android_tools:legacy_http_javalib", |
"//third_party/cacheinvalidation:cacheinvalidation_javalib", |
"//third_party/jsr-305:jsr_305_javalib", |
@@ -364,21 +370,42 @@ android_assets("chrome_public_apk_assets") { |
jinja_template("chrome_public_apk_manifest") { |
input = "java/AndroidManifest.xml" |
output = "$root_gen_dir/chrome_public_apk_manifest/AndroidManifest.xml" |
- variables = jinja_variables |
+ variables = chrome_public_jinja_variables |
variables += [ |
"min_sdk_version=16", |
"target_sdk_version=23", |
] |
} |
-# GYP: //chrome/android/chrome_apk.gyp:chrome_public_template_resources |
-jinja_template_resources("chrome_public_template_resources") { |
+# GYP: //chrome/android/chrome_apk.gyp:chrome_sync_shell_apk_manifest |
+jinja_template("chrome_sync_shell_apk_manifest") { |
+ input = "java/AndroidManifest.xml" |
+ output = "$root_gen_dir/chrome_sync_shell_apk_manifest/AndroidManifest.xml" |
+ variables = chrome_sync_shell_jinja_variables |
+ variables += [ |
+ "min_sdk_version=16", |
+ "target_sdk_version=23", |
+ ] |
+} |
+ |
+# GYP: //chrome/android/chrome_apk.gyp:chrome_public_apk_template_resources |
+jinja_template_resources("chrome_public_apk_template_resources") { |
resources = [ |
"java/res_template/xml/searchable.xml", |
"java/res_template/xml/syncadapter.xml", |
] |
res_dir = "java/res_template" |
- variables = jinja_variables |
+ variables = chrome_public_jinja_variables |
+} |
+ |
+# GYP: //chrome/android/chrome_apk.gyp:chrome_sync_shell_apk_template_resources |
+jinja_template_resources("chrome_sync_shell_apk_template_resources") { |
+ resources = [ |
+ "java/res_template/xml/searchable.xml", |
+ "java/res_template/xml/syncadapter.xml", |
+ ] |
+ res_dir = "java/res_template" |
+ variables = chrome_sync_shell_jinja_variables |
} |
# GYP: //chrome/android/chrome_apk.gyp:libchrome_public |
@@ -387,33 +414,53 @@ shared_library("chrome_public") { |
"//build/config/sanitizers:deps", |
"//chrome:chrome_android_core", |
] |
- gypi_values = exec_script( |
- "//build/gypi_to_gn.py", |
- [ |
- rebase_path("chrome_apk.gyp"), |
- "--replace=<(chrome_native_sources_dir)=../browser/android/", |
- ], |
- "scope", |
- [ "chrome_apk.gyp" ]) |
+ gypi_values = exec_script("//build/gypi_to_gn.py", |
agrieve
2015/11/20 15:09:25
Can you move this to be top-level so that the exec
|
+ [ rebase_path("chrome_apk.gyp") ], |
+ "scope", |
+ [ "chrome_apk.gyp" ]) |
sources = gypi_values.chrome_public_app_native_sources |
} |
-chrome_public_apk_tmpl("chrome_public_apk") { |
- version_name = "Developer Build" |
- version_code = "1" |
+# GYP: //chrome/android/chrome_apk.gyp:libchrome_sync_shell |
+shared_library("chrome_sync_shell") { |
+ testonly = true |
+ deps = [ |
+ "//build/config/sanitizers:deps", |
+ "//chrome:chrome_android_core", |
+ "//sync", |
+ "//sync:test_support_sync_fake_server_android", |
+ ] |
+ gypi_values = exec_script("//build/gypi_to_gn.py", |
+ [ rebase_path("chrome_apk.gyp") ], |
+ "scope", |
+ [ "chrome_apk.gyp" ]) |
+ sources = gypi_values.chrome_sync_shell_app_native_sources |
+} |
+ |
+# Contains rules common to chrome_public_apk and chrome_sync_shell_apk |
+template("chrome_public_apk_tmpl_shared") { |
+ chrome_public_apk_tmpl(target_name) { |
+ forward_variables_from(invoker, "*") |
+ |
+ version_name = "Developer Build" |
agrieve
2015/11/20 15:09:25
nit: this is already the default value for version
|
+ version_code = "1" |
+ native_lib_version_rule = "//build/util:chrome_version_json" |
+ |
+ # 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. |
+ if (chromium_linker_supported && |
+ (target_cpu == "arm64" || target_cpu == "x64")) { |
+ load_library_from_apk = chrome_public_apk_load_library_from_apk |
+ } |
+ } |
+} |
+ |
+chrome_public_apk_tmpl_shared("chrome_public_apk") { |
android_manifest = get_target_outputs(":chrome_public_apk_manifest") |
android_manifest = android_manifest[1] |
apk_name = "ChromePublic" |
native_libs = [ "libchrome_public.so" ] |
- native_lib_version_rule = "//build/util:chrome_version_json" |
- |
- # 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. |
- if (chromium_linker_supported && |
- (target_cpu == "arm64" || target_cpu == "x64")) { |
- load_library_from_apk = chrome_public_apk_load_library_from_apk |
- } |
deps = [ |
":chrome_java", |
@@ -421,20 +468,53 @@ chrome_public_apk_tmpl("chrome_public_apk") { |
":chrome_public_apk_assets", |
":chrome_public_apk_manifest", |
":chrome_public_apk_resources", |
- ":chrome_public_template_resources", |
+ ":chrome_public_apk_template_resources", |
+ "//base:base_java", |
+ google_play_services_resources, |
+ ] |
+} |
+ |
+chrome_public_apk_tmpl_shared("chrome_sync_shell_apk") { |
+ testonly = true |
+ android_manifest = get_target_outputs(":chrome_sync_shell_apk_manifest") |
+ android_manifest = android_manifest[1] |
+ apk_name = "ChromeSyncShell" |
+ native_libs = [ "libchrome_sync_shell.so" ] |
+ |
+ deps = [ |
+ ":chrome_java", |
agrieve
2015/11/20 15:09:25
nit: move some of these deps to chrome_public_apk_
|
+ ":chrome_public_apk_assets", |
+ ":chrome_public_apk_resources", |
+ ":chrome_sync_shell", |
+ ":chrome_sync_shell_apk_manifest", |
+ ":chrome_sync_shell_apk_template_resources", |
"//base:base_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:test_support_sync_proto_java", |
google_play_services_resources, |
] |
} |
chrome_public_test_apk_manifest = |
"$root_gen_dir/chrome_public_test_apk_manifest/AndroidManifest.xml" |
+chrome_sync_shell_test_apk_manifest = |
+ "$root_gen_dir/chrome_sync_shell_test_apk_manifest/AndroidManifest.xml" |
# GYP: //chrome/android/chrome_apk.gyp:chrome_public_test_apk_manifest |
jinja_template("chrome_public_test_apk_manifest") { |
input = "javatests/AndroidManifest.xml" |
output = chrome_public_test_apk_manifest |
- variables = jinja_variables |
+ variables = chrome_public_jinja_variables |
+} |
+ |
+# GYP: //chrome/android/chrome_apk.gyp:chrome_sync_shell_test_apk_manifest |
+jinja_template("chrome_sync_shell_test_apk_manifest") { |
+ input = "sync_shell/javatests/AndroidManifest.xml" |
+ output = chrome_sync_shell_test_apk_manifest |
+ variables = chrome_sync_shell_jinja_variables |
} |
# GYP: //chrome/android/chrome_apk.gyp:chrome_public_test_apk |
@@ -444,8 +524,45 @@ instrumentation_test_apk("chrome_public_test_apk") { |
android_manifest = chrome_public_test_apk_manifest |
deps = [ |
":chrome_public_test_apk_manifest", |
- "//chrome/android:chrome_shared_test_java", |
+ ":chrome_shared_test_java", |
] |
isolate_file = "../chrome_public_test_apk.isolate" |
proguard_enabled = !is_debug |
} |
+ |
+android_library("chrome_sync_shell_test_apk_java") { |
+ testonly = true |
+ DEPRECATED_java_in_dir = "sync_shell/javatests/src" |
+ |
+ deps = [ |
+ "//base:base_java", |
+ "//base:base_java_test_support", |
+ "//chrome/android:chrome_java", |
+ "//chrome/android:chrome_java_resources", |
+ "//chrome/test/android:chrome_java_test_support", |
+ "//components/bookmarks/common/android:bookmarks_java", |
+ "//components/policy/android:policy_java", |
+ "//content/public/android:content_java", |
+ "//content/public/test/android:content_java_test_support", |
+ "//sync:sync_java_test_support", |
+ "//sync:test_support_sync_proto_java", |
+ "//sync/android:sync_java", |
+ "//third_party/android_protobuf:protobuf_nano_javalib", |
+ "//third_party/android_tools:android_support_v13_java", |
+ "//third_party/android_tools:android_support_v7_appcompat_java", |
+ "//ui/android:ui_java", |
+ ] |
+} |
+ |
+# GYP: //chrome/android/chrome_apk.gyp:chrome_sync_shell_test_apk |
+instrumentation_test_apk("chrome_sync_shell_test_apk") { |
+ apk_name = "ChromeSyncShellTest" |
+ apk_under_test = ":chrome_sync_shell_apk" |
+ android_manifest = chrome_sync_shell_test_apk_manifest |
+ deps = [ |
+ ":chrome_sync_shell_test_apk_java", |
+ ":chrome_sync_shell_test_apk_manifest", |
+ ] |
+ isolate_file = "../chrome_sync_shell_test_apk.isolate" |
+ proguard_enabled = !is_debug |
+} |