diff options
author | Eric Fellheimer <felly@google.com> | 2015-11-25 22:41:38 +0000 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2015-11-26 13:19:12 +0000 |
commit | 9b814477350d9feca331126b40816ba4c17b4a10 (patch) | |
tree | 9884fb1f85b43d67b176771937524565c8a7a5cd /src/main/java | |
parent | 9ef5982ad71c5f92f84308bb50ed880f5913ea00 (diff) |
Correctly propagagate "catastrophic" failure modes in keep_going mode.
--
MOS_MIGRATED_REVID=108740689
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java b/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java index 8bd0da31a4..bb06d3d0ac 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java @@ -234,12 +234,13 @@ public class SkyframeBuilder implements Builder { skyframeExecutor.reportCycles(eventHandler, cycles, entry.getKey()); hasCycles |= !Iterables.isEmpty(cycles); } - if (keepGoing && !resultHasCatastrophicError(result)) { + boolean hasCatastrophe = resultHasCatastrophicError(result); + if (keepGoing && !hasCatastrophe) { return false; } if (hasCycles || result.errorMap().isEmpty()) { // error map may be empty in the case of a catastrophe. - throw new BuildFailedException(); + throw new BuildFailedException(null, hasCatastrophe); } else { rethrow(Preconditions.checkNotNull(result.getError().getException())); } |