commit | 35032392ab370170cced809df334650e35f62b4f | [log] [tgz] |
---|---|---|
author | Alexis Hunt <lexer@google.com> | Mon Jun 04 16:30:41 2018 -0400 |
committer | Ola Rozenfeld <olaola@google.com> | Wed Jun 20 13:35:42 2018 -0400 |
tree | 4494bb2cdf745cbfbedc4cfc39c714c88ae351f8 | |
parent | 42ee054093a4fef7cca3e9e0d00931dfd7c56f66 [diff] |
Remove the option to pass output files inline. This was a premature optimization in the original protocol design. Generally speaking, the server does not know whether or not the client is interested in an output file. A client using the output file only as an intermediate result to be fed back into a later action never needs to download it, and instead can just pass the digest into the next action. Bazel does not implement this behaviour because of architectural constraints at the matter, but it is desired. The same is not being done for stdout/stderr logs. The client is much more reliably interested in them, especially for failing actions. In fact, it was the proposal to include them inline that was extended to output files.
The Remote Execution API is an API that, at its most general, allows clients to request execution of binaries on a remote system. It is intended primarily for use by build systems, such as Bazel, to distribute build and test actions through a worker pool, and also provide a central cache of build results. This allows builds to execute faster, both by reusing results already built by other clients and by allowing many actions to be executed in parallel, in excess of the resource limits of the machine running the build.
The APIs in this repository refer to several general-purpose APIs published by Google in the Google APIs repository. You will need to refer to packages from that repository in order to generate code using this API. If you build the repository using the included BUILD
files, Bazel will fetch the protobuf compiler and googleapis automatically.
The repository contains BUILD
files to build the protobuf library with Bazel. If you wish to use them with your own project in Bazel, you will possibly want to declare cc_proto_library
, java_proto_library
, etc. rules that depend on them.
Other build systems will have to run protoc on the protobuf files, and link in the googleapis and well-known proto types, manually.