diff options
author | 2024-03-11 21:37:25 +0000 | |
---|---|---|
committer | 2024-03-14 18:12:30 +0000 | |
commit | 3490dfd23f708561c2682eb844ca6123ef12cff8 (patch) | |
tree | 1ff011dc0fb3f58e674af86a8c683482f7e50446 /apex/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 'apex/apex.go')
-rw-r--r-- | apex/apex.go | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/apex/apex.go b/apex/apex.go index c6884387a..c662f2ca7 100644 --- a/apex/apex.go +++ b/apex/apex.go @@ -2428,29 +2428,14 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) { a.providePrebuiltInfo(ctx) } -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"` -} - // Set prebuiltInfoProvider. This will be used by `apex_prebuiltinfo_singleton` to print out a metadata file // with information about whether source or prebuilt of an apex was used during the build. func (a *apexBundle) providePrebuiltInfo(ctx android.ModuleContext) { - info := prebuiltInfo{ + info := android.PrebuiltInfo{ Name: a.Name(), Is_prebuilt: false, } - android.SetProvider(ctx, prebuiltInfoProvider, info) + android.SetProvider(ctx, android.PrebuiltInfoProvider, info) } // Set a provider containing information about the jars and .prof provided by the apex |