Flip default for experimental_forward_instrumented_files_info_by_default

This changes the default behavior for coverage from "forward nothing" to "forward InstrumentedFilesInfo from non-tool dependencies". This is still not quite ideal behavior, since typically attributes which provide source files (like srcs) are non-tool dependencies. But it's an improvement because it avoids the need for explicit coverage configuration for the entire chain of dependencies from test to source file.

In cases where an aspect returned InstrumentedFilesInfo previously, the InstrumentedFilesInfo provider for the base rule is ignored, so the behavior will be unchanged.

The bit about coverage_common.instrumented_files_info is merged into the related section under "Advanced Topics" in the rules documentation, since it's no longer required for the whole dependency chain to configure coverage explicitly in order for that to work at all.

RELNOTES: Forward coverage-instrumented files from non-tool dependencies by default.
PiperOrigin-RevId: 380224680
3 files changed
tree: 1f9193352ae47c98c68108c137469498cc9bb7f7
  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