aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
diff options
context:
space:
mode:
authorGravatar dslomov <dslomov@google.com>2017-05-08 08:47:44 -0400
committerGravatar Kristina Chodorow <kchodorow@google.com>2017-05-08 09:50:19 -0400
commitfa50c3ddd67d835a134ea8da0cb9ba02fed704d1 (patch)
tree4e1b00014069ee50029e8cab4349f2879fdbb385 /src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
parentc5c9aced57681cce897f3286d41b935d33876caa (diff)
Do not report errors when aspects try to attach to files.
Instead, silently ignore them in the same way we do for rules to which aspects are not applicable. In the future aspects will gain the ability to apply to, and propagate through, files. RELNOTES: None. PiperOrigin-RevId: 155369925
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java11
1 files changed, 1 insertions, 10 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
index 5a2f964b89..52d00e3141 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
@@ -43,7 +43,6 @@ import com.google.devtools.build.lib.packages.BuildFileContainsErrorsException;
import com.google.devtools.build.lib.packages.NativeAspectClass;
import com.google.devtools.build.lib.packages.NoSuchThingException;
import com.google.devtools.build.lib.packages.Package;
-import com.google.devtools.build.lib.packages.Rule;
import com.google.devtools.build.lib.packages.RuleClassProvider;
import com.google.devtools.build.lib.packages.SkylarkAspect;
import com.google.devtools.build.lib.packages.SkylarkAspectClass;
@@ -205,15 +204,6 @@ public final class AspectFunction implements SkyFunction {
ConfiguredTarget associatedTarget = configuredTargetValue.getConfiguredTarget();
Target target = associatedTarget.getTarget();
- if (!aspect.getDefinition().applyToFiles() && !(target instanceof Rule)) {
- env.getListener().handle(Event.error(
- target.getLocation(),
- String.format("%s is attached to %s %s but aspects must be attached to rules",
- aspect.getAspectClass().getName(), target.getTargetKind(), target.getName())));
- throw new AspectFunctionException(new AspectCreationException(
- "aspects must be attached to rules"));
- }
-
if (configuredTargetValue.getConfiguredTarget().getProvider(AliasProvider.class) != null) {
return createAliasAspect(env, target, aspect, key,
@@ -380,6 +370,7 @@ public final class AspectFunction implements SkyFunction {
// the aspect comes after all aspects it transitively sees.
aspectPathBuilder.add(skyKey);
}
+
private SkyValue createAliasAspect(
Environment env,
Target originalTarget,