Chromium Code Reviews| 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 |
| +} |