commit | 780199d619bbec2a7dd695773cc3018d4de6c1e7 | [log] [tgz] |
---|---|---|
author | Ivo List <ilist@google.com> | Mon Nov 09 05:27:34 2020 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Mon Nov 09 05:29:06 2020 -0800 |
tree | eb0889f621a3af5e4f4ab7f45d0a14a1c6500cd6 | |
parent | 389b62b374e8b491bd5cfcada65754bf617a575a [diff] |
Add target settings attribute to toolchain rule This is the implementation of proposal https://docs.google.com/document/d/13yXhOQeMZQmlW3obyZ7fJP3sm3eVLbK3Nuk2LZjcZiU/edit. The added `targetSetting` attribute, can reference `config_setting` rules. The attribute is resolved in target configuration and the returned `ConfigMatchingProvider` already has the value if this toolchain matches. Difference to the proposal is that `targetSettings` are a `LABEL_LIST` where all the settings need to be satisfied. This might increase a bit usability. It makes the implementation a bit nicer, because instead of special handling when the value is not present, a list can uniformly handled. Closes #12425. RELNOTES: Toolchain rule is extended with target_settings attribute. PiperOrigin-RevId: 341386320
{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