Support default-permission in aconfig_declarations

Aconfig provides new argument, default-permission, for create-cache.
When buld aconfig_declarations, aconfig_declarations will read the value
from release configuration to pass this value to aconfig.

Bug: 294417368
Test: presubmit
Change-Id: Id55dab1d757e2366a62449c73e2497cc958c5e78
This commit is contained in:
Zhi Dou
2023-08-10 21:47:40 +00:00
parent 4fa1bfe169
commit 3f65a416b8
4 changed files with 25 additions and 5 deletions

View File

@@ -96,6 +96,15 @@ func joinAndPrefix(prefix string, values []string) string {
return sb.String()
}
func optionalVariable(prefix string, value string) string {
var sb strings.Builder
if value != "" {
sb.WriteString(prefix)
sb.WriteString(value)
}
return sb.String()
}
// Provider published by aconfig_value_set
type declarationsProviderData struct {
Package string
@@ -123,15 +132,17 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module
// Intermediate format
inputFiles := android.PathsForModuleSrc(ctx, module.properties.Srcs)
intermediatePath := android.PathForModuleOut(ctx, "intermediate.pb")
defaultPermission := ctx.Config().ReleaseAconfigFlagDefaultPermission()
ctx.Build(pctx, android.BuildParams{
Rule: aconfigRule,
Output: intermediatePath,
Description: "aconfig_declarations",
Args: map[string]string{
"release_version": ctx.Config().ReleaseVersion(),
"package": module.properties.Package,
"declarations": android.JoinPathsWithPrefix(inputFiles, "--declarations "),
"values": joinAndPrefix(" --values ", module.properties.Values),
"release_version": ctx.Config().ReleaseVersion(),
"package": module.properties.Package,
"declarations": android.JoinPathsWithPrefix(inputFiles, "--declarations "),
"values": joinAndPrefix(" --values ", module.properties.Values),
"default-permission": optionalVariable(" --default-permission ", defaultPermission),
},
})