From a78f55dc378e0d175e695dd081f5a7d08055bdb7 Mon Sep 17 00:00:00 2001 From: asteinb Date: Mon, 16 Apr 2018 09:03:47 -0700 Subject: Resource processing pipeline uses interface instead of ResourceContainer This allows us to use either the new AndroidResources object and its children (which are fully decoupled from asset processing) or the old ResourceContainer. We'll actually turn on decoupled asset and resource processing in an upcoming change. We still need to create an asset-only pipeline and handle the binary case. RELNOTES: none PiperOrigin-RevId: 193047924 --- .../build/lib/rules/android/AndroidSkylarkApiProvider.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java') diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java index 23c500825e..c69902f324 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java +++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java @@ -23,12 +23,12 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.Order; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; -import com.google.devtools.build.lib.rules.android.ResourceContainer.ResourceType; import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider; import com.google.devtools.build.lib.rules.java.JavaRuleOutputJarsProvider.OutputJar; import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable; import com.google.devtools.build.lib.skylarkinterface.SkylarkModule; import com.google.devtools.build.lib.skylarkinterface.SkylarkModuleCategory; +import java.util.function.Function; import javax.annotation.Nullable; /** @@ -155,7 +155,7 @@ public class AndroidSkylarkApiProvider extends SkylarkApiProvider { doc = "Returns resources defined by this target." ) public NestedSet getResources() { - return collectDirectArtifacts(ResourceType.RESOURCES); + return collectDirectArtifacts(ValidatedAndroidData::getResources); } @SkylarkCallable( @@ -179,7 +179,8 @@ public class AndroidSkylarkApiProvider extends SkylarkApiProvider { return getIdeInfoProvider().getAar(); } - private NestedSet collectDirectArtifacts(final ResourceType resources) { + private NestedSet collectDirectArtifacts( + final Function> artifactFunction) { if (resourceInfo == null) { return NestedSetBuilder.emptySet(Order.STABLE_ORDER); } @@ -189,9 +190,7 @@ public class AndroidSkylarkApiProvider extends SkylarkApiProvider { Order.STABLE_ORDER, Iterables.concat( Iterables.transform( - resourceInfo.getDirectAndroidResources(), - (ResourceContainer resourceContainer) -> - resourceContainer.getArtifacts(resources)))); + resourceInfo.getDirectAndroidResources(), data -> artifactFunction.apply(data)))); } /** Helper class to provide information about IDLs related to this rule. */ -- cgit v1.2.3