summaryrefslogtreecommitdiff
path: root/android/apex.go
diff options
context:
space:
mode:
author Spandan Das <spandandas@google.com> 2024-03-11 21:37:25 +0000
committer Spandan Das <spandandas@google.com> 2024-03-14 18:12:30 +0000
commit3490dfd23f708561c2682eb844ca6123ef12cff8 (patch)
tree1ff011dc0fb3f58e674af86a8c683482f7e50446 /android/apex.go
parentee37914529e1aa615c9bbd443db4c8b61c401238 (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.go15
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"`
+}