diff options
author | 2018-08-03 14:12:01 -0700 | |
---|---|---|
committer | 2018-08-03 14:13:24 -0700 | |
commit | 1225e4ad5dff72b63953639b4c4c4281f8b46ea5 (patch) | |
tree | 2908957ca6294e2acdab1ba4da48923e61b5d5bd /src/main/java/com/google/devtools/build/skyframe | |
parent | 395d48bd10fe5259e1f680d9852b7f53dc216e3d (diff) |
When no new configured targets have been analyzed, only check for artifact conflicts if the current set of configured targets is not a subset of the largest set of configured targets that have been checked for conflicts.
Also rework the flow between SkyframeBuildView and SkyframeActionExecutor to remove the SkyframeExecutor middleman.
Also reword the error message in case of an ArtifactPrefixConflictException, since a clean should no longer be necessary.
PiperOrigin-RevId: 207322139
Diffstat (limited to 'src/main/java/com/google/devtools/build/skyframe')
3 files changed, 7 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/skyframe/InMemoryMemoizingEvaluator.java b/src/main/java/com/google/devtools/build/skyframe/InMemoryMemoizingEvaluator.java index b5c06b7bfb..e8f9a91648 100644 --- a/src/main/java/com/google/devtools/build/skyframe/InMemoryMemoizingEvaluator.java +++ b/src/main/java/com/google/devtools/build/skyframe/InMemoryMemoizingEvaluator.java @@ -299,7 +299,7 @@ public final class InMemoryMemoizingEvaluator implements MemoizingEvaluator { @Override @Nullable public SkyValue getExistingValue(SkyKey key) { - NodeEntry entry = getExistingEntryForTesting(key); + NodeEntry entry = getExistingEntryAtLatestVersion(key); try { return isDone(entry) ? entry.getValue() : null; } catch (InterruptedException e) { @@ -309,7 +309,7 @@ public final class InMemoryMemoizingEvaluator implements MemoizingEvaluator { @Override @Nullable public ErrorInfo getExistingErrorForTesting(SkyKey key) { - NodeEntry entry = getExistingEntryForTesting(key); + NodeEntry entry = getExistingEntryAtLatestVersion(key); try { return isDone(entry) ? entry.getErrorInfo() : null; } catch (InterruptedException e) { @@ -319,7 +319,7 @@ public final class InMemoryMemoizingEvaluator implements MemoizingEvaluator { @Nullable @Override - public NodeEntry getExistingEntryForTesting(SkyKey key) { + public NodeEntry getExistingEntryAtLatestVersion(SkyKey key) { return graph.get(null, Reason.OTHER, key); } diff --git a/src/main/java/com/google/devtools/build/skyframe/MemoizingEvaluator.java b/src/main/java/com/google/devtools/build/skyframe/MemoizingEvaluator.java index adff0d0589..cc0332af6f 100644 --- a/src/main/java/com/google/devtools/build/skyframe/MemoizingEvaluator.java +++ b/src/main/java/com/google/devtools/build/skyframe/MemoizingEvaluator.java @@ -123,6 +123,9 @@ public interface MemoizingEvaluator { @Nullable SkyValue getExistingValue(SkyKey key) throws InterruptedException; + @Nullable + NodeEntry getExistingEntryAtLatestVersion(SkyKey key) throws InterruptedException; + /** * Returns an error if and only if an earlier call to {@link #evaluate} created it; null * otherwise. @@ -134,9 +137,6 @@ public interface MemoizingEvaluator { @Nullable ErrorInfo getExistingErrorForTesting(SkyKey key) throws InterruptedException; - @Nullable - NodeEntry getExistingEntryForTesting(SkyKey key) throws InterruptedException; - /** * Tests that want finer control over the graph being used may provide a {@code transformer} here. * This {@code transformer} will be applied to the graph for each invalidation/evaluation. diff --git a/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java b/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java index 51724cdc05..9a4ad9e168 100644 --- a/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java +++ b/src/main/java/com/google/devtools/build/skyframe/SequentialBuildDriver.java @@ -67,6 +67,6 @@ public class SequentialBuildDriver implements BuildDriver { @Nullable @Override public NodeEntry getEntryForTesting(SkyKey key) throws InterruptedException { - return memoizingEvaluator.getExistingEntryForTesting(key); + return memoizingEvaluator.getExistingEntryAtLatestVersion(key); } } |