| Index: build/config/android/rules.gni
|
| diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
|
| index b51f41945741914cfc5932fe93bb5e601fc26180..df0f4bf0423e60325d5de8efa6736b3791d699e1 100644
|
| --- a/build/config/android/rules.gni
|
| +++ b/build/config/android/rules.gni
|
| @@ -1162,6 +1162,11 @@ template("android_apk") {
|
| [ _final_apk_path ],
|
| "$root_build_dir/test.lib.java/{{source_name_part}}.jar")
|
| _dist_jar_path = _dist_jar_path_list[0]
|
| + _final_apk_path_no_ext_list =
|
| + process_file_template([ _final_apk_path ],
|
| + "{{source_dir}}/{{source_name_part}}")
|
| + _final_apk_path_no_ext = _final_apk_path_no_ext_list[0]
|
| + assert(_final_apk_path_no_ext != "") # Mark as used.
|
|
|
| _native_libs = []
|
|
|
| @@ -1287,10 +1292,10 @@ template("android_apk") {
|
| native_libs = _native_libs
|
| }
|
|
|
| - final_deps = []
|
| + _final_deps = []
|
| + _incremental_final_deps = []
|
|
|
| process_resources_target = "${_template_name}__process_resources"
|
| - final_deps += [ ":$process_resources_target" ]
|
| process_resources(process_resources_target) {
|
| forward_variables_from(invoker, [ "include_all_resources" ])
|
| srcjar_path = "${target_gen_dir}/${target_name}.srcjar"
|
| @@ -1349,7 +1354,6 @@ template("android_apk") {
|
| }
|
|
|
| java_target = "${_template_name}__java"
|
| - final_deps += [ ":$java_target" ]
|
| java_library_impl(java_target) {
|
| forward_variables_from(invoker, [ "run_findbugs" ])
|
| supports_android = true
|
| @@ -1376,7 +1380,8 @@ template("android_apk") {
|
|
|
| if (_dist_jar_path != "") {
|
| create_dist_target = "${_template_name}__create_dist_jar"
|
| - final_deps += [ ":$create_dist_target" ]
|
| + _final_deps += [ ":$create_dist_target" ]
|
| + _incremental_final_deps += [ ":$create_dist_target" ]
|
|
|
| # TODO(cjhopman): This is only ever needed to calculate the list of tests to
|
| # run. See build/android/pylib/instrumentation/test_jar.py. We should be
|
| @@ -1408,7 +1413,6 @@ template("android_apk") {
|
| }
|
| }
|
|
|
| - final_deps += [ ":$final_dex_target_name" ]
|
| dex("$final_dex_target_name") {
|
| deps = [
|
| ":$build_config_target",
|
| @@ -1483,7 +1487,8 @@ template("android_apk") {
|
| }
|
| }
|
|
|
| - final_deps += [ ":${_template_name}__create" ]
|
| + _final_deps += [ ":${_template_name}__create" ]
|
| + _incremental_final_deps += [ ":${_template_name}__create_incremental" ]
|
| create_apk("${_template_name}__create") {
|
| forward_variables_from(invoker, [ "language_splits" ])
|
| apk_path = _final_apk_path
|
| @@ -1545,12 +1550,12 @@ template("android_apk") {
|
| }
|
|
|
| _apk_rule = "${_template_name}__split_apk_abi_${android_app_abi}"
|
| - final_deps += [ ":$_apk_rule" ]
|
| + _final_deps += [ ":$_apk_rule" ]
|
| +
|
| + # Don't add this to _incremental_final_deps since for incremental installs
|
| + # we skip abi splits altogether.
|
| create_apk(_apk_rule) {
|
| - _split_paths = process_file_template(
|
| - [ _final_apk_path ],
|
| - "{{source_dir}}/{{source_name_part}}-abi-${android_app_abi}.apk")
|
| - apk_path = _split_paths[0]
|
| + apk_path = "${_final_apk_path_no_ext}-abi-${android_app_abi}.apk"
|
| base_path = "$gen_dir/$_apk_rule"
|
|
|
| manifest_outputs = get_target_outputs(":${_manifest_rule}")
|
| @@ -1574,7 +1579,13 @@ template("android_apk") {
|
|
|
| group(target_name) {
|
| forward_variables_from(invoker, [ "data_deps" ])
|
| - deps = final_deps
|
| + deps = _final_deps
|
| + }
|
| + group("${target_name}_incremental") {
|
| + deps = _incremental_final_deps
|
| + if (defined(invoker.data_deps)) {
|
| + data_deps = invoker.data_deps
|
| + }
|
| }
|
| }
|
|
|
|
|