summaryrefslogtreecommitdiff
path: root/aconfig
diff options
context:
space:
mode:
author Mårten Kongstad <amhk@google.com> 2025-01-21 08:10:08 +0100
committer Mårten Kongstad <amhk@google.com> 2025-01-24 13:42:02 +0100
commitd645ee89e9c95e54eb272c95355197bed853fe66 (patch)
tree817ee4722ff079980f85551349ceae86b02851d1 /aconfig
parent106362591879b818dae2459458cae9baed313a22 (diff)
record-finalized-flags: pass in list of finalized flags
record-finalized-flags needs the list of already finalized flags (soong module "finalized-flags") to correctly generate the full list of finalized flags for the next API finalization. Bug: 377676163 Test: m sdk dist # and manually inspect out/dist/finalized-flags.txt Ignore-AOSP-First: submit internally first due to merge conflict Change-Id: Ie1d52b90f3acad134e4a5e71c112b9724888e25f
Diffstat (limited to 'aconfig')
-rw-r--r--aconfig/Android.bp3
-rw-r--r--aconfig/all_aconfig_declarations.go21
-rw-r--r--aconfig/init.go4
3 files changed, 16 insertions, 12 deletions
diff --git a/aconfig/Android.bp b/aconfig/Android.bp
index a8f626dbc..9a945b4f6 100644
--- a/aconfig/Android.bp
+++ b/aconfig/Android.bp
@@ -34,7 +34,7 @@ bootstrap_go_package {
// but other verticals/platforms can override via soong config setting.
all_aconfig_declarations {
name: "all_aconfig_declarations",
- api_files: select(soong_config_variable("android_aconfig", "opt_platform_api_srcs"), {
+ api_signature_files: select(soong_config_variable("android_aconfig", "opt_platform_api_srcs"), {
"wear_sdk_api_srcs": [
":wear-sdk-api-current.txt",
":wear-sdk-api-system-current.txt",
@@ -46,4 +46,5 @@ all_aconfig_declarations {
":frameworks-base-api-module-lib-current.txt",
],
}),
+ finalized_flags_file: ":finalized-flags",
}
diff --git a/aconfig/all_aconfig_declarations.go b/aconfig/all_aconfig_declarations.go
index 9086c9306..ec200997e 100644
--- a/aconfig/all_aconfig_declarations.go
+++ b/aconfig/all_aconfig_declarations.go
@@ -43,7 +43,8 @@ type allAconfigReleaseDeclarationsSingleton struct {
}
type allAconfigReleaseDeclarationsProperties struct {
- Api_files proptools.Configurable[[]string] `android:"arch_variant,path"`
+ Api_signature_files proptools.Configurable[[]string] `android:"arch_variant,path"`
+ Finalized_flags_file string `android:"arch_variant,path"`
}
type allAconfigDeclarationsSingleton struct {
@@ -63,23 +64,25 @@ func (this *allAconfigDeclarationsSingleton) sortedConfigNames() []string {
}
func (this *allAconfigDeclarationsSingleton) GenerateAndroidBuildActions(ctx android.ModuleContext) {
- apiFiles := android.Paths{}
- for _, apiFile := range this.properties.Api_files.GetOrDefault(ctx, nil) {
- if path := android.PathForModuleSrc(ctx, apiFile); path != nil {
- apiFiles = append(apiFiles, path)
+ apiSignatureFiles := android.Paths{}
+ for _, apiSignatureFile := range this.properties.Api_signature_files.GetOrDefault(ctx, nil) {
+ if path := android.PathForModuleSrc(ctx, apiSignatureFile); path != nil {
+ apiSignatureFiles = append(apiSignatureFiles, path)
}
}
- flagFile := android.PathForIntermediates(ctx, "all_aconfig_declarations.pb")
+ finalizedFlagsFile := android.PathForModuleSrc(ctx, this.properties.Finalized_flags_file)
+ parsedFlagsFile := android.PathForIntermediates(ctx, "all_aconfig_declarations.pb")
output := android.PathForIntermediates(ctx, "finalized-flags.txt")
ctx.Build(pctx, android.BuildParams{
Rule: RecordFinalizedFlagsRule,
- Inputs: append(apiFiles, flagFile),
+ Inputs: append(apiSignatureFiles, finalizedFlagsFile, parsedFlagsFile),
Output: output,
Args: map[string]string{
- "api_files": android.JoinPathsWithPrefix(apiFiles, "--api-file "),
- "flag_file": "--flag-file " + flagFile.String(),
+ "api_signature_files": android.JoinPathsWithPrefix(apiSignatureFiles, "--api-signature-file "),
+ "finalized_flags_file": "--finalized-flags-file " + finalizedFlagsFile.String(),
+ "parsed_flags_file": "--parsed-flags-file " + parsedFlagsFile.String(),
},
})
ctx.Phony("all_aconfig_declarations", output)
diff --git a/aconfig/init.go b/aconfig/init.go
index 3d7b20d20..3dcec5cd8 100644
--- a/aconfig/init.go
+++ b/aconfig/init.go
@@ -72,11 +72,11 @@ var (
}, "cache_files")
RecordFinalizedFlagsRule = pctx.AndroidStaticRule("RecordFinalizedFlagsRule",
blueprint.RuleParams{
- Command: `${record-finalized-flags} ${flag_file} ${api_files} > ${out}`,
+ Command: `${record-finalized-flags} ${parsed_flags_file} ${finalized_flags_file} ${api_signature_files} > ${out}`,
CommandDeps: []string{
"${record-finalized-flags}",
},
- }, "api_files", "flag_file")
+ }, "api_signature_files", "finalized_flags_file", "parsed_flags_file")
CreateStorageRule = pctx.AndroidStaticRule("aconfig_create_storage",
blueprint.RuleParams{