diff options
Diffstat (limited to 'src/main')
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, |