commit | 37aeabcd39fe326d1c4e55693d8d207f9f7ac6c4 | [log] [tgz] |
---|---|---|
author | schmitt <schmitt@google.com> | Mon Jan 27 08:34:29 2020 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Jan 27 08:36:23 2020 -0800 |
tree | 41c42a0940042d4b6ff2de2197f3c7956f619942 | |
parent | 5b157d18226983a0ca11850a4b4a04c47194475b [diff] |
Split SpawnStrategy from ActionContext. This change removes SpawnStrategy from the ActionContext hierarchy. Spawn strategies thus are officially no longer queryable from any place in the execution phase (they already hadn't been but it was not obvious at all). Instead all access to them must be mediated by the SpawnStrategyResolver (formerly ProxySpawnStrategy) which uses the SpawnStrategyRegistry (formerly SpawnActionContextMaps) to do its work. Other kinds of action contexts are accessible through the ModuleActionContextRegistry. Blaze modules now also register action contexts and strategies separately, in newly introduced methods for this purpose. This change makes the many distinct properties of spawn strategies (as opposed to other contexts) more obvious, whether in registration (where there is a complex matching logic for strategies to spawns) or in usage (execution flows and selection of strategy). It also paves the way for some information of strategies to be available in the analysis phase rather than only for the execution phase (action contexts will remain in the latter). RELNOTES: None. PiperOrigin-RevId: 291728633
{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