diff options
author | Luis Fernando Pino Duque <lpino@google.com> | 2016-11-08 15:53:47 +0000 |
---|---|---|
committer | Klaus Aehlig <aehlig@google.com> | 2016-11-09 09:13:03 +0000 |
commit | 5119ce4ad6cb0ed9a074c085645b84409d6efcac (patch) | |
tree | 8dcc829de66bfb757e10c67fe2624184ba7c404d /src/main/java/com/google/devtools | |
parent | 216410b2b45e31c56ad28c61f9523c4d8a984a94 (diff) |
Rollback of commit b91fac3b1f0f5142a906aa12280de936f29fb607.
*** Reason for rollback ***
Breaks several tests under //devtools/ide/eclipse/aspects as shown by the nightly []:
[]
*** Original change description ***
Restrict google_glob_information to eclipse_aspect.
'--legacy_expose_globs' flag has no effect now.
--
MOS_MIGRATED_REVID=138517258
Diffstat (limited to 'src/main/java/com/google/devtools')
3 files changed, 14 insertions, 15 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 814ae564b8..6ac83f5667 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,6 +31,7 @@ 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; @@ -71,8 +72,7 @@ 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, - null); + SkylarkRuleContext skylarkRuleContext = new SkylarkRuleContext(ruleContext, Kind.RULE); 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 37a77d4be2..31ad28093e 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,7 +44,6 @@ 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; @@ -142,7 +141,6 @@ 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; @@ -153,19 +151,24 @@ 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, @Nullable SkylarkAspect skylarkAspect) + public SkylarkRuleContext(RuleContext ruleContext, Kind kind) 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 (skylarkAspect == null) { + if (kind == Kind.RULE) { Collection<Attribute> attributes = ruleContext.getRule().getAttributes(); HashMap<String, Object> outputsBuilder = new HashMap<>(); if (ruleContext.getRule().getRuleClassObject().outputsDefaultExecutable()) { @@ -243,11 +246,6 @@ 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>() { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java index b5b8087726..450015804b 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkylarkAspectFactory.java @@ -26,6 +26,7 @@ import com.google.devtools.build.lib.packages.AspectParameters; import com.google.devtools.build.lib.packages.SkylarkAspect; import com.google.devtools.build.lib.packages.SkylarkClassObject; import com.google.devtools.build.lib.rules.SkylarkRuleContext; +import com.google.devtools.build.lib.rules.SkylarkRuleContext.Kind; import com.google.devtools.build.lib.syntax.Environment; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.EvalExceptionWithStackTrace; @@ -52,7 +53,7 @@ public class SkylarkAspectFactory implements ConfiguredAspectFactory { try (Mutability mutability = Mutability.create("aspect")) { SkylarkRuleContext skylarkRuleContext; try { - skylarkRuleContext = new SkylarkRuleContext(ruleContext, skylarkAspect); + skylarkRuleContext = new SkylarkRuleContext(ruleContext, Kind.ASPECT); } catch (EvalException e) { ruleContext.ruleError(e.getMessage()); return null; |