aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java
index 12b36a4a31..d665632beb 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/WorkspaceStatusFunction.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.skyframe;
+import com.google.common.base.Supplier;
import com.google.devtools.build.lib.analysis.WorkspaceStatusAction;
import com.google.devtools.build.lib.util.Preconditions;
import com.google.devtools.build.skyframe.SkyFunction;
@@ -21,7 +22,10 @@ import com.google.devtools.build.skyframe.SkyValue;
/** Creates the workspace status artifacts and action. */
public class WorkspaceStatusFunction implements SkyFunction {
- WorkspaceStatusFunction() {
+ private final Supplier<Boolean> removeActionAfterEvaluation;
+
+ WorkspaceStatusFunction(Supplier<Boolean> removeActionAfterEvaluation) {
+ this.removeActionAfterEvaluation = Preconditions.checkNotNull(removeActionAfterEvaluation);
}
@Override
@@ -37,7 +41,8 @@ public class WorkspaceStatusFunction implements SkyFunction {
return new WorkspaceStatusValue(
action.getStableStatus(),
action.getVolatileStatus(),
- action);
+ action,
+ removeActionAfterEvaluation.get());
}
@Override