Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1408)

Unified Diff: build/config/android/rules.gni

Issue 2562063003: Add incremental_apk_by_default GN arg. (Closed)
Patch Set: Remove error formatting Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « build/config/android/internal_rules.gni ('k') | chrome/android/chrome_public_apk_tmpl.gni » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/config/android/rules.gni
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
index 91d84cc48dd514cc274735a92ddcd3ccd3bfea8f..5186640793c0ef595250c5e3f569eee1bfff408c 100644
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -1399,6 +1399,7 @@ if (enable_java_templates) {
# default will use the build arg run_findbugs.
# proguard_jar_path: The path to proguard.jar you wish to use. If undefined,
# the proguard used will be the checked in one in //third_party/proguard.
+ # never_incremental: If true, |incremental_apk_by_default| will be ignored.
#
# Example
# android_apk("foo_apk") {
@@ -1463,7 +1464,11 @@ if (enable_java_templates) {
_install_script_name = invoker.install_script_name
}
_incremental_install_script_path =
- "${root_out_dir}/bin/${_install_script_name}_incremental"
+ "${root_out_dir}/bin/${_install_script_name}"
+ if (!incremental_apk_by_default) {
+ _incremental_install_script_path =
+ "${_incremental_install_script_path}_incremental"
+ }
_version_code = android_default_version_code
if (defined(invoker.version_code)) {
@@ -1605,6 +1610,8 @@ if (enable_java_templates) {
}
_emma_never_instrument = defined(invoker.testonly) && invoker.testonly
+ _incremental_allowed =
+ !(defined(invoker.never_incremental) && invoker.never_incremental)
build_config_target = "${_template_name}__build_config"
write_build_config(build_config_target) {
@@ -1613,6 +1620,7 @@ if (enable_java_templates) {
jar_path = _jar_path
dex_path = final_dex_path
apk_path = _final_apk_path
+ incremental_allowed = _incremental_allowed
incremental_apk_path = "${_final_apk_path_no_ext}_incremental.apk"
incremental_install_script_path = _incremental_install_script_path
resources_zip = resources_zip_path
@@ -1991,6 +1999,7 @@ if (enable_java_templates) {
_extra_native_libs = []
_extra_native_libs_deps = []
+ assert(_extra_native_libs_deps == []) # Mark as used.
_extra_native_libs_even_when_incremental = []
_extra_native_libs_even_when_incremental_deps = []
assert(_extra_native_libs_even_when_incremental_deps == []) # Mark as used.
@@ -2197,42 +2206,51 @@ if (enable_java_templates) {
}
group(target_name) {
- forward_variables_from(invoker,
- [
- "data",
- "data_deps",
- ])
- public_deps = _final_deps
-
- # Make the proguard .mapping file easy to find by putting it beside the .apk.
- if (_proguard_enabled) {
+ if (_incremental_allowed && incremental_apk_by_default) {
deps = [
- ":$_copy_proguard_mapping_target",
+ ":${target_name}_incremental",
]
+ } else {
+ forward_variables_from(invoker,
+ [
+ "data",
+ "data_deps",
+ ])
+ public_deps = _final_deps
+
+ # Make the proguard .mapping file easy to find by putting it beside the .apk.
+ if (_proguard_enabled) {
+ deps = [
+ ":$_copy_proguard_mapping_target",
+ ]
+ }
}
}
- group("${target_name}_incremental") {
- forward_variables_from(invoker,
- [
- "data",
- "data_deps",
- ])
- if (!defined(data_deps)) {
- data_deps = []
- }
- # device/commands is used by the installer script to push files via .zip.
- data_deps += [ "//build/android/pylib/device/commands" ] +
- _native_libs_deps + _extra_native_libs_deps
+ if (_incremental_allowed) {
+ group("${target_name}_incremental") {
+ forward_variables_from(invoker,
+ [
+ "data",
+ "data_deps",
+ ])
+ if (!defined(data_deps)) {
+ data_deps = []
+ }
- # Since the _incremental.apk does not include use .so nor .dex from the
- # actual target, but instead loads them at runtime, we need to explicitly
- # depend on them here.
- public_deps = [
- ":${_create_incremental_script_rule_name}",
- ":${_template_name}__create_incremental",
- ":${java_target}",
- ]
+ # device/commands is used by the installer script to push files via .zip.
+ data_deps += [ "//build/android/pylib/device/commands" ] +
+ _native_libs_deps + _extra_native_libs_deps
+
+ # Since the _incremental.apk does not include use .so nor .dex from the
+ # actual target, but instead loads them at runtime, we need to explicitly
+ # depend on them here.
+ public_deps = [
+ ":${_create_incremental_script_rule_name}",
+ ":${_template_name}__create_incremental",
+ ":${java_target}",
+ ]
+ }
}
}
@@ -2282,25 +2300,33 @@ if (enable_java_templates) {
_install_script_name = "install_$target_name"
_dist_ijar_path =
"$root_build_dir/test.lib.java/" + invoker.apk_name + ".jar"
-
- test_runner_script(_test_runner_target_name) {
- forward_variables_from(invoker,
- [
- "additional_apks",
- "apk_under_test",
- "data",
- "data_deps",
- "deps",
- "ignore_all_data_deps",
- "public_deps",
- ])
- test_name = invoker.target_name
- test_type = "instrumentation"
- apk_target = ":$_apk_target_name"
- test_jar = _dist_ijar_path
+ _incremental_test_runner_target_name =
+ "${_test_runner_target_name}_incremental"
+ _incremental_test_name = "${invoker.target_name}_incremental"
+ if (incremental_apk_by_default) {
+ _incremental_test_runner_target_name = _test_runner_target_name
+ _incremental_test_name = invoker.target_name
}
- test_runner_script("${_test_runner_target_name}_incremental") {
+ if (!incremental_apk_by_default) {
+ test_runner_script(_test_runner_target_name) {
+ forward_variables_from(invoker,
+ [
+ "additional_apks",
+ "apk_under_test",
+ "data",
+ "data_deps",
+ "deps",
+ "ignore_all_data_deps",
+ "public_deps",
+ ])
+ test_name = invoker.target_name
+ test_type = "instrumentation"
+ apk_target = ":$_apk_target_name"
+ test_jar = _dist_ijar_path
+ }
+ }
+ test_runner_script(_incremental_test_runner_target_name) {
forward_variables_from(invoker,
[
"additional_apks",
@@ -2311,7 +2337,7 @@ if (enable_java_templates) {
"ignore_all_data_deps",
"public_deps",
])
- test_name = "${invoker.target_name}_incremental"
+ test_name = _incremental_test_name
test_type = "instrumentation"
apk_target = ":$_apk_target_name"
test_jar = _dist_ijar_path
@@ -2354,15 +2380,21 @@ if (enable_java_templates) {
}
group(target_name) {
- public_deps = [
- ":$_apk_target_name",
- ":$_test_runner_target_name",
+ if (incremental_apk_by_default) {
+ deps = [
+ ":${target_name}_incremental",
+ ]
+ } else {
+ public_deps = [
+ ":$_apk_target_name",
+ ":$_test_runner_target_name",
- # Required by test runner to enumerate test list.
- ":${_apk_target_name}_dist_ijar",
- ]
- if (defined(invoker.apk_under_test)) {
- public_deps += [ invoker.apk_under_test ]
+ # Required by test runner to enumerate test list.
+ ":${_apk_target_name}_dist_ijar",
+ ]
+ if (defined(invoker.apk_under_test)) {
+ public_deps += [ invoker.apk_under_test ]
+ }
}
}
@@ -2374,9 +2406,9 @@ if (enable_java_templates) {
}
group("${target_name}_incremental") {
public_deps = [
+ ":$_incremental_test_runner_target_name",
":${_apk_target_name}_dist_ijar",
":${_apk_target_name}_incremental",
- ":${_test_runner_target_name}_incremental",
]
if (defined(invoker.apk_under_test)) {
public_deps += [ "${invoker.apk_under_test}_incremental" ]
« no previous file with comments | « build/config/android/internal_rules.gni ('k') | chrome/android/chrome_public_apk_tmpl.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698