commit | 594e8588bcd0257c5a3c7e1dd8eae82ce28173b2 | [log] [tgz] |
---|---|---|
author | mstaib <mstaib@google.com> | Wed Jun 13 16:21:33 2018 -0700 |
committer | Copybara-Service <copybara-piper@google.com> | Wed Jun 13 16:23:04 2018 -0700 |
tree | fac9e71f175a4188d80cd76b455bdee69c584c05 | |
parent | b695e47bdc89885dc7010fe9a9a3eb62467b8fe4 [diff] |
When composing RuleTransitionFactories, return something that respects equality. If the output from composeTransitions is one of the input PatchTransitions, return it. If it's a composed transition, make sure to wrap it in a class which respects equality. Without this change, running the same RuleTransitionFactory on the same attribute and target twice will produce two non-equal Dependencies which can't be deduplicated by OrderedSetMultimap - no lambda is equal to any other instance of the same lambda. RELNOTES: None. PiperOrigin-RevId: 200472777
{Fast, Correct} - Choose two
Build and test software of any size, quickly and reliably.
Speed up your builds and tests: Bazel only rebuilds 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
Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.