diff options
Diffstat (limited to 'src/main/java')
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) { + } + } } |