diff options
author | felly <felly@google.com> | 2018-05-15 10:57:33 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-05-15 10:59:22 -0700 |
commit | ac7d5f6a2aeff868165490c97d4600a88dd3cf4f (patch) | |
tree | 8811f7681e00f29ea97c35cd3daf9470fae57c18 /src/main/java/com/google/devtools/build/lib/skyframe | |
parent | e78867461c594d9afcaae0dd115b86e2d63a29ac (diff) |
Move --track_incremental_state and --keep_state_after_build to CommonCommandOptions to better facilitate certain kinds of benchmarking.
PiperOrigin-RevId: 196695342
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/SequencedSkyframeExecutor.java | 23 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java | 5 |
2 files changed, 10 insertions, 18 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 aaeed3f73f..0b371780ca 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 @@ -31,13 +31,11 @@ import com.google.devtools.build.lib.actions.ArtifactRoot; import com.google.devtools.build.lib.actions.CommandLineExpansionException; import com.google.devtools.build.lib.analysis.AnalysisProtos.ActionGraphContainer; import com.google.devtools.build.lib.analysis.BlazeDirectories; -import com.google.devtools.build.lib.analysis.BuildView; import com.google.devtools.build.lib.analysis.ConfiguredTarget; 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.BuildOptions; import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget; -import com.google.devtools.build.lib.buildtool.BuildRequestOptions; import com.google.devtools.build.lib.cmdline.PackageIdentifier; import com.google.devtools.build.lib.concurrent.Uninterruptibles; import com.google.devtools.build.lib.events.Event; @@ -90,7 +88,6 @@ import com.google.devtools.build.skyframe.SkyFunctionName; import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; import com.google.devtools.common.options.OptionsClassProvider; -import com.google.devtools.common.options.OptionsProvider; import java.io.PrintStream; import java.util.ArrayList; import java.util.Collection; @@ -579,22 +576,19 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor { */ @Override public void decideKeepIncrementalState( - boolean batch, OptionsProvider options, EventHandler eventHandler) { + boolean batch, boolean keepStateAfterBuild, boolean shouldTrackIncrementalState, + boolean discardAnalysisCache, boolean discardActionsAfterExecution, + EventHandler eventHandler) { Preconditions.checkState(!active); - BuildView.Options viewOptions = options.getOptions(BuildView.Options.class); - BuildRequestOptions requestOptions = options.getOptions(BuildRequestOptions.class); boolean oldValueOfTrackIncrementalState = trackIncrementalState; // First check if the incrementality state should be kept around during the build. - boolean explicitlyRequestedNoIncrementalData = - requestOptions != null && !requestOptions.trackIncrementalState; - boolean implicitlyRequestedNoIncrementalData = - batch && viewOptions != null && viewOptions.discardAnalysisCache; + boolean explicitlyRequestedNoIncrementalData = !shouldTrackIncrementalState; + boolean implicitlyRequestedNoIncrementalData = (batch && discardAnalysisCache); trackIncrementalState = !explicitlyRequestedNoIncrementalData && !implicitlyRequestedNoIncrementalData; - boolean keepStateAfterBuild = requestOptions != null && requestOptions.keepStateAfterBuild; if (explicitlyRequestedNoIncrementalData != implicitlyRequestedNoIncrementalData) { - if (requestOptions != null && !explicitlyRequestedNoIncrementalData) { + if (!explicitlyRequestedNoIncrementalData) { eventHandler.handle( Event.warn( "--batch and --discard_analysis_cache specified, but --notrack_incremental_state " @@ -612,10 +606,7 @@ public final class SequencedSkyframeExecutor extends SkyframeExecutor { } } - removeActionsAfterEvaluation.set( - !trackIncrementalState - && requestOptions != null - && requestOptions.discardActionsAfterExecution); + removeActionsAfterEvaluation.set(!trackIncrementalState && discardActionsAfterExecution); // Now check if it is necessary to wipe the previous state. We do this if either the previous // or current incrementalStateRetentionStrategy requires the build to have been isolated. if (oldValueOfTrackIncrementalState != trackIncrementalState) { 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 47f51a0e60..d21b239197 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 @@ -161,7 +161,6 @@ import com.google.devtools.build.skyframe.SkyKey; import com.google.devtools.build.skyframe.SkyValue; import com.google.devtools.build.skyframe.WalkableGraph.WalkableGraphFactory; import com.google.devtools.common.options.OptionsClassProvider; -import com.google.devtools.common.options.OptionsProvider; import java.io.PrintStream; import java.util.ArrayList; import java.util.Collection; @@ -757,7 +756,9 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { * longer. */ public void decideKeepIncrementalState( - boolean batch, OptionsProvider viewOptions, EventHandler eventHandler) { + boolean batch, boolean keepStateAfterBuild, boolean trackIncrementalState, + boolean discardAnalysisCache, boolean discardActionsAfterExecution, + EventHandler eventHandler) { // Assume incrementality. } |