diff options
author | 2024-03-11 21:37:25 +0000 | |
---|---|---|
committer | 2024-03-14 18:12:30 +0000 | |
commit | 3490dfd23f708561c2682eb844ca6123ef12cff8 (patch) | |
tree | 1ff011dc0fb3f58e674af86a8c683482f7e50446 /android/apex.go | |
parent | ee37914529e1aa615c9bbd443db4c8b61c401238 (diff) |
Generate info about the selected app variant in platform builds
This is a followup to aosp/2999198 and adds information about apps.
Each app will have an entry in this file with the following properties
- Name, mandatory
- Is_prebuilt, mandatory
- Prebuilt_info_file_path, optional
Implementation details
- Move prebuiltInfoProvider out of build/soong/apex to
build/soong/android. This allows build/soong/java to use it.
- Introduce a new `prebuilt_info` prop to `android_app_set` and
`android_app_import`
- All app module types will set a prebuiltInfoProvider in
GenerateAndroidBuildActions, including the source app module types
Test: m nothing --no-skip-soong-tests
Test: m out/soong/prebuilt_info.json
Test: ls -l out/soong/prebuilt_info.json --human-readable
-rw------- 1 spandandas primarygroup 317K Mar 11 23:46 out/soong/prebuilt_info.json
Test: #modified trunk_staging.locally to select prebuilts of some
mainline apps. Spot-checked that `is_prebuilt` and
`prebuilt_info_file_path` get populated appropriately
Bug: 327480225
Change-Id: I5078e0ec26c9568194550909962b90111a5223f7
Diffstat (limited to 'android/apex.go')
-rw-r--r-- | android/apex.go | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/android/apex.go b/android/apex.go index 4d36a9396..87599051a 100644 --- a/android/apex.go +++ b/android/apex.go @@ -976,3 +976,18 @@ type ApexExportsInfo struct { // Map from the apex library name (without prebuilt_ prefix) to the dex file path on host LibraryNameToDexJarPathOnHost map[string]Path } + +var PrebuiltInfoProvider = blueprint.NewProvider[PrebuiltInfo]() + +// contents of prebuilt_info.json +type PrebuiltInfo struct { + // Name of the apex, without the prebuilt_ prefix + Name string + + Is_prebuilt bool + + // This is relative to root of the workspace. + // In case of mainline modules, this file contains the build_id that was used + // to generate the mainline module prebuilt. + Prebuilt_info_file_path string `json:",omitempty"` +} |