platform_build_soong/java/config
Colin Cross 4eae06dcc9 Move android_library resource handling to Bazel's ResourceProcessorBusyBox
The R.Java files generated by aapt2 link --no-static-lib-packages
cause scaling problems by combining all resources into every package
listed in a dependencies' AndroidManifest.xml file.  For SystemUI-core
this results in 74 R.java files, each with 76k lines, and takes 20
seconds to compile in javac.

Both AGP and Bazel have workarounds for this that avoid using the
R.java files generated by aapt2, instead generating more efficient
R.class files directly based on the R.txt file.

Bazel uses the ResourceProcessorBusyBox tool that is already present
in our tree to process the resources.  Reuse the same tool in Soong
to create the R.jar.

The more efficient R.class files require modifiying source files
that use incorrect packages to refer to resources.

Bug: 284023594
Test: TestAndroidResourceProcessor
Change-Id: I026073b40dabcfdb10e5d7a52e9348205b0e9a66
Merged-In: I026073b40dabcfdb10e5d7a52e9348205b0e9a66
2023-07-25 21:30:21 +00:00
..
Android.bp Add LOCAL_LICENSE_KINDS to build/soong 2021-02-06 04:23:21 +00:00
config.go Move android_library resource handling to Bazel's ResourceProcessorBusyBox 2023-07-25 21:30:21 +00:00
error_prone.go export Java variables to Bazel 2022-04-08 14:15:43 +00:00
kotlin.go Enable kotlin's jvm-abi-gen plugin to generate header jars 2022-04-04 16:42:46 -07:00
makevars.go Cleanup remaining android.JavaApiLibraryName() references 2023-06-15 19:42:34 +00:00