aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib')
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Preprocessor.java26
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/WorkspaceBuilder.java25
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java17
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutorFactory.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java18
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutorFactory.java3
6 files changed, 6 insertions, 86 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Preprocessor.java b/src/main/java/com/google/devtools/build/lib/packages/Preprocessor.java
index e01e7a4a7b..d8fe5a4a12 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Preprocessor.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Preprocessor.java
@@ -28,32 +28,6 @@ import javax.annotation.Nullable;
public interface Preprocessor {
/** Factory for {@link Preprocessor} instances. */
interface Factory {
- /** Supplier for {@link Factory} instances. */
- interface Supplier {
- /**
- * Returns a Preprocessor factory to use for getting Preprocessor instances.
- *
- * @param loc a package locator for preprocessors to look up other BUILD files
- * @param outputBase allows non-hermetic access to the file system and output base; use with
- * extreme caution
- */
- Factory getFactory(CachingPackageLocator loc, Path outputBase);
-
- /** Supplier that always returns {@code NullFactory.INSTANCE}. */
- static class NullSupplier implements Supplier {
-
- public static final NullSupplier INSTANCE = new NullSupplier();
-
- private NullSupplier() {
- }
-
- @Override
- public Factory getFactory(CachingPackageLocator loc, Path outputBase) {
- return NullFactory.INSTANCE;
- }
- }
- }
-
/**
* Returns whether this {@link Factory} is still suitable for providing {@link Preprocessor}s.
* If not, all previous preprocessing results should be assumed to be invalid and a new
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/WorkspaceBuilder.java b/src/main/java/com/google/devtools/build/lib/runtime/WorkspaceBuilder.java
index 241d5690a1..8930fa169a 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/WorkspaceBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/WorkspaceBuilder.java
@@ -23,7 +23,6 @@ import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
import com.google.devtools.build.lib.analysis.WorkspaceStatusAction;
import com.google.devtools.build.lib.analysis.config.BinTools;
import com.google.devtools.build.lib.packages.PackageFactory;
-import com.google.devtools.build.lib.packages.Preprocessor;
import com.google.devtools.build.lib.skyframe.DiffAwareness;
import com.google.devtools.build.lib.skyframe.PrecomputedValue;
import com.google.devtools.build.lib.skyframe.PrecomputedValue.Injected;
@@ -51,7 +50,6 @@ public final class WorkspaceBuilder {
private final ImmutableList.Builder<DiffAwareness.Factory> diffAwarenessFactories =
ImmutableList.builder();
private Predicate<PathFragment> allowedMissingInputs;
- private Preprocessor.Factory.Supplier preprocessorFactorySupplier;
// We use an immutable map builder for the nice side effect that it throws if a duplicate key
// is inserted.
private final ImmutableMap.Builder<SkyFunctionName, SkyFunction> skyFunctions =
@@ -79,9 +77,6 @@ public final class WorkspaceBuilder {
if (allowedMissingInputs == null) {
allowedMissingInputs = Predicates.alwaysFalse();
}
- if (preprocessorFactorySupplier == null) {
- preprocessorFactorySupplier = Preprocessor.Factory.Supplier.NullSupplier.INSTANCE;
- }
SkyframeExecutor skyframeExecutor = skyframeExecutorFactory.create(
packageFactory,
@@ -91,7 +86,6 @@ public final class WorkspaceBuilder {
ruleClassProvider.getBuildInfoFactories(),
diffAwarenessFactories.build(),
allowedMissingInputs,
- preprocessorFactorySupplier,
skyFunctions.build(),
precomputedValues.build(),
customDirtinessCheckers.build(),
@@ -150,23 +144,6 @@ public final class WorkspaceBuilder {
return this;
}
- /**
- * Sets a supplier that provides factories for the Preprocessor to apply. Only one factory per
- * workspace is allowed.
- *
- * <p>The factory yielded by the supplier will be checked with
- * {@link Preprocessor.Factory#isStillValid} at the beginning of each incremental build. This
- * allows modules to have preprocessors customizable by flags.
- */
- public WorkspaceBuilder setPreprocessorFactorySupplier(
- Preprocessor.Factory.Supplier preprocessorFactorySupplier) {
- Preconditions.checkState(this.preprocessorFactorySupplier == null,
- "At most one module defines a preprocessor factory supplier. But found two: %s and %s",
- this.preprocessorFactorySupplier, preprocessorFactorySupplier);
- this.preprocessorFactorySupplier = Preconditions.checkNotNull(preprocessorFactorySupplier);
- return this;
- }
-
/** Add an "extra" SkyFunction for SkyValues. */
public WorkspaceBuilder addSkyFunction(SkyFunctionName name, SkyFunction skyFunction) {
Preconditions.checkNotNull(name);
@@ -207,4 +184,4 @@ public final class WorkspaceBuilder {
this.customDirtinessCheckers.add(Preconditions.checkNotNull(customDirtinessChecker));
return this;
}
-} \ No newline at end of file
+}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
index e6b18384e7..7255bc1746 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java
@@ -37,7 +37,6 @@ import com.google.devtools.build.lib.concurrent.Uninterruptibles;
import com.google.devtools.build.lib.events.ExtendedEventHandler;
import com.google.devtools.build.lib.packages.Package;
import com.google.devtools.build.lib.packages.PackageFactory;
-import com.google.devtools.build.lib.packages.Preprocessor;
import com.google.devtools.build.lib.pkgcache.PackageCacheOptions;
import com.google.devtools.build.lib.pkgcache.PathPackageLocator;
import com.google.devtools.build.lib.profiler.AutoProfiler;
@@ -119,7 +118,6 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor {
ImmutableList<BuildInfoFactory> buildInfoFactories,
Iterable<? extends DiffAwareness.Factory> diffAwarenessFactories,
Predicate<PathFragment> allowedMissingInputs,
- Preprocessor.Factory.Supplier preprocessorFactorySupplier,
ImmutableMap<SkyFunctionName, SkyFunction> extraSkyFunctions,
ImmutableList<PrecomputedValue.Injected> extraPrecomputedValues,
Iterable<SkyValueDirtinessChecker> customDirtinessCheckers,
@@ -135,7 +133,6 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor {
workspaceStatusActionFactory,
buildInfoFactories,
allowedMissingInputs,
- preprocessorFactorySupplier,
extraSkyFunctions,
extraPrecomputedValues,
ExternalFileAction.DEPEND_ON_EXTERNAL_PKG_FOR_EXTERNAL_REPO_PATHS,
@@ -155,7 +152,6 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor {
ImmutableList<BuildInfoFactory> buildInfoFactories,
Iterable<? extends DiffAwareness.Factory> diffAwarenessFactories,
Predicate<PathFragment> allowedMissingInputs,
- Preprocessor.Factory.Supplier preprocessorFactorySupplier,
ImmutableMap<SkyFunctionName, SkyFunction> extraSkyFunctions,
ImmutableList<PrecomputedValue.Injected> extraPrecomputedValues,
Iterable<SkyValueDirtinessChecker> customDirtinessCheckers,
@@ -170,7 +166,6 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor {
buildInfoFactories,
diffAwarenessFactories,
allowedMissingInputs,
- preprocessorFactorySupplier,
extraSkyFunctions,
extraPrecomputedValues,
customDirtinessCheckers,
@@ -188,7 +183,6 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor {
ImmutableList<BuildInfoFactory> buildInfoFactories,
Iterable<? extends DiffAwareness.Factory> diffAwarenessFactories,
Predicate<PathFragment> allowedMissingInputs,
- Preprocessor.Factory.Supplier preprocessorFactorySupplier,
ImmutableMap<SkyFunctionName, SkyFunction> extraSkyFunctions,
ImmutableList<PrecomputedValue.Injected> extraPrecomputedValues,
Iterable<SkyValueDirtinessChecker> customDirtinessCheckers,
@@ -206,7 +200,6 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor {
buildInfoFactories,
diffAwarenessFactories,
allowedMissingInputs,
- preprocessorFactorySupplier,
extraSkyFunctions,
extraPrecomputedValues,
customDirtinessCheckers,
@@ -219,14 +212,15 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor {
}
@VisibleForTesting
- public static SequencedSkyframeExecutor create(PackageFactory pkgFactory,
- BlazeDirectories directories, BinTools binTools,
+ public static SequencedSkyframeExecutor create(
+ PackageFactory pkgFactory,
+ BlazeDirectories directories,
+ BinTools binTools,
WorkspaceStatusAction.Factory workspaceStatusActionFactory,
ImmutableList<BuildInfoFactory> buildInfoFactories,
Iterable<? extends DiffAwareness.Factory> diffAwarenessFactories,
PathFragment blacklistedPackagePrefixesFile,
- String productName,
- Preprocessor.Factory.Supplier preprocessorFactorySupplier) {
+ String productName) {
return create(
pkgFactory,
directories,
@@ -235,7 +229,6 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor {
buildInfoFactories,
diffAwarenessFactories,
Predicates.<PathFragment>alwaysFalse(),
- preprocessorFactorySupplier,
ImmutableMap.<SkyFunctionName, SkyFunction>of(),
ImmutableList.<PrecomputedValue.Injected>of(),
ImmutableList.<SkyValueDirtinessChecker>of(),
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutorFactory.java b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutorFactory.java
index 4c92f23612..b82f740dc3 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutorFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutorFactory.java
@@ -21,7 +21,6 @@ import com.google.devtools.build.lib.analysis.WorkspaceStatusAction.Factory;
import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory;
import com.google.devtools.build.lib.analysis.config.BinTools;
import com.google.devtools.build.lib.packages.PackageFactory;
-import com.google.devtools.build.lib.packages.Preprocessor;
import com.google.devtools.build.lib.skyframe.PackageLookupFunction.CrossRepositoryLabelViolationStrategy;
import com.google.devtools.build.lib.skyframe.PackageLookupValue.BuildFileName;
import com.google.devtools.build.lib.vfs.PathFragment;
@@ -42,7 +41,6 @@ public class SequencedSkyframeExecutorFactory implements SkyframeExecutorFactory
ImmutableList<BuildInfoFactory> buildInfoFactories,
Iterable<? extends DiffAwareness.Factory> diffAwarenessFactories,
Predicate<PathFragment> allowedMissingInputs,
- Preprocessor.Factory.Supplier preprocessorFactorySupplier,
ImmutableMap<SkyFunctionName, SkyFunction> extraSkyFunctions,
ImmutableList<PrecomputedValue.Injected> extraPrecomputedValues,
Iterable<SkyValueDirtinessChecker> customDirtinessCheckers,
@@ -55,7 +53,6 @@ public class SequencedSkyframeExecutorFactory implements SkyframeExecutorFactory
buildInfoFactories,
diffAwarenessFactories,
allowedMissingInputs,
- preprocessorFactorySupplier,
extraSkyFunctions,
extraPrecomputedValues,
customDirtinessCheckers,
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 182a14a215..f572c26e27 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
@@ -90,7 +90,6 @@ 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;
import com.google.devtools.build.lib.packages.PackageFactory;
-import com.google.devtools.build.lib.packages.Preprocessor;
import com.google.devtools.build.lib.packages.Preprocessor.AstAfterPreprocessing;
import com.google.devtools.build.lib.packages.RuleClassProvider;
import com.google.devtools.build.lib.packages.RuleVisibility;
@@ -244,9 +243,6 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
protected boolean active = true;
private final SkyframePackageManager packageManager;
- private final Preprocessor.Factory.Supplier preprocessorFactorySupplier;
- private Preprocessor.Factory preprocessorFactory;
-
private final ResourceManager resourceManager;
/** Used to lock evaluator on legacy calls to get existing values. */
@@ -301,7 +297,6 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
Factory workspaceStatusActionFactory,
ImmutableList<BuildInfoFactory> buildInfoFactories,
Predicate<PathFragment> allowedMissingInputs,
- Preprocessor.Factory.Supplier preprocessorFactorySupplier,
ImmutableMap<SkyFunctionName, SkyFunction> extraSkyFunctions,
ImmutableList<PrecomputedValue.Injected> extraPrecomputedValues,
ExternalFileAction externalFileAction,
@@ -323,7 +318,6 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
this.directories = Preconditions.checkNotNull(directories);
this.buildInfoFactories = buildInfoFactories;
this.allowedMissingInputs = allowedMissingInputs;
- this.preprocessorFactorySupplier = preprocessorFactorySupplier;
this.extraSkyFunctions = extraSkyFunctions;
this.extraPrecomputedValues = extraPrecomputedValues;
this.externalFileAction = externalFileAction;
@@ -982,7 +976,6 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
this.pkgFactory.setGlobbingThreads(packageCacheOptions.globbingThreads);
this.pkgFactory.setMaxDirectoriesToEagerlyVisitInGlobbing(
packageCacheOptions.maxDirectoriesToEagerlyVisitInGlobbing);
- checkPreprocessorFactory();
emittedEventState.clear();
// If the PackageFunction was interrupted, there may be stale entries here.
@@ -1012,17 +1005,6 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
protected abstract void onNewPackageLocator(PathPackageLocator oldLocator,
PathPackageLocator pkgLocator);
- private void checkPreprocessorFactory() {
- if (preprocessorFactory == null) {
- preprocessorFactory =
- preprocessorFactorySupplier.getFactory(packageManager, directories.getOutputBase());
- } else if (!preprocessorFactory.isStillValid()) {
- preprocessorFactory =
- preprocessorFactorySupplier.getFactory(packageManager, directories.getOutputBase());
- invalidate(SkyFunctionName.functionIs(SkyFunctions.PACKAGE));
- }
- }
-
public SkyframeBuildView getSkyframeBuildView() {
return skyframeBuildView;
}
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutorFactory.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutorFactory.java
index 9a92aea216..98f1e9d651 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutorFactory.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutorFactory.java
@@ -21,7 +21,6 @@ import com.google.devtools.build.lib.analysis.WorkspaceStatusAction.Factory;
import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory;
import com.google.devtools.build.lib.analysis.config.BinTools;
import com.google.devtools.build.lib.packages.PackageFactory;
-import com.google.devtools.build.lib.packages.Preprocessor;
import com.google.devtools.build.lib.util.AbruptExitException;
import com.google.devtools.build.lib.vfs.PathFragment;
import com.google.devtools.build.skyframe.SkyFunction;
@@ -43,7 +42,6 @@ public interface SkyframeExecutorFactory {
* @param buildInfoFactories list of BuildInfoFactories
* @param diffAwarenessFactories
* @param allowedMissingInputs
- * @param preprocessorFactorySupplier
* @param extraSkyFunctions
* @param extraPrecomputedValues
* @param customDirtinessCheckers
@@ -59,7 +57,6 @@ public interface SkyframeExecutorFactory {
ImmutableList<BuildInfoFactory> buildInfoFactories,
Iterable<? extends DiffAwareness.Factory> diffAwarenessFactories,
Predicate<PathFragment> allowedMissingInputs,
- Preprocessor.Factory.Supplier preprocessorFactorySupplier,
ImmutableMap<SkyFunctionName, SkyFunction> extraSkyFunctions,
ImmutableList<PrecomputedValue.Injected> extraPrecomputedValues,
Iterable<SkyValueDirtinessChecker> customDirtinessCheckers,