diff options
author | 2025-01-21 08:10:08 +0100 | |
---|---|---|
committer | 2025-01-24 13:42:02 +0100 | |
commit | d645ee89e9c95e54eb272c95355197bed853fe66 (patch) | |
tree | 817ee4722ff079980f85551349ceae86b02851d1 /aconfig | |
parent | 106362591879b818dae2459458cae9baed313a22 (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.bp | 3 | ||||
-rw-r--r-- | aconfig/all_aconfig_declarations.go | 21 | ||||
-rw-r--r-- | aconfig/init.go | 4 |
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{ |