Java: Stops adding C++ providers directly.

unknown commit fixes the only related broken target showing up in a TGP after
this change. It seems that this provider was only ever used through
java_wrap_cc with java_library dependencies which themselves had cc_library
dependencies, i.e. java_wrap_cc -> java_library -> cc_library. This dependency
is not needed, the cc_library can be added directly to java_wrap_cc to get the
same behavior and this is the way it should be done instead of relying on
transitive dependencies.

The reason for making this change right now is that with the Skylark C++ API, I
will be adding attr("deps").mandatoryProviders(CcCompilationInfo,
CcLinkParamsInfo) to C++ rules so that they can take any Skylark rule and not
having to explicitly hard-code the name of those Skylark rules in Blaze.
However, Java meets this criteria and the change would allow C++ rules to
depend on Java. This is not something that was supported before and is not
something we plan to support.

RELNOTES:none
PiperOrigin-RevId: 187158176
2 files changed
tree: 7b2ae474b66b0e87eeffa21672988d0bc15d0590
  1. examples/
  2. scripts/
  3. site/
  4. src/
  5. third_party/
  6. tools/
  7. .gitattributes
  8. .gitignore
  9. AUTHORS
  10. BUILD
  11. CHANGELOG.md
  12. combine_distfiles.py
  13. combine_distfiles_to_tar.sh
  14. compile.sh
  15. CONTRIBUTING.md
  16. CONTRIBUTORS
  17. ISSUE_TEMPLATE.md
  18. LICENSE
  19. README.md
  20. 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 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.

Getting Started

Documentation

Contributing to Bazel

See CONTRIBUTING.md

Build Status

Bazel is released in ‘Beta’. See the product roadmap to learn about the path toward a stable 1.0 release.