diff options
author | 2025-03-20 04:34:43 -0700 | |
---|---|---|
committer | 2025-03-20 04:34:43 -0700 | |
commit | a03d23cae72fff2a23a35c388004dd55ec8fd7d6 (patch) | |
tree | e7422c90daa41f10ae0204ec0cfd9e9f53afed60 /filesystem | |
parent | 73cee7f629095cad7d853eb8ffcebd0eba875932 (diff) | |
parent | 99e7dc152aa61b2013d7a9088c60deecff4da295 (diff) |
Merge "Handle android_app_set in Soong built apkcerts.txt" into main
Diffstat (limited to 'filesystem')
-rw-r--r-- | filesystem/android_device.go | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/filesystem/android_device.go b/filesystem/android_device.go index 02bad0a3c..feb000dc4 100644 --- a/filesystem/android_device.go +++ b/filesystem/android_device.go @@ -1055,6 +1055,7 @@ func (a *androidDevice) buildApkCertsInfo(ctx android.ModuleContext, allInstalle } apkCerts := []string{} + var apkCertsFiles android.Paths for _, installedModule := range allInstalledModules { partition := "" if commonInfo, ok := android.OtherModuleProvider(ctx, installedModule, android.CommonModuleInfoProvider); ok { @@ -1063,7 +1064,11 @@ func (a *androidDevice) buildApkCertsInfo(ctx android.ModuleContext, allInstalle ctx.ModuleErrorf("%s does not set CommonModuleInfoKey", installedModule.Name()) } if info, ok := android.OtherModuleProvider(ctx, installedModule, java.AppInfoProvider); ok { - apkCerts = append(apkCerts, formatLine(info.Certificate, info.InstallApkName+".apk", partition)) + if info.AppSet { + apkCertsFiles = append(apkCertsFiles, info.ApkCertsFile) + } else { + apkCerts = append(apkCerts, formatLine(info.Certificate, info.InstallApkName+".apk", partition)) + } } else if info, ok := android.OtherModuleProvider(ctx, installedModule, java.AppInfosProvider); ok { for _, certInfo := range info { // Partition information of apk-in-apex is not exported to the legacy Make packaging system. @@ -1084,7 +1089,14 @@ func (a *androidDevice) buildApkCertsInfo(ctx android.ModuleContext, allInstalle } } + apkCertsInfoWithoutAppSets := android.PathForModuleOut(ctx, "apkcerts_without_app_sets.txt") + android.WriteFileRuleVerbatim(ctx, apkCertsInfoWithoutAppSets, strings.Join(apkCerts, "\n")+"\n") apkCertsInfo := android.PathForModuleOut(ctx, "apkcerts.txt") - android.WriteFileRuleVerbatim(ctx, apkCertsInfo, strings.Join(apkCerts, "\n")+"\n") + ctx.Build(pctx, android.BuildParams{ + Rule: android.Cat, + Description: "combine apkcerts.txt", + Output: apkCertsInfo, + Inputs: append(apkCertsFiles, apkCertsInfoWithoutAppSets), + }) return apkCertsInfo } |