diff options
Diffstat (limited to 'aconfig/aconfig_declarations.go')
| -rw-r--r-- | aconfig/aconfig_declarations.go | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/aconfig/aconfig_declarations.go b/aconfig/aconfig_declarations.go index b06839831..22dba9b1a 100644 --- a/aconfig/aconfig_declarations.go +++ b/aconfig/aconfig_declarations.go @@ -15,12 +15,13 @@ package aconfig import ( - "android/soong/android" "path/filepath" "slices" "strconv" "strings" + "android/soong/android" + "github.com/google/blueprint" ) @@ -144,8 +145,10 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module values := make(map[string][]string) valuesFiles := make(map[string][]android.Path, 0) - providerData := android.AconfigReleaseDeclarationsProviderData{} - ctx.VisitDirectDeps(func(dep android.Module) { + providerData := android.AconfigReleaseDeclarationsProviderData{ + Data: map[string]android.AconfigDeclarationsProviderData{}, + } + ctx.VisitDirectDepsProxy(func(dep android.ModuleProxy) { if depData, ok := android.OtherModuleProvider(ctx, dep, valueSetProviderKey); ok { depTag := ctx.OtherModuleDependencyTag(dep) for _, config := range configs { @@ -170,7 +173,7 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module // Intermediate format declarationFiles := android.PathsForModuleSrc(ctx, module.properties.Srcs) - intermediateCacheFilePath := android.PathForModuleOut(ctx, assembleFileName(config, "intermediate.pb")) + intermediateCacheFilePath := android.PathForModuleOut(ctx, assembleFileName(config, "aconfig-cache.pb")) var defaultPermission string defaultPermission = ctx.Config().ReleaseAconfigFlagDefaultPermission() if config != "" { @@ -178,6 +181,8 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module defaultPermission = confPerm } } + + forceReadOnly := ctx.Config().GetBuildFlagBool("RELEASE_CONFIG_FORCE_READ_ONLY") var allowReadWrite bool if requireAllReadOnly, ok := ctx.Config().GetBuildFlag("RELEASE_ACONFIG_REQUIRE_ALL_READ_ONLY"); ok { // The build flag (RELEASE_ACONFIG_REQUIRE_ALL_READ_ONLY) is the negation of the aconfig flag @@ -188,13 +193,16 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module inputFiles := make([]android.Path, len(declarationFiles)) copy(inputFiles, declarationFiles) inputFiles = append(inputFiles, valuesFiles[config]...) + mainlineBetaNamespaceConfig := ctx.Config().ReleaseMainlineBetaNamespaceConfig() args := map[string]string{ - "release_version": ctx.Config().ReleaseVersion(), - "package": module.properties.Package, - "declarations": android.JoinPathsWithPrefix(declarationFiles, "--declarations "), - "values": joinAndPrefix(" --values ", values[config]), - "default-permission": optionalVariable(" --default-permission ", defaultPermission), - "allow-read-write": optionalVariable(" --allow-read-write ", strconv.FormatBool(allowReadWrite)), + "release_version": ctx.Config().ReleaseVersion(), + "package": module.properties.Package, + "declarations": android.JoinPathsWithPrefix(declarationFiles, "--declarations "), + "values": joinAndPrefix(" --values ", values[config]), + "default-permission": optionalVariable(" --default-permission ", defaultPermission), + "allow-read-write": optionalVariable(" --allow-read-write ", strconv.FormatBool(allowReadWrite)), + "mainline-beta-namespace-config": optionalVariable(" --mainline-beta-namespace-config ", mainlineBetaNamespaceConfig), + "force-read-only": optionalVariable(" --force-read-only ", strconv.FormatBool(forceReadOnly)), } if len(module.properties.Container) > 0 { args["container"] = "--container " + module.properties.Container @@ -207,7 +215,7 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module Args: args, }) - intermediateDumpFilePath := android.PathForModuleOut(ctx, assembleFileName(config, "intermediate.txt")) + intermediateDumpFilePath := android.PathForModuleOut(ctx, assembleFileName(config, "aconfig-flags.txt")) ctx.Build(pctx, android.BuildParams{ Rule: aconfigTextRule, Output: intermediateDumpFilePath, @@ -215,7 +223,7 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module Description: "aconfig_text", }) - providerData[config] = android.AconfigDeclarationsProviderData{ + providerData.Data[config] = android.AconfigDeclarationsProviderData{ Package: module.properties.Package, Container: module.properties.Container, Exportable: module.properties.Exportable, @@ -223,7 +231,7 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module IntermediateDumpOutputPath: intermediateDumpFilePath, } } - android.SetProvider(ctx, android.AconfigDeclarationsProviderKey, providerData[""]) + android.SetProvider(ctx, android.AconfigDeclarationsProviderKey, providerData.Data[""]) android.SetProvider(ctx, android.AconfigReleaseDeclarationsProviderKey, providerData) } |
