diff options
author | 2018-04-16 09:03:47 -0700 | |
---|---|---|
committer | 2018-04-16 09:06:01 -0700 | |
commit | a78f55dc378e0d175e695dd081f5a7d08055bdb7 (patch) | |
tree | 30b35147c60569b4f5bd5bae0c6fd76edae9ce8f /src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java | |
parent | 3b98838be61fa58d86805879a5fc4b13511ed69e (diff) |
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
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java | 11 |
1 files changed, 5 insertions, 6 deletions
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<Artifact> getResources() { - return collectDirectArtifacts(ResourceType.RESOURCES); + return collectDirectArtifacts(ValidatedAndroidData::getResources); } @SkylarkCallable( @@ -179,7 +179,8 @@ public class AndroidSkylarkApiProvider extends SkylarkApiProvider { return getIdeInfoProvider().getAar(); } - private NestedSet<Artifact> collectDirectArtifacts(final ResourceType resources) { + private NestedSet<Artifact> collectDirectArtifacts( + final Function<ValidatedAndroidData, Iterable<Artifact>> 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. */ |