diff options
author | 2016-04-07 19:17:55 +0000 | |
---|---|---|
committer | 2016-04-08 14:34:39 +0000 | |
commit | d9571f0944a75fd0c52c987589e36797e7438d82 (patch) | |
tree | 7d72d8448cb8b879bccf0af780507c4163c3396b /src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java | |
parent | 8d061b85a91e70df10d2f20f81217386539560c1 (diff) |
Provide ResourceShrinker with the generated R.java packages in addition to packages from manifests. This prevents resources from being removed when they have been generated into a package other than the one specified in their target's manifest.
--
MOS_MIGRATED_REVID=119294591
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java index d51bad31be..e8a545afe1 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceShrinkerActionBuilder.java @@ -175,6 +175,9 @@ public class ResourceShrinkerActionBuilder { commandLine.addJoinExecPaths("--dependencyManifests", ":", dependencyManifests); inputs.addAll(dependencyManifests); + List<String> resourcePackages = getResourcePackages(primaryResources, dependencyResources); + commandLine.addJoinStrings("--resourcePackages", ",", resourcePackages); + commandLine.addExecPath("--shrunkResourceApk", resourceApkOut); outputs.add(resourceApkOut); @@ -204,5 +207,15 @@ public class ResourceShrinkerActionBuilder { } return manifests.build(); } + + private List<String> getResourcePackages(ResourceContainer primaryResources, + ResourceDependencies resourceDependencies) { + ImmutableList.Builder<String> resourcePackages = ImmutableList.builder(); + resourcePackages.add(primaryResources.getJavaPackage()); + for (ResourceContainer resources : resourceDependencies.getResources()) { + resourcePackages.add(resources.getJavaPackage()); + } + return resourcePackages.build(); + } } |