diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
5 files changed, 16 insertions, 2 deletions
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 fdddbd9192..364f9957b3 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 @@ -58,6 +58,7 @@ import com.google.devtools.build.lib.util.Preconditions; import com.google.devtools.build.lib.util.ResourceUsage; import com.google.devtools.build.lib.util.io.TimestampGranularityMonitor; import com.google.devtools.build.lib.vfs.BatchStat; +import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.ModifiedFileSet; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.PathFragment; @@ -120,6 +121,7 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor { private SequencedSkyframeExecutor( EvaluatorSupplier evaluatorSupplier, PackageFactory pkgFactory, + FileSystem fileSystem, BlazeDirectories directories, Factory workspaceStatusActionFactory, ImmutableList<BuildInfoFactory> buildInfoFactories, @@ -134,6 +136,7 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor { super( evaluatorSupplier, pkgFactory, + fileSystem, directories, workspaceStatusActionFactory, buildInfoFactories, @@ -150,6 +153,7 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor { public static SequencedSkyframeExecutor create( PackageFactory pkgFactory, + FileSystem fileSystem, BlazeDirectories directories, Factory workspaceStatusActionFactory, ImmutableList<BuildInfoFactory> buildInfoFactories, @@ -165,6 +169,7 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor { new SequencedSkyframeExecutor( InMemoryMemoizingEvaluator.SUPPLIER, pkgFactory, + fileSystem, directories, workspaceStatusActionFactory, buildInfoFactories, 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 fe1706d3bf..0b645fb34b 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 @@ -20,6 +20,7 @@ import com.google.devtools.build.lib.analysis.BlazeDirectories; import com.google.devtools.build.lib.analysis.WorkspaceStatusAction.Factory; import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory; import com.google.devtools.build.lib.packages.PackageFactory; +import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyFunctionName; @@ -32,6 +33,7 @@ public class SequencedSkyframeExecutorFactory implements SkyframeExecutorFactory @Override public SkyframeExecutor create( PackageFactory pkgFactory, + FileSystem fileSystem, BlazeDirectories directories, Factory workspaceStatusActionFactory, ImmutableList<BuildInfoFactory> buildInfoFactories, @@ -41,6 +43,7 @@ public class SequencedSkyframeExecutorFactory implements SkyframeExecutorFactory Iterable<SkyValueDirtinessChecker> customDirtinessCheckers) { return SequencedSkyframeExecutor.create( pkgFactory, + fileSystem, directories, workspaceStatusActionFactory, buildInfoFactories, diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java index 9b0f1a5dda..622f1c3c4a 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java @@ -781,7 +781,7 @@ public final class SkyframeActionExecutor implements ActionExecutionContextFacto // Delete the outputs before executing the action, just to ensure that // the action really does produce the outputs. try { - action.prepare(context.getExecRoot()); + action.prepare(context.getFileSystem(), context.getExecRoot()); createOutputDirectories(action); } catch (IOException e) { reportError("failed to delete output files before executing action", e, action, null); 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 089fc65fdb..7145a1d23c 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 @@ -184,6 +184,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { new MemoizingEvaluator.EmittedEventState(); private final PackageFactory pkgFactory; private final WorkspaceStatusAction.Factory workspaceStatusActionFactory; + private final FileSystem fileSystem; private final BlazeDirectories directories; protected final ExternalFilesHelper externalFilesHelper; @Nullable protected OutputService outputService; @@ -290,6 +291,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { protected SkyframeExecutor( EvaluatorSupplier evaluatorSupplier, PackageFactory pkgFactory, + FileSystem fileSystem, BlazeDirectories directories, Factory workspaceStatusActionFactory, ImmutableList<BuildInfoFactory> buildInfoFactories, @@ -311,6 +313,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { syscalls, cyclesReporter, pkgLocator, numPackagesLoaded, this); this.resourceManager = ResourceManager.instance(); this.skyframeActionExecutor = new SkyframeActionExecutor(eventBus, statusReporterRef); + this.fileSystem = fileSystem; this.directories = Preconditions.checkNotNull(directories); ImmutableMap.Builder<BuildInfoKey, BuildInfoFactory> factoryMapBuilder = ImmutableMap.builder(); for (BuildInfoFactory factory : buildInfoFactories) { @@ -1840,7 +1843,7 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { @VisibleForTesting public FileSystem getFileSystemForTesting() { - return directories.getFileSystem(); + return fileSystem; } @VisibleForTesting 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 cce86103ca..246c6831bd 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,6 +21,7 @@ import com.google.devtools.build.lib.analysis.WorkspaceStatusAction.Factory; import com.google.devtools.build.lib.analysis.buildinfo.BuildInfoFactory; import com.google.devtools.build.lib.packages.PackageFactory; import com.google.devtools.build.lib.util.AbruptExitException; +import com.google.devtools.build.lib.vfs.FileSystem; import com.google.devtools.build.lib.vfs.PathFragment; import com.google.devtools.build.skyframe.SkyFunction; import com.google.devtools.build.skyframe.SkyFunctionName; @@ -35,6 +36,7 @@ public interface SkyframeExecutorFactory { * * @param tsgm timestamp granularity monitor * @param pkgFactory the package factory + * @param fileSystem the Blaze file system * @param directories Blaze directories * @param workspaceStatusActionFactory a factory for creating WorkspaceStatusAction objects * @param buildInfoFactories list of BuildInfoFactories @@ -47,6 +49,7 @@ public interface SkyframeExecutorFactory { */ SkyframeExecutor create( PackageFactory pkgFactory, + FileSystem fileSystem, BlazeDirectories directories, Factory workspaceStatusActionFactory, ImmutableList<BuildInfoFactory> buildInfoFactories, |