diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis')
4 files changed, 21 insertions, 18 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java index 110e323a5b..3488dfd759 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkActionFactory.java @@ -60,7 +60,7 @@ import com.google.devtools.build.lib.syntax.SkylarkDict; import com.google.devtools.build.lib.syntax.SkylarkList; import com.google.devtools.build.lib.syntax.SkylarkMutable; import com.google.devtools.build.lib.syntax.SkylarkNestedSet; -import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions; +import com.google.devtools.build.lib.syntax.SkylarkSemantics; import com.google.devtools.build.lib.syntax.SkylarkSignatureProcessor; import com.google.devtools.build.lib.vfs.PathFragment; import java.nio.charset.StandardCharsets; @@ -81,17 +81,17 @@ import javax.annotation.Nullable; public class SkylarkActionFactory implements SkylarkValue { private final SkylarkRuleContext context; - private final SkylarkSemanticsOptions skylarkSemanticsOptions; + private final SkylarkSemantics skylarkSemantics; private RuleContext ruleContext; /** Counter for actions.run_shell helper scripts. Every script must have a unique name. */ private int runShellOutputCounter = 0; public SkylarkActionFactory( SkylarkRuleContext context, - SkylarkSemanticsOptions skylarkSemanticsOptions, + SkylarkSemantics skylarkSemantics, RuleContext ruleContext) { this.context = context; - this.skylarkSemanticsOptions = skylarkSemanticsOptions; + this.skylarkSemantics = skylarkSemantics; this.ruleContext = ruleContext; } @@ -1106,7 +1106,7 @@ public class SkylarkActionFactory implements SkylarkValue { private Args( @Nullable Mutability mutability, - SkylarkSemanticsOptions skylarkSemantics, + SkylarkSemantics skylarkSemantics, EventHandler eventHandler) { this.mutability = mutability != null ? mutability : Mutability.IMMUTABLE; this.commandLine = new SkylarkCustomCommandLine.Builder(skylarkSemantics, eventHandler); diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java index 166713e06e..7c9d5e249e 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkCustomCommandLine.java @@ -32,7 +32,7 @@ import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.syntax.Mutability; import com.google.devtools.build.lib.syntax.Printer; import com.google.devtools.build.lib.syntax.SkylarkList; -import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions; +import com.google.devtools.build.lib.syntax.SkylarkSemantics; import java.util.ArrayList; import java.util.IllegalFormatException; import java.util.List; @@ -40,7 +40,7 @@ import javax.annotation.Nullable; /** Supports ctx.actions.args() from Skylark. */ class SkylarkCustomCommandLine extends CommandLine { - private final SkylarkSemanticsOptions skylarkSemantics; + private final SkylarkSemantics skylarkSemantics; private final EventHandler eventHandler; private final ImmutableList<Object> arguments; @@ -116,7 +116,7 @@ class SkylarkCustomCommandLine extends CommandLine { List<Object> arguments, int argi, ImmutableList.Builder<String> builder, - SkylarkSemanticsOptions skylarkSemantics, + SkylarkSemantics skylarkSemantics, EventHandler eventHandler) throws CommandLineExpansionException { final List<Object> mutatedValues; @@ -282,7 +282,7 @@ class SkylarkCustomCommandLine extends CommandLine { List<Object> arguments, int argi, ImmutableList.Builder<String> builder, - SkylarkSemanticsOptions skylarkSemantics, + SkylarkSemantics skylarkSemantics, EventHandler eventHandler) throws CommandLineExpansionException { Object object = arguments.get(argi++); @@ -348,11 +348,11 @@ class SkylarkCustomCommandLine extends CommandLine { } static class Builder { - private final SkylarkSemanticsOptions skylarkSemantics; + private final SkylarkSemantics skylarkSemantics; private final ImmutableList.Builder<Object> arguments = ImmutableList.builder(); private final EventHandler eventHandler; - public Builder(SkylarkSemanticsOptions skylarkSemantics, EventHandler eventHandler) { + public Builder(SkylarkSemantics skylarkSemantics, EventHandler eventHandler) { this.skylarkSemantics = skylarkSemantics; this.eventHandler = eventHandler; } @@ -430,7 +430,7 @@ class SkylarkCustomCommandLine extends CommandLine { BaseFunction mapFn, Object arg, Location location, - SkylarkSemanticsOptions skylarkSemantics, + SkylarkSemantics skylarkSemantics, EventHandler eventHandler) throws CommandLineExpansionException { ImmutableList<Object> args = ImmutableList.of(arg); diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java index fc82668063..e242d46b67 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleContext.java @@ -68,6 +68,7 @@ import com.google.devtools.build.lib.syntax.Runtime; import com.google.devtools.build.lib.syntax.SkylarkDict; import com.google.devtools.build.lib.syntax.SkylarkIndexable; import com.google.devtools.build.lib.syntax.SkylarkList; +import com.google.devtools.build.lib.syntax.SkylarkSemantics; import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions; import com.google.devtools.build.lib.syntax.SkylarkType; import com.google.devtools.build.lib.syntax.Type; @@ -181,7 +182,7 @@ public final class SkylarkRuleContext implements SkylarkValue { private FragmentCollection fragments; private FragmentCollection hostFragments; private AspectDescriptor aspectDescriptor; - private final SkylarkSemanticsOptions skylarkSemantics; + private final SkylarkSemantics skylarkSemantics; private SkylarkDict<String, String> makeVariables; private SkylarkRuleAttributesCollection attributesCollection; @@ -198,17 +199,19 @@ public final class SkylarkRuleContext implements SkylarkValue { * if it is for a rule. * @throws InterruptedException */ + // TODO(brandjon): Take in SkylarkSemantics instead of SkylarkSemanticsOptions. public SkylarkRuleContext(RuleContext ruleContext, @Nullable AspectDescriptor aspectDescriptor, SkylarkSemanticsOptions skylarkSemantics) throws EvalException, InterruptedException { - this.actionFactory = new SkylarkActionFactory(this, skylarkSemantics, ruleContext); + this.actionFactory = new SkylarkActionFactory( + this, skylarkSemantics.toSkylarkSemantics(), ruleContext); this.ruleContext = Preconditions.checkNotNull(ruleContext); this.ruleLabelCanonicalName = ruleContext.getLabel().getCanonicalForm(); this.fragments = new FragmentCollection(ruleContext, ConfigurationTransition.NONE); this.hostFragments = new FragmentCollection(ruleContext, ConfigurationTransition.HOST); this.aspectDescriptor = aspectDescriptor; - this.skylarkSemantics = skylarkSemantics; + this.skylarkSemantics = skylarkSemantics.toSkylarkSemantics(); if (aspectDescriptor == null) { this.isForAspect = false; diff --git a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleImplementationFunctions.java b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleImplementationFunctions.java index 81e0ea52ac..6d1e73883f 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleImplementationFunctions.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/skylark/SkylarkRuleImplementationFunctions.java @@ -41,7 +41,7 @@ import com.google.devtools.build.lib.syntax.SkylarkList; import com.google.devtools.build.lib.syntax.SkylarkList.MutableList; import com.google.devtools.build.lib.syntax.SkylarkList.Tuple; import com.google.devtools.build.lib.syntax.SkylarkNestedSet; -import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions; +import com.google.devtools.build.lib.syntax.SkylarkSemantics; import com.google.devtools.build.lib.syntax.SkylarkSignatureProcessor; import com.google.devtools.build.lib.syntax.Type; import com.google.devtools.build.lib.syntax.Type.ConversionException; @@ -268,9 +268,9 @@ public class SkylarkRuleImplementationFunctions { }; static void checkDeprecated( - String newApi, String oldApi, Location loc, SkylarkSemanticsOptions semantics) + String newApi, String oldApi, Location loc, SkylarkSemantics semantics) throws EvalException { - if (semantics.incompatibleNewActionsApi) { + if (semantics.incompatibleNewActionsApi()) { throw new EvalException( loc, "Use " + newApi + " instead of " + oldApi + ". \n" |