Index: build/config/android/rules.gni |
diff --git a/build/config/android/rules.gni b/build/config/android/rules.gni |
index 662a501fc55a49657b92c153f5799e312efc6ee7..ed322ddfaae36edd604092b57c27375a3372035e 100644 |
--- a/build/config/android/rules.gni |
+++ b/build/config/android/rules.gni |
@@ -335,15 +335,13 @@ template("android_resources") { |
# Variables |
# deps: Specifies the dependencies of this target. |
# grd_file: Path to the .grd file to generate strings.xml from. |
+# outputs: Expected grit outputs (see grit rule). |
# |
# Example |
# java_strings_grd("foo_strings_grd") { |
# grd_file = "foo_strings.grd" |
# } |
template("java_strings_grd") { |
- base_path = "$target_gen_dir/$target_name" |
- resources_zip = base_path + ".resources.zip" |
- |
write_build_config("${target_name}__build_config") { |
type = "android_resources" |
if (defined(invoker.deps)) { |
@@ -351,15 +349,21 @@ template("java_strings_grd") { |
} |
} |
+ # Put grit files into this subdirectory of target_gen_dir. |
+ extra_output_path = target_name + "_grit_output" |
+ |
grit_target_name = "${target_name}__grit" |
- grit_output_dir = base_path + "_grit_output" |
grit(grit_target_name) { |
grit_flags = [ |
"-E", "ANDROID_JAVA_TAGGED_ONLY=false", |
] |
- output_dir = grit_output_dir |
+ output_dir = "$target_gen_dir/$extra_output_path" |
resource_ids = "" |
source = invoker.grd_file |
+ # The grit rule expects files relative to target_gen_dir, but this rule |
+ # appends a suffix to that. This rebase will prepend extra_output_path to |
+ # each filename. |
+ outputs = rebase_path(invoker.outputs, ".", extra_output_path) |
} |
# This needs to get outputs from grit's internal target, not the final |
@@ -369,7 +373,7 @@ template("java_strings_grd") { |
zip("${target_name}__zip") { |
base_dir = grit_output_dir |
inputs = generate_strings_outputs |
- output = resources_zip |
+ output = "${target_gen_dir}/${target_name}.resources.zip" |
} |
group(target_name) { |