Add --deduplicate_depsets to aquery.

This flag would instruct aquery to remove duplicate subsets in dep_set_of_files
before writing the proto/textproto/json output. The duplication caused the
aquery output to be corrupt in some cases, an issue which we haven't managed to
get to the bottom of yet. Duplicate subsets carry little meaning anyway, since
in the end we mostly care about the effective collection of inputs of actions.
It's already not possible to create NestedSets with duplicate subsets using
NestedSetBuilder.

The deduplication is done with a flag in case we want to study the depsets with
duplicate subsets, which is really the unfortunate exception rather than the
norm. The flag is set to True by default.

PiperOrigin-RevId: 375107739
6 files changed
tree: fa5abbd23e6faf0c6358cf660fce6ce4cba84706
  1. .bazelci/
  2. examples/
  3. scripts/
  4. site/
  5. src/
  6. third_party/
  7. tools/
  8. .bazelrc
  9. .gitattributes
  10. .gitignore
  11. AUTHORS
  12. BUILD
  13. CHANGELOG.md
  14. CODEBASE.md
  15. CODEOWNERS
  16. combine_distfiles.py
  17. combine_distfiles_to_tar.sh
  18. compile.sh
  19. CONTRIBUTING.md
  20. CONTRIBUTORS
  21. distdir.bzl
  22. distdir_deps.bzl
  23. ISSUE_TEMPLATE.md
  24. LICENSE
  25. README.md
  26. WORKSPACE
README.md

Bazel

{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.

Getting Started

Documentation

Contributing to Bazel

See CONTRIBUTING.md

Build status