From d9571f0944a75fd0c52c987589e36797e7438d82 Mon Sep 17 00:00:00 2001 From: Andrew Pellegrini Date: Thu, 7 Apr 2016 19:17:55 +0000 Subject: 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 --- .../lib/rules/android/ResourceShrinkerActionBuilder.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/main/java/com/google/devtools') 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 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 getResourcePackages(ResourceContainer primaryResources, + ResourceDependencies resourceDependencies) { + ImmutableList.Builder resourcePackages = ImmutableList.builder(); + resourcePackages.add(primaryResources.getJavaPackage()); + for (ResourceContainer resources : resourceDependencies.getResources()) { + resourcePackages.add(resources.getJavaPackage()); + } + return resourcePackages.build(); + } } -- cgit v1.2.3