Store Skylark command-line flags in Skyframe
This is the first of two CLs for making command line options able to affect the Skylark interpreter. It introduces SkylarkSemanticsOptions, and stores it as a precomputed (injected) value in Skyframe. The next CL will read these options from Skyframe when constructing the Skylark environment.
This CL affects the dataflow from command/test initialization to Skyframe. Some code paths, like those used for testing, use the default SkylarkSemanticsOptions and therefore won't be able to use (for example) --incompatible_* flags. The call sites to update were found by searching for uses of defaultVisibility and working upward from there.
RELNOTES: None
PiperOrigin-RevId: 154432058
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
index 7aa206f..a7ddfa9 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisTestCase.java
@@ -61,6 +61,7 @@
import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker;
import com.google.devtools.build.lib.skyframe.SkyframeExecutor;
import com.google.devtools.build.lib.skyframe.util.SkyframeExecutorTestUtils;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.testutil.FoundationTestCase;
import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
import com.google.devtools.build.lib.util.BlazeClock;
@@ -189,6 +190,7 @@
skyframeExecutor.preparePackageLoading(
pkgLocator,
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
ruleClassProvider.getDefaultsPackageContent(
analysisMock.getInvocationPolicyEnforcer().getInvocationPolicy()),
UUID.randomUUID(),
@@ -225,6 +227,7 @@
optionsParser = OptionsParser.newOptionsParser(Iterables.concat(Arrays.asList(
ExecutionOptions.class,
PackageCacheOptions.class,
+ SkylarkSemanticsOptions.class,
BuildRequestOptions.class,
BuildView.Options.class),
ruleClassProvider.getConfigurationOptions()));
@@ -314,15 +317,20 @@
viewOptions.loadingPhaseThreads = LOADING_PHASE_THREADS;
BuildOptions buildOptions = ruleClassProvider.createBuildOptions(optionsParser);
- PackageCacheOptions packageCacheOptions = optionsParser.getOptions(PackageCacheOptions.class);
+ PackageCacheOptions packageCacheOptions = optionsParser.getOptions(PackageCacheOptions.class);
PathPackageLocator pathPackageLocator = PathPackageLocator.create(
outputBase, packageCacheOptions.packagePath, reporter, rootDirectory, rootDirectory);
packageCacheOptions.showLoadingProgress = true;
packageCacheOptions.globbingThreads = 7;
+
+ SkylarkSemanticsOptions skylarkSemanticsOptions =
+ optionsParser.getOptions(SkylarkSemanticsOptions.class);
+
skyframeExecutor.preparePackageLoading(
pathPackageLocator,
packageCacheOptions,
+ skylarkSemanticsOptions,
ruleClassProvider.getDefaultsPackageContent(
analysisMock.getInvocationPolicyEnforcer().getInvocationPolicy()),
UUID.randomUUID(),
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 2934727..4379623 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
@@ -132,6 +132,7 @@
import com.google.devtools.build.lib.skyframe.PrecomputedValue;
import com.google.devtools.build.lib.skyframe.SequencedSkyframeExecutor;
import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.testutil.BlazeTestUtils;
import com.google.devtools.build.lib.testutil.FoundationTestCase;
import com.google.devtools.build.lib.util.BlazeClock;
@@ -185,6 +186,7 @@
protected OptionsParser optionsParser;
private PackageCacheOptions packageCacheOptions;
+ private SkylarkSemanticsOptions skylarkSemanticsOptions;
protected PackageFactory pkgFactory;
protected MockToolsConfig mockToolsConfig;
@@ -204,6 +206,7 @@
analysisMock.setupMockWorkspaceFiles(directories.getEmbeddedBinariesRoot());
packageCacheOptions = parsePackageCacheOptions();
+ skylarkSemanticsOptions = parseSkylarkSemanticsOptions();
workspaceStatusActionFactory =
new AnalysisTestUtil.DummyWorkspaceStatusActionFactory(directories);
mutableActionGraph = new MapBasedActionGraph();
@@ -244,6 +247,7 @@
skyframeExecutor.preparePackageLoading(
new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)),
packageCacheOptions,
+ skylarkSemanticsOptions,
"",
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
@@ -349,6 +353,7 @@
skyframeExecutor.preparePackageLoading(
pkgLocator,
packageCacheOptions,
+ skylarkSemanticsOptions,
ruleClassProvider.getDefaultsPackageContent(optionsParser),
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
@@ -362,13 +367,25 @@
setUpSkyframe();
}
- private PackageCacheOptions parsePackageCacheOptions(String... options) throws Exception {
+ protected void setSkylarkSemanticsOptions(String... options) throws Exception {
+ skylarkSemanticsOptions = parseSkylarkSemanticsOptions(options);
+ setUpSkyframe();
+ }
+
+ private static PackageCacheOptions parsePackageCacheOptions(String... options) throws Exception {
OptionsParser parser = OptionsParser.newOptionsParser(PackageCacheOptions.class);
parser.parse("--default_visibility=public");
parser.parse(options);
return parser.getOptions(PackageCacheOptions.class);
}
+ private static SkylarkSemanticsOptions parseSkylarkSemanticsOptions(String... options)
+ throws Exception {
+ OptionsParser parser = OptionsParser.newOptionsParser(SkylarkSemanticsOptions.class);
+ parser.parse(options);
+ return parser.getOptions(SkylarkSemanticsOptions.class);
+ }
+
/** Used by skyframe-only tests. */
protected SequencedSkyframeExecutor getSkyframeExecutor() {
return Preconditions.checkNotNull(skyframeExecutor);
diff --git a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
index fbf1702..9cfc8fd 100644
--- a/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/analysis/util/ConfigurationTestCase.java
@@ -43,6 +43,7 @@
import com.google.devtools.build.lib.skyframe.PrecomputedValue;
import com.google.devtools.build.lib.skyframe.SequencedSkyframeExecutor;
import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.testutil.FoundationTestCase;
import com.google.devtools.build.lib.util.BlazeClock;
import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor;
@@ -126,6 +127,7 @@
skyframeExecutor.preparePackageLoading(
pkgLocator,
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
ruleClassProvider.getDefaultsPackageContent(
analysisMock.getInvocationPolicyEnforcer().getInvocationPolicy()),
UUID.randomUUID(),
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
index 56d37d5..975160d 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/util/PackageLoadingTestCase.java
@@ -40,6 +40,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.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.testutil.FoundationTestCase;
import com.google.devtools.build.lib.testutil.TestRuleClassProvider;
import com.google.devtools.build.lib.util.BlazeClock;
@@ -65,6 +66,8 @@
private static final int GLOBBING_THREADS = 7;
protected LoadingMock loadingMock;
+ private PackageCacheOptions packageCacheOptions;
+ private SkylarkSemanticsOptions skylarkSemanticsOptions;
protected ConfiguredRuleClassProvider ruleClassProvider;
protected PackageFactory packageFactory;
protected SkyframeExecutor skyframeExecutor;
@@ -72,6 +75,8 @@
@Before
public final void initializeSkyframeExecutor() throws Exception {
loadingMock = LoadingMock.get();
+ packageCacheOptions = parsePackageCacheOptions();
+ skylarkSemanticsOptions = parseSkylarkSemanticsOptions();
List<RuleDefinition> extraRules = getExtraRules();
if (!extraRules.isEmpty()) {
ConfiguredRuleClassProvider.Builder builder = new ConfiguredRuleClassProvider.Builder();
@@ -88,7 +93,7 @@
.getPackageFactoryForTesting()
.create(ruleClassProvider, null, getEnvironmentExtensions(), scratch.getFileSystem());
skyframeExecutor = createSkyframeExecutor();
- setUpSkyframe(parsePackageCacheOptions());
+ setUpSkyframe();
}
/** Allows subclasses to augment the {@link RuleDefinition}s available in this test. */
@@ -128,6 +133,7 @@
skyframeExecutor.preparePackageLoading(
new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)),
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
defaultsPackageContents,
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
@@ -135,7 +141,7 @@
new TimestampGranularityMonitor(BlazeClock.instance()));
}
- private void setUpSkyframe(PackageCacheOptions packageCacheOptions) {
+ private void setUpSkyframe() {
PathPackageLocator pkgLocator = PathPackageLocator.create(
outputBase, packageCacheOptions.packagePath, reporter, rootDirectory, rootDirectory);
packageCacheOptions.showLoadingProgress = true;
@@ -143,6 +149,7 @@
skyframeExecutor.preparePackageLoading(
pkgLocator,
packageCacheOptions,
+ skylarkSemanticsOptions,
loadingMock.getDefaultsPackageContent(),
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
@@ -152,15 +159,28 @@
ImmutableSet.copyOf(packageCacheOptions.getDeletedPackages()));
}
- private PackageCacheOptions parsePackageCacheOptions(String... options) throws Exception {
+ private static PackageCacheOptions parsePackageCacheOptions(String... options) throws Exception {
OptionsParser parser = OptionsParser.newOptionsParser(PackageCacheOptions.class);
- parser.parse(new String[] { "--default_visibility=public" });
+ parser.parse("--default_visibility=public");
parser.parse(options);
return parser.getOptions(PackageCacheOptions.class);
}
+ private static SkylarkSemanticsOptions parseSkylarkSemanticsOptions(String... options)
+ throws Exception {
+ OptionsParser parser = OptionsParser.newOptionsParser(SkylarkSemanticsOptions.class);
+ parser.parse(options);
+ return parser.getOptions(SkylarkSemanticsOptions.class);
+ }
+
protected void setPackageCacheOptions(String... options) throws Exception {
- setUpSkyframe(parsePackageCacheOptions(options));
+ packageCacheOptions = parsePackageCacheOptions(options);
+ setUpSkyframe();
+ }
+
+ protected void setSkylarkSemanticsOptions(String... options) throws Exception {
+ skylarkSemanticsOptions = parseSkylarkSemanticsOptions(options);
+ setUpSkyframe();
}
protected Target getTarget(String label)
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java
index 60c5853..8e57f6c 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/IncrementalLoadingTest.java
@@ -43,6 +43,7 @@
import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker;
import com.google.devtools.build.lib.skyframe.SkyframeExecutor;
import com.google.devtools.build.lib.syntax.GlobList;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.testutil.ManualClock;
import com.google.devtools.build.lib.util.BlazeClock;
import com.google.devtools.build.lib.util.Preconditions;
@@ -492,6 +493,7 @@
skyframeExecutor.preparePackageLoading(
new PathPackageLocator(outputBase, ImmutableList.of(workspace)),
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
"",
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
@@ -579,6 +581,7 @@
skyframeExecutor.preparePackageLoading(
new PathPackageLocator(outputBase, ImmutableList.of(workspace)),
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
"",
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java
index 731d5c5..9de3dec 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/LoadingPhaseRunnerTest.java
@@ -51,6 +51,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.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.testutil.ManualClock;
import com.google.devtools.build.lib.testutil.MoreAsserts;
import com.google.devtools.build.lib.util.Preconditions;
@@ -636,6 +637,7 @@
skyframeExecutor.preparePackageLoading(
pkgLocator,
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
analysisMock.getDefaultsPackageContent(),
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
diff --git a/src/test/java/com/google/devtools/build/lib/pkgcache/PackageCacheTest.java b/src/test/java/com/google/devtools/build/lib/pkgcache/PackageCacheTest.java
index 26f8f1e..165db96 100644
--- a/src/test/java/com/google/devtools/build/lib/pkgcache/PackageCacheTest.java
+++ b/src/test/java/com/google/devtools/build/lib/pkgcache/PackageCacheTest.java
@@ -47,6 +47,7 @@
import com.google.devtools.build.lib.skyframe.SkyValueDirtinessChecker;
import com.google.devtools.build.lib.skyframe.SkyframeExecutor;
import com.google.devtools.build.lib.syntax.BuildFileAST;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.testutil.FoundationTestCase;
import com.google.devtools.build.lib.testutil.MoreAsserts;
import com.google.devtools.build.lib.util.BlazeClock;
@@ -97,10 +98,12 @@
analysisMock.getProductName(),
CrossRepositoryLabelViolationStrategy.ERROR,
ImmutableList.of(BuildFileName.BUILD_DOT_BAZEL, BuildFileName.BUILD));
- setUpSkyframe(parsePackageCacheOptions());
+ setUpSkyframe(parsePackageCacheOptions(), parseSkylarkSemanticsOptions());
}
- private void setUpSkyframe(PackageCacheOptions packageCacheOptions) {
+ private void setUpSkyframe(
+ PackageCacheOptions packageCacheOptions,
+ SkylarkSemanticsOptions skylarkSemanticsOptions) {
PathPackageLocator pkgLocator = PathPackageLocator.create(
null, packageCacheOptions.packagePath, reporter, rootDirectory, rootDirectory);
packageCacheOptions.showLoadingProgress = true;
@@ -108,6 +111,7 @@
skyframeExecutor.preparePackageLoading(
pkgLocator,
packageCacheOptions,
+ skylarkSemanticsOptions,
analysisMock.getDefaultsPackageContent(),
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
@@ -117,9 +121,10 @@
ImmutableSet.copyOf(packageCacheOptions.getDeletedPackages()));
}
- private PackageCacheOptions parsePackageCacheOptions(String... options) throws Exception {
- OptionsParser parser = OptionsParser.newOptionsParser(PackageCacheOptions.class);
- parser.parse(new String[] { "--default_visibility=public" });
+ private OptionsParser parse(String... options) throws Exception {
+ OptionsParser parser = OptionsParser.newOptionsParser(
+ PackageCacheOptions.class, SkylarkSemanticsOptions.class);
+ parser.parse("--default_visibility=public");
parser.parse(options);
InvocationPolicyEnforcer optionsPolicyEnforcer = analysisMock.getInvocationPolicyEnforcer();
@@ -129,11 +134,21 @@
throw new IllegalStateException(e);
}
- return parser.getOptions(PackageCacheOptions.class);
+ return parser;
+ }
+
+ private PackageCacheOptions parsePackageCacheOptions(String... options) throws Exception {
+ return parse(options).getOptions(PackageCacheOptions.class);
+ }
+
+ private SkylarkSemanticsOptions parseSkylarkSemanticsOptions(String... options) throws Exception {
+ return parse(options).getOptions(SkylarkSemanticsOptions.class);
}
protected void setOptions(String... options) throws Exception {
- setUpSkyframe(parsePackageCacheOptions(options));
+ setUpSkyframe(
+ parsePackageCacheOptions(options),
+ parseSkylarkSemanticsOptions(options));
}
private PackageManager getPackageManager() {
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java
index 2a00426..ebb609d 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/PackageFunctionTest.java
@@ -33,6 +33,7 @@
import com.google.devtools.build.lib.pkgcache.PackageCacheOptions;
import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
import com.google.devtools.build.lib.skyframe.util.SkyframeExecutorTestUtils;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.testutil.ManualClock;
import com.google.devtools.build.lib.util.BlazeClock;
import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor;
@@ -81,6 +82,7 @@
.preparePackageLoading(
new PathPackageLocator(outputBase, ImmutableList.copyOf(roots)),
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
"",
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
@@ -310,6 +312,7 @@
.preparePackageLoading(
new PathPackageLocator(outputBase, ImmutableList.<Path>of(rootDirectory)),
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
"",
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java
index 9e3dc1b..89566b1 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitorTest.java
@@ -27,6 +27,7 @@
import com.google.devtools.build.lib.packages.ConstantRuleVisibility;
import com.google.devtools.build.lib.pkgcache.PackageCacheOptions;
import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.util.BlazeClock;
import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor;
import com.google.devtools.build.lib.vfs.FileStatus;
@@ -407,6 +408,7 @@
.preparePackageLoading(
new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)),
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
loadingMock.getDefaultsPackageContent(),
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java
index 1c7b8e4..03d7c15 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkFileContentHashTests.java
@@ -26,6 +26,7 @@
import com.google.devtools.build.lib.pkgcache.PackageCacheOptions;
import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
import com.google.devtools.build.lib.skyframe.util.SkyframeExecutorTestUtils;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.util.BlazeClock;
import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor;
import com.google.devtools.build.skyframe.EvaluationResult;
@@ -165,6 +166,7 @@
.preparePackageLoading(
new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory)),
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
"",
UUID.randomUUID(),
ImmutableMap.<String, String>of(),
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java
index 449edef..a386a80 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/SkylarkImportLookupFunctionTest.java
@@ -26,6 +26,7 @@
import com.google.devtools.build.lib.pkgcache.PackageCacheOptions;
import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
import com.google.devtools.build.lib.skyframe.util.SkyframeExecutorTestUtils;
+import com.google.devtools.build.lib.syntax.SkylarkSemanticsOptions;
import com.google.devtools.build.lib.util.BlazeClock;
import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor;
import com.google.devtools.build.lib.vfs.Path;
@@ -56,6 +57,7 @@
.preparePackageLoading(
new PathPackageLocator(outputBase, ImmutableList.of(rootDirectory, alternativeRoot)),
packageCacheOptions,
+ Options.getDefaults(SkylarkSemanticsOptions.class),
"",
UUID.randomUUID(),
ImmutableMap.<String, String>of(),