aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-08-02 23:29:54 +0200
committerGravatar Dmitry Lomov <dslomov@google.com>2017-08-03 12:10:00 +0200
commitc13bb39f78de5e016c9ec1e3e20c43a92ea7d159 (patch)
tree2b66f2ef9fb463f4ef71e3ae2feeaafb59886054 /src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
parent20f7da51b3228eca561102e3b871b67b704347a9 (diff)
Use RequiredProviders to validate rule prerequisites in RuleContext.
We now use a unified way to check provider requirements everywhere. Reland of https://github.com/bazelbuild/bazel/commit/c32e1b1efcd703b3780de47fba62974123593d71. RELNOTES: None. PiperOrigin-RevId: 164038621
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java18
1 files changed, 1 insertions, 17 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
index aa960a87d4..1b783b9926 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java
@@ -15,7 +15,6 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Joiner;
-import com.google.common.base.Predicate;
import com.google.common.base.Supplier;
import com.google.common.base.Verify;
import com.google.common.base.VerifyException;
@@ -43,7 +42,6 @@ import com.google.devtools.build.lib.analysis.MergedConfiguredTarget;
import com.google.devtools.build.lib.analysis.MergedConfiguredTarget.DuplicateException;
import com.google.devtools.build.lib.analysis.TargetAndConfiguration;
import com.google.devtools.build.lib.analysis.ToolchainContext;
-import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider;
@@ -67,7 +65,6 @@ import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.packages.RawAttributeMapper;
import com.google.devtools.build.lib.packages.Rule;
import com.google.devtools.build.lib.packages.RuleClassProvider;
-import com.google.devtools.build.lib.packages.SkylarkProviderIdentifier;
import com.google.devtools.build.lib.packages.Target;
import com.google.devtools.build.lib.packages.TargetUtils;
import com.google.devtools.build.lib.skyframe.AspectFunction.AspectCreationException;
@@ -988,20 +985,7 @@ public final class ConfiguredTargetFunction implements SkyFunction {
if (!aspect.getDefinition().applyToFiles() && !(dep.getTarget() instanceof Rule)) {
return false;
}
- return aspect.getDefinition().getRequiredProviders().isSatisfiedBy(
- new Predicate<Class<?>>() {
- @Override
- public boolean apply(Class<?> provider) {
- return dep.getProvider(provider.asSubclass(TransitiveInfoProvider.class)) != null;
- }
- },
- new Predicate<SkylarkProviderIdentifier>() {
- @Override
- public boolean apply(SkylarkProviderIdentifier skylarkProviderIdentifier) {
- return dep.get(skylarkProviderIdentifier) != null;
- }
- }
- );
+ return dep.satisfies(aspect.getDefinition().getRequiredProviders());
}
/**