Pass SkylarkSemantics through Skyframe instead of the options class Also remove the use of the @UsesOnlyCoreTypes annotation on SkylarkSemanticsOptions. It was only there to help mark that the options class was safe to put in Skyframe. RELNOTES: None PiperOrigin-RevId: 171248504
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java index bae2bef..f065cfd 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestUtil.java
@@ -46,7 +46,7 @@ import com.google.devtools.build.lib.cmdline.RepositoryName; import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.ExtendedEventHandler; -import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions; +import com.google.devtools.build.lib.syntax.SkylarkSemantics; import com.google.devtools.build.lib.testutil.TestConstants; import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.PathFragment; @@ -158,7 +158,7 @@ } @Override - public SkylarkSemanticsOptions getSkylarkSemantics() throws InterruptedException { + public SkylarkSemantics getSkylarkSemantics() throws InterruptedException { return original.getSkylarkSemantics(); } @@ -353,7 +353,7 @@ } @Override - public SkylarkSemanticsOptions getSkylarkSemantics() throws InterruptedException { + public SkylarkSemantics getSkylarkSemantics() throws InterruptedException { return null; }
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java index d7af509..acd56aa 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/util/BuildViewTestCase.java
@@ -131,6 +131,7 @@ import com.google.devtools.build.lib.skyframe.SequencedSkyframeExecutor; import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker; import com.google.devtools.build.lib.skyframe.SkyframeExecutor; +import com.google.devtools.build.lib.syntax.SkylarkSemantics; import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions; import com.google.devtools.build.lib.testutil.BlazeTestUtils; import com.google.devtools.build.lib.testutil.FoundationTestCase; @@ -284,8 +285,8 @@ return ImmutableList.<EnvironmentExtension>of(); } - protected SkylarkSemanticsOptions getSkylarkSemantics() { - return skylarkSemanticsOptions; + protected SkylarkSemantics getSkylarkSemantics() { + return skylarkSemanticsOptions.toSkylarkSemantics(); } protected ResourceSet getStartingResources() { @@ -1710,7 +1711,7 @@ } @Override - public SkylarkSemanticsOptions getSkylarkSemantics() { + public SkylarkSemantics getSkylarkSemantics() { throw new UnsupportedOperationException(); }
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java index 9466ec3..e487f3f 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java +++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageFactoryApparatus.java
@@ -34,12 +34,11 @@ import com.google.devtools.build.lib.syntax.BuildFileAST; import com.google.devtools.build.lib.syntax.Environment.Extension; import com.google.devtools.build.lib.syntax.ParserInputSource; -import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions; +import com.google.devtools.build.lib.syntax.SkylarkSemantics; import com.google.devtools.build.lib.testutil.TestRuleClassProvider; import com.google.devtools.build.lib.testutil.TestUtils; import com.google.devtools.build.lib.util.Pair; import com.google.devtools.build.lib.vfs.Path; -import com.google.devtools.common.options.Options; import java.io.IOException; /** @@ -142,7 +141,7 @@ ImmutableList.<Event>of(), ImmutableList.<Postable>of(), ConstantRuleVisibility.PUBLIC, - Options.getDefaults(SkylarkSemanticsOptions.class), + SkylarkSemantics.DEFAULT_SEMANTICS, false, new MakeEnvironment.Builder(), ImmutableMap.<String, Extension>of(),
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java b/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java index 12b8e6b..b8c8947 100644 --- a/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java +++ b/src/test/java/com/google/devtools/build/lib/testutil/TestMode.java
@@ -17,6 +17,7 @@ import com.google.devtools.build.lib.syntax.BazelLibrary; import com.google.devtools.build.lib.syntax.Environment; import com.google.devtools.build.lib.syntax.Mutability; +import com.google.devtools.build.lib.syntax.SkylarkSemantics; import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions; import com.google.devtools.common.options.OptionsParser; @@ -25,11 +26,11 @@ * appropriate {@code Environment} has to be created */ public abstract class TestMode { - private static SkylarkSemanticsOptions parseSkylarkSemanticsOptions(String... skylarkOptions) + private static SkylarkSemantics parseSkylarkSemantics(String... skylarkOptions) throws Exception { OptionsParser parser = OptionsParser.newOptionsParser(SkylarkSemanticsOptions.class); parser.parse(skylarkOptions); - return parser.getOptions(SkylarkSemanticsOptions.class); + return parser.getOptions(SkylarkSemanticsOptions.class).toSkylarkSemantics(); } public static final TestMode BUILD = @@ -40,7 +41,7 @@ return Environment.builder(Mutability.create("build test")) .setGlobals(BazelLibrary.GLOBALS) .setEventHandler(eventHandler) - .setSemantics(TestMode.parseSkylarkSemanticsOptions(skylarkOptions)) + .setSemantics(TestMode.parseSkylarkSemantics(skylarkOptions)) .build(); } }; @@ -53,7 +54,7 @@ return Environment.builder(Mutability.create("skylark test")) .setGlobals(BazelLibrary.GLOBALS) .setEventHandler(eventHandler) - .setSemantics(TestMode.parseSkylarkSemanticsOptions(skylarkOptions)) + .setSemantics(TestMode.parseSkylarkSemantics(skylarkOptions)) .build(); } };