aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java
diff options
context:
space:
mode:
authorGravatar asteinb <asteinb@google.com>2018-04-16 09:03:47 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-16 09:06:01 -0700
commita78f55dc378e0d175e695dd081f5a7d08055bdb7 (patch)
tree30b35147c60569b4f5bd5bae0c6fd76edae9ce8f /src/main/java/com/google/devtools/build/lib/rules/android/AndroidSkylarkApiProvider.java
parent3b98838be61fa58d86805879a5fc4b13511ed69e (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.java11
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. */