diff options
author | 2016-11-07 18:47:53 +0000 | |
---|---|---|
committer | 2016-11-08 09:14:26 +0000 | |
commit | b91fac3b1f0f5142a906aa12280de936f29fb607 (patch) | |
tree | 41af1baca99809c6d03ab56e33bd8a45529d3d95 /src/main/java/com/google/devtools/build/lib/rules | |
parent | 7dbe3f7c0499ee201b426ea3b877da64423c3547 (diff) |
Restrict google_glob_information to eclipse_aspect.
'--legacy_expose_globs' flag has no effect now.
--
MOS_MIGRATED_REVID=138410651
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java | 4 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java | 22 |
2 files changed, 14 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java index 6ac83f5667..814ae564b8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleConfiguredTargetBuilder.java @@ -31,7 +31,6 @@ import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.packages.Rule; import com.google.devtools.build.lib.packages.SkylarkClassObject; import com.google.devtools.build.lib.packages.TargetUtils; -import com.google.devtools.build.lib.rules.SkylarkRuleContext.Kind; import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector; import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector.InstrumentationSpec; import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider; @@ -72,7 +71,8 @@ public final class SkylarkRuleConfiguredTargetBuilder { throws InterruptedException { String expectFailure = ruleContext.attributes().get("expect_failure", Type.STRING); try (Mutability mutability = Mutability.create("configured target")) { - SkylarkRuleContext skylarkRuleContext = new SkylarkRuleContext(ruleContext, Kind.RULE); + SkylarkRuleContext skylarkRuleContext = new SkylarkRuleContext(ruleContext, + null); Environment env = Environment.builder(mutability) .setSkylark() .setCallerLabel(ruleContext.getLabel()) diff --git a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java index 31ad28093e..37a77d4be2 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java +++ b/src/main/java/com/google/devtools/build/lib/rules/SkylarkRuleContext.java @@ -44,6 +44,7 @@ import com.google.devtools.build.lib.packages.ImplicitOutputsFunction.SkylarkImp import com.google.devtools.build.lib.packages.OutputFile; import com.google.devtools.build.lib.packages.Package; import com.google.devtools.build.lib.packages.RawAttributeMapper; +import com.google.devtools.build.lib.packages.SkylarkAspect; import com.google.devtools.build.lib.packages.SkylarkClassObject; import com.google.devtools.build.lib.packages.SkylarkClassObjectConstructor; import com.google.devtools.build.lib.shell.ShellUtils; @@ -141,6 +142,7 @@ public final class SkylarkRuleContext { private final FragmentCollection fragments; private final FragmentCollection hostFragments; + private final SkylarkAspect skylarkAspect; private final SkylarkDict<String, String> makeVariables; private final SkylarkRuleAttributesCollection attributesCollection; @@ -151,24 +153,19 @@ public final class SkylarkRuleContext { private final SkylarkClassObject outputsObject; /** - * Determines whether this context is for rule implementation or for aspect implementation. - */ - public enum Kind { - RULE, - ASPECT - } - - /** * Creates a new SkylarkRuleContext using ruleContext. + * @param skylarkAspect aspect for which the context is created, or <code>null</code> + * if it is for a rule. * @throws InterruptedException */ - public SkylarkRuleContext(RuleContext ruleContext, Kind kind) + public SkylarkRuleContext(RuleContext ruleContext, @Nullable SkylarkAspect skylarkAspect) throws EvalException, InterruptedException { this.ruleContext = Preconditions.checkNotNull(ruleContext); this.fragments = new FragmentCollection(ruleContext, ConfigurationTransition.NONE); this.hostFragments = new FragmentCollection(ruleContext, ConfigurationTransition.HOST); + this.skylarkAspect = skylarkAspect; - if (kind == Kind.RULE) { + if (skylarkAspect == null) { Collection<Attribute> attributes = ruleContext.getRule().getAttributes(); HashMap<String, Object> outputsBuilder = new HashMap<>(); if (ruleContext.getRule().getRuleClassObject().outputsDefaultExecutable()) { @@ -246,6 +243,11 @@ public final class SkylarkRuleContext { makeVariables = ruleContext.getConfigurationMakeVariableContext().collectMakeVariables(); } + @Nullable + public SkylarkAspect getSkylarkAspect() { + return skylarkAspect; + } + private Function<Attribute, Object> attributeValueExtractorForRule( final RuleContext ruleContext) { return new Function<Attribute, Object>() { |