commit | df389d2aac1f11ab1359f1dd93423763eecffbb4 | [log] [tgz] |
---|---|---|
author | buchgr <buchgr@google.com> | Tue Nov 19 06:08:45 2019 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Tue Nov 19 06:09:44 2019 -0800 |
tree | 72dcdcf7c6cd9bc36db08d472753b9ffa5316e88 | |
parent | dbe63b00954a25fa4405f7cbf273df78c16498dd [diff] |
Add interface and implementation that will allow the remote module to inject remote execution functionality into repository_rule. 1) Introduce the RepositoryRemoteExecutor interface which will be implemented by the RemoteModule in a follow up change. The intent is for the RemoteModule to register a RepositoryRemoteExecutorFactory which the BazelRepositoryModule calls before each command in order to obtain a RepositoryRemoteExecutor object. This extra layer of indirection is necessary because remote execution can be enabled and disabled between commands without causing reanalysis. 2) Add logic to repository_ctx.execute() to execute a command remotely using RepositoryRemoteExecutor RELNOTES: None PiperOrigin-RevId: 281279763
{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