commit | 854bb903fe7621f95931506615be48198cbf9bd6 | [log] [tgz] |
---|---|---|
author | mschaller <mschaller@google.com> | Tue Mar 03 10:56:14 2020 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Mar 03 10:57:26 2020 -0800 |
tree | 171f0eaaeb50b24f52477240d843cdc5c38766e8 | |
parent | 671ec2d987797234399337d4d182a86b21fc613c [diff] |
Teach ActionExecutionException and downstream structures about DetailedExitCode I intend this change to be a pure refactoring. It should entail no externally observable change in behavior. This replaces ActionExecutionException's handling of ExitCode values. It now handles DetailedExitCode values. The upstream effects include: * SpawnExecException's translation to ActionExecutionException gives it a DetailedExitCode instead of an ExitCode. SpawnExecException could relay its SpawnResult's FailureDetail, but to keep this change pure, it does not, yet. SpawnExecException and ActionExecutionException continue to encode the idea of a "user error" failure with a null DetailedExitCode value, as they encoded that idea before with a null ExitCode value. For detailed user errors this must change, but it isn't changed yet. The downstream effects include: * BuildResult handles DetailedExitCode instead. * BlazeCommandResult now preferably handles DetailedExitCode. It retains its ExitCode-only factory methods, for now. * BuildFailedException handles DetailedExitCode instead. RELNOTES: None. PiperOrigin-RevId: 298643766
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel rebuilds only what is necessary. With advanced local and distributed caching, optimized dependency analysis and parallel execution, you get fast and incremental builds.
One tool, multiple languages: Build and test Java, C++, Android, iOS, Go, and a wide variety of other language platforms. Bazel runs on Windows, macOS, and Linux.
Scalable: Bazel helps you scale your organization, codebase, and continuous integration solution. It handles codebases of any size, in multiple repositories or a huge monorepo.
Extensible to your needs: Easily add support for new languages and platforms with Bazel's familiar extension language. Share and re-use language rules written by the growing Bazel community.
Follow our tutorials:
See CONTRIBUTING.md