Index: build/config/android/internal_rules.gni |
diff --git a/build/config/android/internal_rules.gni b/build/config/android/internal_rules.gni |
index ab773eae500ebbc3bf9d1a0968e0e0220837b841..07a05e15d6406f3853c6c1a87b3833e2c59f149b 100644 |
--- a/build/config/android/internal_rules.gni |
+++ b/build/config/android/internal_rules.gni |
@@ -323,6 +323,12 @@ template("write_build_config") { |
invoker.custom_package, |
] |
} |
+ if (defined(invoker.r_text)) { |
+ args += [ |
+ "--r-text", |
+ rebase_path(invoker.r_text, root_build_dir), |
+ ] |
+ } |
} |
if (is_apk) { |
@@ -1005,6 +1011,7 @@ template("process_resources") { |
zip_path = invoker.zip_path |
srcjar_path = invoker.srcjar_path |
+ r_text_path = invoker.r_text_path |
build_config = invoker.build_config |
resource_dirs = invoker.resource_dirs |
android_manifest = invoker.android_manifest |
@@ -1022,6 +1029,7 @@ template("process_resources") { |
depfile, |
zip_path, |
srcjar_path, |
+ r_text_path, |
] |
sources_build_rel = exec_script("//build/android/gyp/find.py", |
@@ -1050,8 +1058,11 @@ template("process_resources") { |
rebase_path(srcjar_path, root_build_dir), |
"--resource-zip-out", |
rebase_path(zip_path, root_build_dir), |
+ "--r-text-out", |
+ rebase_path(r_text_path, root_build_dir), |
"--dependencies-res-zips=@FileArg($rebase_build_config:resources:dependency_zips)", |
"--extra-res-packages=@FileArg($rebase_build_config:resources:extra_package_names)", |
+ "--extra-r-text-files=@FileArg($rebase_build_config:resources:extra_r_text_files)", |
] |
if (non_constant_id) { |
@@ -1073,6 +1084,11 @@ template("process_resources") { |
args += [ "--shared-resources" ] |
} |
+ if (defined(invoker.include_all_resources) && |
+ invoker.include_all_resources) { |
+ args += [ "--include-all-resources" ] |
+ } |
+ |
if (defined(invoker.all_resources_zip_path)) { |
all_resources_zip = invoker.all_resources_zip_path |
outputs += [ all_resources_zip ] |
@@ -1161,3 +1177,53 @@ template("deps_dex") { |
} |
} |
} |
+ |
+# Creates an AndroidManifest.xml for an APK split. |
+template("generate_split_manifest") { |
+ assert(defined(invoker.main_manifest)) |
+ assert(defined(invoker.out_manifest)) |
+ assert(defined(invoker.split_name)) |
+ |
+ action(target_name) { |
+ depfile = "$target_gen_dir/$target_name.d" |
+ args = [ |
+ "--main-manifest", |
+ rebase_path(invoker.main_manifest, root_build_dir), |
+ "--out-manifest", |
+ rebase_path(invoker.out_manifest, root_build_dir), |
+ "--split", |
+ invoker.split_name, |
+ ] |
+ if (defined(invoker.version_code)) { |
+ args += [ |
+ "--version-code", |
+ invoker.version_code, |
+ ] |
+ } |
+ if (defined(invoker.version_name)) { |
+ args += [ |
+ "--version-name", |
+ invoker.version_name, |
+ ] |
+ } |
+ if (defined(invoker.has_code)) { |
+ args += [ |
+ "--has-code", |
+ invoker.has_code, |
+ ] |
+ } |
+ args += [ |
+ "--depfile", |
+ rebase_path(depfile, root_build_dir), |
+ ] |
+ |
+ script = "//build/android/gyp/generate_split_manifest.py" |
+ outputs = [ |
+ depfile, |
+ invoker.out_manifest, |
+ ] |
+ inputs = [ |
+ invoker.main_manifest, |
+ ] |
+ } |
+} |