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

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

Issue 1291793007: GN(android): Add scripts & runtime logic for installing _managed apks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@gn-managed-install
Patch Set: review comments Created 5 years, 4 months 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
Index: build/config/android/rules.gni
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni
index 75ac008344a953167f54f21cd5887ebbcc1ebe5b..d7ca51617d5e51ad29a016dea90ed508061495a0 100644
--- a/build/config/android/rules.gni
+++ b/build/config/android/rules.gni
@@ -1270,6 +1270,8 @@ template("android_apk") {
defined(invoker.create_abi_split) && invoker.create_abi_split
_create_density_splits =
defined(invoker.create_density_splits) && invoker.create_density_splits
+ _create_language_splits =
+ defined(invoker.language_splits) && invoker.language_splits != []
# Help GN understand that _create_abi_split is not unused (bug in GN).
assert(_create_abi_split || true)
@@ -1496,6 +1498,9 @@ template("android_apk") {
dex_path = final_dex_path
load_library_from_apk = _load_library_from_apk
create_density_splits = _create_density_splits
+ if (_create_language_splits) {
+ language_splits = invoker.language_splits
+ }
if (defined(invoker.extensions_to_not_compress)) {
extensions_to_not_compress = invoker.extensions_to_not_compress
} else {
@@ -1576,6 +1581,41 @@ template("android_apk") {
}
}
+ _create_incremental_script_rule_name = "${_template_name}__incremental_script"
+ _incremental_final_deps += [ ":${_create_incremental_script_rule_name}" ]
+ action(_create_incremental_script_rule_name) {
+ script = "//build/android/gn/create_incremental_install_script.py"
+ depfile = "$target_gen_dir/$target_name.d"
+
+ _generated_script_path =
+ "${root_out_dir}/bin/install_incremental_${_template_name}"
+ outputs = [
+ depfile,
+ _generated_script_path,
+ ]
+
+ _rebased_apk_path_no_ext =
+ rebase_path(_final_apk_path_no_ext, root_build_dir)
+ _rebased_generated_script_path =
+ rebase_path(_generated_script_path, root_build_dir)
+ _rebased_depfile = rebase_path(depfile, root_build_dir)
+ args = [
+ "--apk-path=${_rebased_apk_path_no_ext}_incremental.apk",
+ "--script-output-path=$_rebased_generated_script_path",
+ "--depfile=$_rebased_depfile",
+ ]
+ if (defined(_native_libs_dir)) {
+ _rebased_native_libs_dir = rebase_path(_native_libs_dir, root_build_dir)
+ args += [ "--lib-dir=$_rebased_native_libs_dir/$android_app_abi" ]
+ }
+ if (_create_density_splits) {
+ args += [ "--split=${_rebased_apk_path_no_ext}-density-*.apk" ]
+ }
+ if (_create_language_splits) {
+ args += [ "--split=${_rebased_apk_path_no_ext}-language-*.apk" ]
+ }
+ }
+
group(target_name) {
forward_variables_from(invoker, [ "data_deps" ])
deps = _final_deps
« build/android/pylib/device/device_utils.py ('K') | « build/config/android/internal_rules.gni ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698