diff options
author | Klaus Aehlig <aehlig@google.com> | 2018-07-05 04:20:21 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-07-05 04:21:46 -0700 |
commit | 55d0c1c649d3117f59e3d5d7b79de12d6b090381 (patch) | |
tree | 6019c4d71184fbd47e3cab7dbfe9fd16dd618217 /src/main/java/com/google/devtools/build/lib/bazel | |
parent | f9216cea0356b236d8f5c1c65e277aa417134f82 (diff) |
bazel sync: better report errors
So far, bazel sync would only report error that happened during
the actual fetch operation. However, errors can also happen earlier,
e.g., when loading or parsing the WORKSPACE file. Report these
errors as well.
Change-Id: Ifa4961b0101f338d7618c52eb607951acba7ccdf
PiperOrigin-RevId: 203359188
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/bazel')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java b/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java index 180612074a..3ea73647c2 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/commands/SyncCommand.java @@ -54,6 +54,14 @@ public final class SyncCommand implements BlazeCommand { @Override public void editOptions(OptionsParser optionsParser) {} + private static void reportError(CommandEnvironment env, EvaluationResult<SkyValue> value) { + if (value.getError().getException() != null) { + env.getReporter().handle(Event.error(value.getError().getException().getMessage())); + } else { + env.getReporter().handle(Event.error(value.getError().toString())); + } + } + @Override public BlazeCommandResult exec(CommandEnvironment env, OptionsProvider options) { try { @@ -73,6 +81,7 @@ public final class SyncCommand implements BlazeCommand { SkyframeExecutor.DEFAULT_THREAD_COUNT, env.getReporter()); if (packageLookupValue.hasError()) { + reportError(env, packageLookupValue); return BlazeCommandResult.exitCode(ExitCode.ANALYSIS_FAILURE); } RootedPath workspacePath = @@ -89,6 +98,7 @@ public final class SyncCommand implements BlazeCommand { SkyframeExecutor.DEFAULT_THREAD_COUNT, env.getReporter()); if (value.hasError()) { + reportError(env, value); return BlazeCommandResult.exitCode(ExitCode.ANALYSIS_FAILURE); } fileValue = (WorkspaceFileValue) value.get(workspace); @@ -115,11 +125,7 @@ public final class SyncCommand implements BlazeCommand { SkyframeExecutor.DEFAULT_THREAD_COUNT, env.getReporter()); if (fetchValue.hasError()) { - if (fetchValue.getError().getException() != null) { - env.getReporter().handle(Event.error(fetchValue.getError().getException().getMessage())); - } else { - env.getReporter().handle(Event.error(fetchValue.getError().toString())); - } + reportError(env, fetchValue); return BlazeCommandResult.exitCode(ExitCode.ANALYSIS_FAILURE); } } catch (InterruptedException e) { |