From 747f3468d20365a04923d8f7908968974aad17a0 Mon Sep 17 00:00:00 2001 From: asteinb Date: Mon, 16 Apr 2018 07:43:52 -0700 Subject: Properly expose resource artifacts in MergableAndroidData interface In hindsight, I should have done this a few changes ago, but the relevant change is already submitted. We need the artifacts for use in some cases where we want to use AndroidResources and ResourceContainer interchangably during migration. RELNOTES: none PiperOrigin-RevId: 193038067 --- .../build/lib/rules/android/ResourceContainer.java | 40 +++++++++++++--------- 1 file changed, 23 insertions(+), 17 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/ResourceContainer.java') diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceContainer.java b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceContainer.java index e1fdfd430d..47cea1a2c0 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/ResourceContainer.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/ResourceContainer.java @@ -82,32 +82,40 @@ public abstract class ResourceContainer implements CompiledMergableAndroidData { @Nullable public abstract Artifact getJavaClassJar(); - abstract AndroidAssets getAssets(); + @Override + public ImmutableList getAssets() { + return getAndroidAssets().getAssets(); + } + + abstract AndroidAssets getAndroidAssets(); + + @Override + public ImmutableList getResources() { + return getAndroidResources().getResources(); + } @VisibleForTesting - public abstract AndroidResources getResources(); + public abstract AndroidResources getAndroidResources(); /** @deprecated We are moving towards decoupling assets and resources */ @Deprecated public ImmutableList getArtifacts(ResourceType resourceType) { - return resourceType == ResourceType.ASSETS - ? getAssets().getAssets() - : getResources().getResources(); + return resourceType == ResourceType.ASSETS ? getAssets() : getResources(); } @Override public Iterable getArtifacts() { - return Iterables.concat(getAssets().getAssets(), getResources().getResources()); + return Iterables.concat(getAssets(), getResources()); } @Override public ImmutableList getResourceRoots() { - return getResources().getResourceRoots(); + return getAndroidResources().getResourceRoots(); } @Override public ImmutableList getAssetRoots() { - return getAssets().getAssetRoots(); + return getAndroidAssets().getAssetRoots(); } /** @@ -122,9 +130,7 @@ public abstract class ResourceContainer implements CompiledMergableAndroidData { */ @Deprecated public ImmutableList getRoots(ResourceType resourceType) { - return resourceType == ResourceType.ASSETS - ? getAssets().getAssetRoots() - : getResources().getResourceRoots(); + return resourceType == ResourceType.ASSETS ? getAssetRoots() : getResourceRoots(); } public abstract boolean isManifestExported(); @@ -201,21 +207,21 @@ public abstract class ResourceContainer implements CompiledMergableAndroidData { RuleErrorConsumer errorConsumer, ResourceFilter filter, boolean isDependency) throws RuleErrorException { Optional filteredResources = - getResources().maybeFilter(errorConsumer, filter, isDependency); + getAndroidResources().maybeFilter(errorConsumer, filter, isDependency); if (!filteredResources.isPresent()) { // No filtering was done; return this container return this; } - return toBuilder().setResources(filteredResources.get()).build(); + return toBuilder().setAndroidResources(filteredResources.get()).build(); } /** Creates a new builder with default values. */ public static Builder builder() { return new AutoValue_ResourceContainer.Builder() .setJavaPackageFrom(Builder.JavaPackageSource.MANIFEST) - .setAssets(AndroidAssets.empty()) - .setResources(AndroidResources.empty()); + .setAndroidAssets(AndroidAssets.empty()) + .setAndroidResources(AndroidResources.empty()); } /** @@ -304,9 +310,9 @@ public abstract class ResourceContainer implements CompiledMergableAndroidData { public abstract Builder setJavaClassJar(@Nullable Artifact javaClassJar); - public abstract Builder setAssets(AndroidAssets assets); + public abstract Builder setAndroidAssets(AndroidAssets assets); - public abstract Builder setResources(AndroidResources resources); + public abstract Builder setAndroidResources(AndroidResources resources); public abstract Builder setManifestExported(boolean manifestExported); -- cgit v1.2.3