Allow rules that provide resources and assets as deps of android_* rules

These restrictions were originally put in place to prevent things like
android_binary from being used as dependencies of android_library. However, it
doesn't actually work - the restrictions are all ORed together, and that means
rules that are of the allowed kind OR that have a JavaProvider are allowed.
Since all android_binary targets presumably have Java providers, they are
presumably all allowed.

Slightly expand these restrictions by also allowing rules that have Android
resource and asset providers. This will allow us to use Skylark rules to only
inherit assets and resources from a target, but not anything else.

I don't anticipate this expansion will have unwanted side effects, since
virtually all Android targets already have Java providers anyway.

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