commit | ed251187b078c4262bbbc1da72015ce12f9964f4 | [log] [tgz] |
---|---|---|
author | messa <messa@google.com> | Fri Aug 13 05:01:17 2021 -0700 |
committer | Copybara-Service <copybara-worker@google.com> | Fri Aug 13 05:02:44 2021 -0700 |
tree | 48d6f6a918943e6566c9065c406c2804c5f8488b | |
parent | 055e40d826a3e932b302d04d59f868769793ed66 [diff] |
Add incompatible flag to guard top-level aspects dependencies This CL introduces `incompatible_top_level_aspects_dependency` flag to enable aspect-on-aspect and requiring aspects for command line aspects. This can be needed because the new behavior can break builds where a relation between top-level aspects existed (based on required_aspect_providers and provides) but it was never actually applied as it was not supported. One example of these cases: blaze build //:main --aspects=/tools:my_def.bzl%a1,/tools:my_def.bzl%a2 If aspect a1 provides a1p provider, aspect a2 requires a1p provider and the rule of target `main` also provides a1p. Once top-level aspect-on-aspect is enabled this build will fail because a1p will be provided twice to a2 (from a1 applied on `main` and from `main` target rule). Previously the relation between a1 and a2 was not detected and a2 used to get only the value of a1p from `main`'s rule. PiperOrigin-RevId: 390587290
{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