platform_build_soong/apex
Spandan Das 5be6333692 Use the correct bootjars when multiple prebuilt apexes exist
hiddenapi and dexpreopt require boot and system server jars from apexes.
When building with prebuilts, this comes via
java_import/java_sdk_library_import, which acts as a hook for
prebuilt_apex/apex_set. If we have multiple apexes in the tree, this
hook becomes 1:many. This CL prepares dex_bootjars to select the right
deapexerd .jar files when mutliple prebuilts exist.

Implementation details
- Update prebuilt module types (prebuilt_apex/apex_set) and source
  apexes to set a map of
  library name to dex jar path on host.
- dex_bootjars will access the path of the .dex jar on host via the
  provider. These then
  copied/installed to the right locations.

This CL does not drop the old mechanism to get the dex file (i.e. by
creating a dep on java_library). Once all mainline
modules have been flagged using apex_contributions, the old mechanism
will be dropped

Bug: 308790457
Test: git_master-art-host:art-gtest https://android-build.corp.google.com/builds/abtd/run/L21500030000926533
Test: git_main:art_standalone_dexpreopt_tests https://android-build.corp.google.com/builds/abtd/run/L99000030000891212
Test: Added a unit test that checks that the right .jar is selected
when multiple prebuilts exists

Change-Id: I6ef94135b9303a35135810930af4b641df13a583
2023-12-20 16:43:01 +00:00
..
Android.bp Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08:00
androidmk.go Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08:00
apex.go Use the correct bootjars when multiple prebuilt apexes exist 2023-12-20 16:43:01 +00:00
apex_sdk_member.go Add apexes property to sdk 2022-07-06 15:58:43 +00:00
apex_singleton.go Convert ModuleProvder to generic providers API 2023-12-14 16:12:22 -08:00
apex_test.go Use the correct bootjars when multiple prebuilt apexes exist 2023-12-20 16:43:01 +00:00
bootclasspath_fragment_test.go Move dexpreopt processing from java_*_import to prebuilt_apex 2023-12-18 23:17:26 +00:00
builder.go Add container property to aconfig_declarations. 2023-11-28 12:37:02 -08:00
classpath_element_test.go Convert OtherModuleProvider to generic providers API 2023-12-14 16:12:22 -08:00
deapexer.go Use the correct bootjars when multiple prebuilt apexes exist 2023-12-20 16:43:01 +00:00
dexpreopt_bootjars_test.go Use the correct bootjars when multiple prebuilt apexes exist 2023-12-20 16:43:01 +00:00
key.go Remove ConvertWithBp2build implementations 2023-12-08 13:51:05 -08:00
platform_bootclasspath_test.go Convert ModuleProvder to generic providers API 2023-12-14 16:12:22 -08:00
prebuilt.go Use the correct bootjars when multiple prebuilt apexes exist 2023-12-20 16:43:01 +00:00
systemserver_classpath_fragment_test.go Move dexpreopt processing from java_*_import to prebuilt_apex 2023-12-18 23:17:26 +00:00
TEST_MAPPING
testing.go Add allowed-deps tests 2023-04-27 09:56:04 +09:00
vndk.go apex: Remove 'zip' apex support 2023-08-23 14:01:13 +09:00
vndk_test.go Generate product variants by default 2023-09-27 16:36:40 +09:00