aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Eric Fellheimer <felly@google.com>2015-11-25 22:41:38 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2015-11-26 13:19:12 +0000
commit9b814477350d9feca331126b40816ba4c17b4a10 (patch)
tree9884fb1f85b43d67b176771937524565c8a7a5cd /src/main/java
parent9ef5982ad71c5f92f84308bb50ed880f5913ea00 (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.java5
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()));
}