aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google
diff options
context:
space:
mode:
authorGravatar nharmata <nharmata@google.com>2017-05-09 13:53:19 -0400
committerGravatar Kristina Chodorow <kchodorow@google.com>2017-05-10 13:35:26 -0400
commit8040b0b7690420be2f92071e635cd1d7f18a38e9 (patch)
tree65e69733d7f18757399bf2ce535dbf00eaf3643b /src/main/java/com/google
parent370b4846dc530c9cbb270e4fd15150ec164f7a74 (diff)
Introduce an EvaluationProgressReceiver implementation that does nothing.
This is useful for dealing with all the existing implementations in the face of interface changes that are irrelevant. RELNOTES: None PiperOrigin-RevId: 155525021
Diffstat (limited to 'src/main/java/com/google')
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildtool/ExecutionProgressReceiver.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java6
-rw-r--r--src/main/java/com/google/devtools/build/skyframe/EvaluationProgressReceiver.java24
4 files changed, 26 insertions, 22 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionProgressReceiver.java b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionProgressReceiver.java
index 24b1ba0a43..95fb469847 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionProgressReceiver.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionProgressReceiver.java
@@ -48,7 +48,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
* accurate set of successfully run actions and built artifacts, even if the build is interrupted.
*/
public final class ExecutionProgressReceiver
- implements EvaluationProgressReceiver, SkyframeActionExecutor.ProgressSupplier,
+ extends EvaluationProgressReceiver.NullEvaluationProgressReceiver
+ implements SkyframeActionExecutor.ProgressSupplier,
SkyframeActionExecutor.ActionCompletedReceiver {
private static final NumberFormat PROGRESS_MESSAGE_NUMBER_FORMATTER;
@@ -88,9 +89,6 @@ public final class ExecutionProgressReceiver
}
@Override
- public void invalidated(SkyKey skyKey, InvalidationState state) {}
-
- @Override
public void enqueueing(SkyKey skyKey) {
if (skyKey.functionName().equals(SkyFunctions.ACTION_EXECUTION)) {
ActionLookupData actionLookupData = (ActionLookupData) skyKey.argument();
@@ -115,9 +113,6 @@ public final class ExecutionProgressReceiver
}
@Override
- public void computed(SkyKey skyKey, long elapsedTimeNanos) {}
-
- @Override
public void evaluated(SkyKey skyKey, Supplier<SkyValue> skyValueSupplier, EvaluationState state) {
SkyFunctionName type = skyKey.functionName();
if (type.equals(SkyFunctions.TARGET_COMPLETION)) {
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
index 2ddbf975d1..14a96e5120 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
@@ -603,7 +603,8 @@ public final class SkyframeBuildView {
this.enableAnalysis = enable;
}
- private class ConfiguredTargetValueProgressReceiver implements EvaluationProgressReceiver {
+ private class ConfiguredTargetValueProgressReceiver
+ extends EvaluationProgressReceiver.NullEvaluationProgressReceiver {
@Override
public void invalidated(SkyKey skyKey, InvalidationState state) {
if (skyKey.functionName().equals(SkyFunctions.CONFIGURED_TARGET)) {
@@ -620,12 +621,6 @@ public final class SkyframeBuildView {
}
@Override
- public void enqueueing(SkyKey skyKey) {}
-
- @Override
- public void computed(SkyKey skyKey, long elapsedTimeNanos) {}
-
- @Override
public void evaluated(SkyKey skyKey, Supplier<SkyValue> skyValueSupplier,
EvaluationState state) {
if (skyKey.functionName().equals(SkyFunctions.CONFIGURED_TARGET)) {
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 d2dba4c96a..77d8394679 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
@@ -1950,7 +1950,8 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
/**
* A progress received to track analysis invalidation and update progress messages.
*/
- protected class SkyframeProgressReceiver implements EvaluationProgressReceiver {
+ protected class SkyframeProgressReceiver
+ extends EvaluationProgressReceiver.NullEvaluationProgressReceiver {
/**
* This flag is needed in order to avoid invalidating legacy data when we clear the
* analysis cache because of --discard_analysis_cache flag. For that case we want to keep
@@ -1981,9 +1982,6 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory {
}
@Override
- public void computed(SkyKey skyKey, long elapsedTimeNanos) {}
-
- @Override
public void evaluated(SkyKey skyKey, Supplier<SkyValue> valueSupplier, EvaluationState state) {
if (ignoreInvalidations) {
return;
diff --git a/src/main/java/com/google/devtools/build/skyframe/EvaluationProgressReceiver.java b/src/main/java/com/google/devtools/build/skyframe/EvaluationProgressReceiver.java
index 3d73ec17df..266abd288d 100644
--- a/src/main/java/com/google/devtools/build/skyframe/EvaluationProgressReceiver.java
+++ b/src/main/java/com/google/devtools/build/skyframe/EvaluationProgressReceiver.java
@@ -16,10 +16,7 @@ package com.google.devtools.build.skyframe;
import com.google.common.base.Supplier;
import com.google.devtools.build.lib.concurrent.ThreadSafety;
-/**
- * Receiver to inform callers which values have been invalidated. Values may be invalidated and then
- * re-validated if they have been found not to be changed.
- */
+/** Receiver for various stages of the lifetime of a skyframe node evaluation. */
@ThreadSafety.ThreadSafe
public interface EvaluationProgressReceiver {
/**
@@ -78,4 +75,23 @@ public interface EvaluationProgressReceiver {
* {@code valueSupplier.get()} evaluates to null.
*/
void evaluated(SkyKey skyKey, Supplier<SkyValue> valueSupplier, EvaluationState state);
+
+ /** An {@link EvaluationProgressReceiver} that does nothing. */
+ class NullEvaluationProgressReceiver implements EvaluationProgressReceiver {
+ @Override
+ public void invalidated(SkyKey skyKey, InvalidationState state) {
+ }
+
+ @Override
+ public void enqueueing(SkyKey skyKey) {
+ }
+
+ @Override
+ public void computed(SkyKey skyKey, long elapsedTimeNanos) {
+ }
+
+ @Override
+ public void evaluated(SkyKey skyKey, Supplier<SkyValue> valueSupplier, EvaluationState state) {
+ }
+ }
}