diff options
author | 2023-12-13 00:06:32 +0000 | |
---|---|---|
committer | 2023-12-20 16:43:01 +0000 | |
commit | 5be6333692b6881b223b672c2251efaf4605bb33 (patch) | |
tree | dc793a41ec9dc4d4f3cc7a0af05168129582624c /java/sdk_library.go | |
parent | a4cca85eeabdb2f7e35f447936c449a345428d5a (diff) |
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
Diffstat (limited to 'java/sdk_library.go')
-rw-r--r-- | java/sdk_library.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/java/sdk_library.go b/java/sdk_library.go index 38bd301f4..ef34fb6cd 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -2695,7 +2695,7 @@ func (module *SdkLibraryImport) GenerateAndroidBuildActions(ctx android.ModuleCo module.dexJarFileErr = err return } - dexJarFileApexRootRelative := apexRootRelativePathToJavaLib(module.BaseModuleName()) + dexJarFileApexRootRelative := ApexRootRelativePathToJavaLib(module.BaseModuleName()) if dexOutputPath := di.PrebuiltExportPath(dexJarFileApexRootRelative); dexOutputPath != nil { dexJarFile := makeDexJarPathFromPath(dexOutputPath) module.dexJarFile = dexJarFile |