Remove special ordering of resources from PlaceholderIdFieldInitializerBuilder

Before this change, PlaceholderIdFieldInitializerBuilder attempted to exactly
mimic the behavior of Aapt and Gradle in assigning resource IDs. However,
nothing should be relying on that specific behavior.

Even if code for some reason is relying on that behavior (by, for example,
doing math on a resource ID to get another resource ID), this code is currently
only used to compile library resource files, which are not actually used in
finished android_binary targets.

This change removes the part that relies on a specific ordering of
ResourceTypes; it instead just relies on the names and ordering within
ResourceType. This makes things a bit simpler and also ensures new resource
types added to the ResourceType enum will be picked up automatically.

In particular, this change will allow us to use the new Font resource type as
soon as it is released in android_ide_common.

RELNOTES: none
PiperOrigin-RevId: 164497262
2 files changed
tree: 917fb0d48edadedd2fd2b97e77b0fbc6f4bc6cf9
  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.sh
  13. compile.sh
  14. CONTRIBUTING.md
  15. CONTRIBUTORS
  16. ISSUE_TEMPLATE.md
  17. LICENSE
  18. README.md
  19. 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 system. 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.