Replace Package.Builder.Helper with PackageSettings object
Use a boolean instead of inheritance to toggle the features Helper was enabling.
The bulk PackageSettings object is likely unnecessary - we could have threaded a
boolean along, but given how much wiring we had to do the renaming/repurposing
was far less tedious.
PiperOrigin-RevId: 320211700
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java
index 8fa17ca..421ab01 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Package.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java
@@ -38,6 +38,7 @@
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.events.ExtendedEventHandler.Postable;
import com.google.devtools.build.lib.packages.License.DistributionType;
+import com.google.devtools.build.lib.packages.Package.Builder.PackageSettings;
import com.google.devtools.build.lib.packages.RuleClass.Builder.ThirdPartyLicenseExistencePolicy;
import com.google.devtools.build.lib.skyframe.serialization.DeserializationContext;
import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
@@ -76,6 +77,8 @@
* strictly immutable, so until their types are guaranteed immutable we're not applying the
* {@code @Immutable} annotation here.
*
+ * <p>This class should not be extended - it's only non-final for mocking!
+ *
* <p>When changing this class, make sure to make corresponding changes to serialization!
*/
@SuppressWarnings("JavaLangClash")
@@ -94,6 +97,8 @@
*/
private final PackageIdentifier packageIdentifier;
+ private final boolean suggestNoSuchTargetCorrections;
+
/** The filename of this package's BUILD file. */
private RootedPath filename;
@@ -214,20 +219,20 @@
}
/**
- * Package initialization, part 1 of 3: instantiates a new package with the
- * given name.
+ * Package initialization, part 1 of 3: instantiates a new package with the given name.
*
- * <p>As part of initialization, {@link Builder} constructs {@link InputFile}
- * and {@link PackageGroup} instances that require a valid Package instance where
- * {@link Package#getNameFragment()} is accessible. That's why these settings are
- * applied here at the start.
+ * <p>As part of initialization, {@link Builder} constructs {@link InputFile} and {@link
+ * PackageGroup} instances that require a valid Package instance where {@link
+ * Package#getNameFragment()} is accessible. That's why these settings are applied here at the
+ * start.
*
- * @precondition {@code name} must be a suffix of
- * {@code filename.getParentDirectory())}.
+ * @precondition {@code name} must be a suffix of {@code filename.getParentDirectory())}.
*/
- protected Package(PackageIdentifier packageId, String runfilesPrefix) {
+ protected Package(
+ PackageIdentifier packageId, String runfilesPrefix, boolean suggestNoSuchTargetCorrections) {
this.packageIdentifier = packageId;
this.workspaceName = runfilesPrefix;
+ this.suggestNoSuchTargetCorrections = suggestNoSuchTargetCorrections;
}
/** Returns this packages' identifier. */
@@ -587,7 +592,9 @@
return target;
}
- // No such target.
+ if (!suggestNoSuchTargetCorrections) {
+ throw makeNoSuchTargetException(targetName, /*suffix=*/ "");
+ }
// If there's a file on the disk that's not mentioned in the BUILD file,
// produce a more informative error. NOTE! this code path is only executed
@@ -772,7 +779,7 @@
}
public static Builder newExternalPackageBuilder(
- Builder.Helper helper,
+ PackageSettings helper,
RootedPath workspacePath,
String runfilesPrefix,
StarlarkSemantics starlarkSemantics) {
@@ -794,24 +801,25 @@
public static final ImmutableMap<RepositoryName, RepositoryName> EMPTY_REPOSITORY_MAPPING =
ImmutableMap.of();
- public interface Helper {
+ /** Defines configuration to control the runtime behavior of {@link Package}s. */
+ public interface PackageSettings {
/**
- * Returns a fresh {@link Package} instance that a {@link Builder} will internally mutate
- * during package loading. Called by {@link PackageFactory}.
+ * Returns if {@link NoSuchTargetException}s thrown from {@link #getTarget} should attempt to
+ * suggest existing alternatives. The benefit is potentially improved error messaging, while
+ * the drawback is extra I/O and CPU work, which might not be desired in all environments.
*/
- Package createFreshPackage(PackageIdentifier packageId, String runfilesPrefix);
+ boolean suggestNoSuchTargetCorrections();
}
- /** {@link Helper} that simply calls the {@link Package} constructor. */
- public static class DefaultHelper implements Helper {
- public static final DefaultHelper INSTANCE = new DefaultHelper();
+ /** Default {@link PackageSettings}. */
+ public static class DefaultPackageSettings implements PackageSettings {
+ public static final DefaultPackageSettings INSTANCE = new DefaultPackageSettings();
- private DefaultHelper() {
- }
+ private DefaultPackageSettings() {}
@Override
- public Package createFreshPackage(PackageIdentifier packageId, String runfilesPrefix) {
- return new Package(packageId, runfilesPrefix);
+ public boolean suggestNoSuchTargetCorrections() {
+ return true;
}
}
@@ -915,12 +923,12 @@
private boolean alreadyBuilt = false;
Builder(
- Helper helper,
+ PackageSettings packageSettings,
PackageIdentifier id,
String runfilesPrefix,
boolean noImplicitFileExport,
ImmutableMap<RepositoryName, RepositoryName> repositoryMapping) {
- this.pkg = helper.createFreshPackage(id, runfilesPrefix);
+ this.pkg = new Package(id, runfilesPrefix, packageSettings.suggestNoSuchTargetCorrections());
this.noImplicitFileExport = noImplicitFileExport;
this.repositoryMapping = repositoryMapping;
if (pkg.getName().startsWith("javatests/")) {
diff --git a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
index 5a0fac6..0161fb2 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/PackageFactory.java
@@ -31,6 +31,7 @@
import com.google.devtools.build.lib.events.ExtendedEventHandler.Postable;
import com.google.devtools.build.lib.events.StoredEventHandler;
import com.google.devtools.build.lib.packages.Globber.BadGlobException;
+import com.google.devtools.build.lib.packages.Package.Builder.PackageSettings;
import com.google.devtools.build.lib.packages.PackageValidator.InvalidPackageException;
import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType;
import com.google.devtools.build.lib.packages.RuleFactory.BuildLangTypedAttributeValuesMap;
@@ -128,7 +129,7 @@
private final ImmutableMap<String, Object> nativeModuleBindingsForBuild;
private final ImmutableMap<String, Object> nativeModuleBindingsForWorkspace;
- private final Package.Builder.Helper packageBuilderHelper;
+ private final PackageSettings packageSettings;
private final PackageValidator packageValidator;
private final PackageLoadingListener packageLoadingListener;
@@ -160,8 +161,8 @@
}
@VisibleForTesting
- public Package.Builder.Helper getPackageBuilderHelperForTesting() {
- return packageBuilderHelper;
+ public PackageSettings getPackageSettingsForTesting() {
+ return packageSettings;
}
/**
@@ -180,7 +181,7 @@
RuleClassProvider ruleClassProvider,
Iterable<EnvironmentExtension> environmentExtensions,
String version,
- Package.Builder.Helper packageBuilderHelper,
+ PackageSettings packageSettings,
PackageValidator packageValidator,
PackageLoadingListener packageLoadingListener) {
this.ruleFactory = new RuleFactory(ruleClassProvider);
@@ -194,7 +195,7 @@
ruleFunctions, packageArguments, this.environmentExtensions);
this.nativeModuleBindingsForWorkspace =
createNativeModuleBindingsForWorkspace(ruleClassProvider, version);
- this.packageBuilderHelper = packageBuilderHelper;
+ this.packageSettings = packageSettings;
this.packageValidator = packageValidator;
this.packageLoadingListener = packageLoadingListener;
}
@@ -462,14 +463,14 @@
public Package.Builder newExternalPackageBuilder(
RootedPath workspacePath, String runfilesPrefix, StarlarkSemantics starlarkSemantics) {
return Package.newExternalPackageBuilder(
- packageBuilderHelper, workspacePath, runfilesPrefix, starlarkSemantics);
+ packageSettings, workspacePath, runfilesPrefix, starlarkSemantics);
}
@VisibleForTesting
public Package.Builder newPackageBuilder(
PackageIdentifier packageId, String runfilesPrefix, StarlarkSemantics starlarkSemantics) {
return new Package.Builder(
- packageBuilderHelper,
+ packageSettings,
packageId,
runfilesPrefix,
starlarkSemantics.incompatibleNoImplicitFileExport(),
@@ -723,7 +724,7 @@
throws InterruptedException {
Package.Builder pkgBuilder =
new Package.Builder(
- packageBuilderHelper,
+ packageSettings,
packageId,
ruleClassProvider.getRunfilesPrefix(),
semantics.incompatibleNoImplicitFileExport(),
diff --git a/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsModule.java b/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsModule.java
index f8a580b..2f95729 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsModule.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/metrics/PackageMetricsModule.java
@@ -18,7 +18,7 @@
import com.google.common.collect.ImmutableList;
import com.google.common.flogger.GoogleLogger;
import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
-import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.Package.Builder.PackageSettings;
import com.google.devtools.build.lib.packages.PackageLoadingListener;
import com.google.devtools.build.lib.packages.metrics.ExtremaPackageLoadingListener.PackageIdentifierAndLong;
import com.google.devtools.build.lib.packages.metrics.ExtremaPackageLoadingListener.TopPackages;
@@ -61,7 +61,7 @@
@Nullable
@Override
public PackageLoadingListener getPackageLoadingListener(
- Package.Builder.Helper packageBuilderHelper,
+ PackageSettings packageSettings,
ConfiguredRuleClassProvider ruleClassProvider,
FileSystem fs) {
return packageLoadingListener;
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java
index b489ef8..bb7eb77 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeModule.java
@@ -30,7 +30,7 @@
import com.google.devtools.build.lib.exec.ExecutorBuilder;
import com.google.devtools.build.lib.exec.ModuleActionContextRegistry;
import com.google.devtools.build.lib.exec.SpawnStrategyRegistry;
-import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.Package.Builder.PackageSettings;
import com.google.devtools.build.lib.packages.PackageLoadingListener;
import com.google.devtools.build.lib.packages.PackageValidator;
import com.google.devtools.build.lib.skyframe.PrecomputedValue;
@@ -394,14 +394,13 @@
}
/**
- * Returns a helper that the {@link com.google.devtools.build.lib.packages.PackageFactory} will
- * use during package loading, or null if the module does not provide any helper.
+ * Returns {@link PackageSettings} for creating packages.
*
* <p>Called once during server startup some time after {@link #serverInit}.
*
* <p>Note that only one helper per Bazel/Blaze runtime is allowed.
*/
- public Package.Builder.Helper getPackageBuilderHelper() {
+ public PackageSettings getPackageSettings() {
return null;
}
@@ -426,7 +425,7 @@
*/
@Nullable
public PackageLoadingListener getPackageLoadingListener(
- Package.Builder.Helper packageBuilderHelper,
+ PackageSettings packageSettings,
ConfiguredRuleClassProvider ruleClassProvider,
FileSystem fs) {
return null;
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
index 5835ba7..9a719aa 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
@@ -49,7 +49,8 @@
import com.google.devtools.build.lib.events.ExtendedEventHandler;
import com.google.devtools.build.lib.events.OutputFilter;
import com.google.devtools.build.lib.exec.BinTools;
-import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.Package.Builder.DefaultPackageSettings;
+import com.google.devtools.build.lib.packages.Package.Builder.PackageSettings;
import com.google.devtools.build.lib.packages.PackageFactory;
import com.google.devtools.build.lib.packages.PackageLoadingListener;
import com.google.devtools.build.lib.packages.PackageValidator;
@@ -1514,29 +1515,16 @@
ConfiguredRuleClassProvider ruleClassProvider = ruleClassBuilder.build();
- Package.Builder.Helper packageBuilderHelper = null;
- for (BlazeModule module : blazeModules) {
- Package.Builder.Helper candidateHelper = module.getPackageBuilderHelper();
- if (candidateHelper != null) {
- Preconditions.checkState(
- packageBuilderHelper == null,
- "more than one module defines a package builder helper");
- packageBuilderHelper = candidateHelper;
- }
- }
- if (packageBuilderHelper == null) {
- packageBuilderHelper = Package.Builder.DefaultHelper.INSTANCE;
- }
-
+ PackageSettings packageSettings = getPackageSettings(blazeModules);
PackageFactory packageFactory =
new PackageFactory(
ruleClassProvider,
serverBuilder.getEnvironmentExtensions(),
BlazeVersionInfo.instance().getVersion(),
- packageBuilderHelper,
+ packageSettings,
getPackageValidator(blazeModules),
getPackageLoadingListener(
- blazeModules, packageBuilderHelper, ruleClassProvider, fileSystem));
+ blazeModules, packageSettings, ruleClassProvider, fileSystem));
ProjectFile.Provider projectFileProvider = null;
for (BlazeModule module : blazeModules) {
@@ -1650,6 +1638,17 @@
return this;
}
+ private static PackageSettings getPackageSettings(List<BlazeModule> blazeModules) {
+ List<PackageSettings> packageSettingss =
+ blazeModules.stream()
+ .map(module -> module.getPackageSettings())
+ .filter(settings -> settings != null)
+ .collect(toImmutableList());
+ Preconditions.checkState(
+ packageSettingss.size() <= 1, "more than one module defines a PackageSettings");
+ return Iterables.getFirst(packageSettingss, DefaultPackageSettings.INSTANCE);
+ }
+
private static PackageValidator getPackageValidator(List<BlazeModule> blazeModules) {
List<PackageValidator> packageValidators =
blazeModules.stream()
@@ -1664,7 +1663,7 @@
private static PackageLoadingListener getPackageLoadingListener(
List<BlazeModule> blazeModules,
- Package.Builder.Helper packageBuilderHelper,
+ PackageSettings packageBuilderHelper,
ConfiguredRuleClassProvider ruleClassProvider,
FileSystem fs) {
ImmutableList<PackageLoadingListener> listeners =
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
index a538035..0253701 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java
@@ -117,6 +117,7 @@
import com.google.devtools.build.lib.packages.NoSuchTargetException;
import com.google.devtools.build.lib.packages.NoSuchThingException;
import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.Package.Builder.PackageSettings;
import com.google.devtools.build.lib.packages.PackageFactory;
import com.google.devtools.build.lib.packages.RuleClassProvider;
import com.google.devtools.build.lib.packages.RuleVisibility;
@@ -2630,8 +2631,8 @@
}
@VisibleForTesting
- public Package.Builder.Helper getPackageBuilderHelperForTesting() {
- return pkgFactory.getPackageBuilderHelperForTesting();
+ public PackageSettings getPackageSettingsForTesting() {
+ return pkgFactory.getPackageSettingsForTesting();
}
@VisibleForTesting
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java b/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java
index 554d671..f4a2c6f 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/packages/AbstractPackageLoader.java
@@ -36,6 +36,7 @@
import com.google.devtools.build.lib.packages.ConstantRuleVisibility;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.Package.Builder.DefaultPackageSettings;
import com.google.devtools.build.lib.packages.PackageFactory;
import com.google.devtools.build.lib.packages.PackageFactory.EnvironmentExtension;
import com.google.devtools.build.lib.packages.PackageLoadingListener;
@@ -277,7 +278,7 @@
ruleClassProvider,
getEnvironmentExtensions(),
"PackageLoader",
- Package.Builder.DefaultHelper.INSTANCE,
+ DefaultPackageSettings.INSTANCE,
PackageValidator.NOOP_VALIDATOR,
PackageLoadingListener.NOOP_LISTENER);
}
diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkRepositoryContextTest.java b/src/test/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkRepositoryContextTest.java
index 329d34b..1de6151 100644
--- a/src/test/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkRepositoryContextTest.java
+++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkRepositoryContextTest.java
@@ -29,6 +29,7 @@
import com.google.devtools.build.lib.events.ExtendedEventHandler;
import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.Package.Builder.DefaultPackageSettings;
import com.google.devtools.build.lib.packages.Rule;
import com.google.devtools.build.lib.packages.RuleClass;
import com.google.devtools.build.lib.packages.RuleClass.Builder.RuleClassType;
@@ -131,7 +132,7 @@
throws Exception {
Package.Builder packageBuilder =
Package.newExternalPackageBuilder(
- Package.Builder.DefaultHelper.INSTANCE,
+ DefaultPackageSettings.INSTANCE,
RootedPath.toRootedPath(root, workspaceFile),
"runfiles",
starlarkSemantics);
diff --git a/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTestHelper.java b/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTestHelper.java
index 2950a82..1ff7412 100644
--- a/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTestHelper.java
+++ b/src/test/java/com/google/devtools/build/lib/packages/WorkspaceFactoryTestHelper.java
@@ -20,6 +20,7 @@
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.StoredEventHandler;
+import com.google.devtools.build.lib.packages.Package.Builder.DefaultPackageSettings;
import com.google.devtools.build.lib.syntax.Mutability;
import com.google.devtools.build.lib.syntax.ParserInput;
import com.google.devtools.build.lib.syntax.StarlarkSemantics;
@@ -64,7 +65,7 @@
StoredEventHandler eventHandler = new StoredEventHandler();
builder =
Package.newExternalPackageBuilder(
- Package.Builder.DefaultHelper.INSTANCE,
+ DefaultPackageSettings.INSTANCE,
RootedPath.toRootedPath(root, workspaceFilePath),
"",
StarlarkSemantics.DEFAULT);
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 831caaa..024cf24 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
@@ -27,6 +27,7 @@
import com.google.devtools.build.lib.packages.LegacyGlobber;
import com.google.devtools.build.lib.packages.NoSuchPackageException;
import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.Package.Builder.DefaultPackageSettings;
import com.google.devtools.build.lib.packages.PackageFactory;
import com.google.devtools.build.lib.packages.PackageLoadingListener;
import com.google.devtools.build.lib.packages.PackageValidator;
@@ -66,7 +67,7 @@
ruleClassProvider,
/*environmentExtensions=*/ ImmutableList.of(),
"test",
- Package.Builder.DefaultHelper.INSTANCE,
+ DefaultPackageSettings.INSTANCE,
packageValidator,
PackageLoadingListener.NOOP_LISTENER);
}
diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalFunctionTest.java b/src/test/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalFunctionTest.java
index f050b4c..d1edec5 100644
--- a/src/test/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalFunctionTest.java
+++ b/src/test/java/com/google/devtools/build/lib/skyframe/TransitiveTraversalFunctionTest.java
@@ -23,6 +23,7 @@
import com.google.devtools.build.lib.packages.NoSuchPackageException;
import com.google.devtools.build.lib.packages.NoSuchTargetException;
import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.Package.Builder.DefaultPackageSettings;
import com.google.devtools.build.lib.skyframe.TransitiveBaseTraversalFunction.TargetAndErrorIfAnyImpl;
import com.google.devtools.build.lib.syntax.StarlarkSemantics;
import com.google.devtools.build.lib.util.GroupedList;
@@ -199,7 +200,7 @@
Path buildFile = scratch.file("" + packageId.getSourceRoot() + "/BUILD", lines);
Package.Builder externalPkg =
Package.newExternalPackageBuilder(
- Package.Builder.DefaultHelper.INSTANCE,
+ DefaultPackageSettings.INSTANCE,
RootedPath.toRootedPath(root, buildFile.getRelative("WORKSPACE")),
"TESTING",
StarlarkSemantics.DEFAULT);
diff --git a/src/test/java/com/google/devtools/build/lib/testutil/PackageFactoryBuilderFactoryForBazelUnitTests.java b/src/test/java/com/google/devtools/build/lib/testutil/PackageFactoryBuilderFactoryForBazelUnitTests.java
index 48bd859..ead15a4 100644
--- a/src/test/java/com/google/devtools/build/lib/testutil/PackageFactoryBuilderFactoryForBazelUnitTests.java
+++ b/src/test/java/com/google/devtools/build/lib/testutil/PackageFactoryBuilderFactoryForBazelUnitTests.java
@@ -16,7 +16,7 @@
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
import com.google.devtools.build.lib.packages.BuilderFactoryForTesting;
-import com.google.devtools.build.lib.packages.Package;
+import com.google.devtools.build.lib.packages.Package.Builder.DefaultPackageSettings;
import com.google.devtools.build.lib.packages.PackageFactory;
import com.google.devtools.build.lib.packages.PackageLoadingListener;
import com.google.devtools.build.lib.packages.RuleClassProvider;
@@ -54,7 +54,7 @@
ruleClassProvider,
environmentExtensions,
version,
- Package.Builder.DefaultHelper.INSTANCE,
+ DefaultPackageSettings.INSTANCE,
packageValidator,
doChecksForTesting
? new BazelPackageLoadingListenerForTesting(