Merge "record-finalized-flags: pass in list of finalized flags" into main
diff --git a/aconfig/Android.bp b/aconfig/Android.bp
index 3484b97..43af201 100644
--- a/aconfig/Android.bp
+++ b/aconfig/Android.bp
@@ -34,7 +34,7 @@
// 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"), {
default: [
":frameworks-base-api-current.txt",
":frameworks-base-api-system-current.txt",
@@ -42,4 +42,5 @@
":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 9086c93..ec20099 100644
--- a/aconfig/all_aconfig_declarations.go
+++ b/aconfig/all_aconfig_declarations.go
@@ -43,7 +43,8 @@
}
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) 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 3d7b20d..3dcec5c 100644
--- a/aconfig/init.go
+++ b/aconfig/init.go
@@ -72,11 +72,11 @@
}, "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{