diff --git a/android/build_prop.go b/android/build_prop.go index ed3e9c81f..d3ccecb66 100644 --- a/android/build_prop.go +++ b/android/build_prop.go @@ -31,10 +31,6 @@ type buildPropProperties struct { // properties in prop_files. Block_list []string - // Path to the input prop files. The contents of the files are directly - // emitted to the output - Prop_files []string `android:"path"` - // Files to be appended at the end of build.prop. These files are appended after // post_process_props without any further checking. Footer_files []string `android:"path"` @@ -56,6 +52,14 @@ func (p *buildPropModule) stem() string { return proptools.StringDefault(p.properties.Stem, "build.prop") } +func (p *buildPropModule) propFiles(ctx ModuleContext) Paths { + partition := p.PartitionTag(ctx.DeviceConfig()) + if partition == "system" { + return ctx.Config().SystemPropFiles(ctx) + } + return nil +} + func (p *buildPropModule) GenerateAndroidBuildActions(ctx ModuleContext) { p.outputFilePath = PathForModuleOut(ctx, "build.prop").OutputPath if !ctx.Config().KatiEnabled() { @@ -94,6 +98,7 @@ func (p *buildPropModule) GenerateAndroidBuildActions(ctx ModuleContext) { cmd.FlagWithInput("--platform-preview-sdk-fingerprint-file=", ApiFingerprintPath(ctx)) cmd.FlagWithInput("--product-config=", PathForModuleSrc(ctx, proptools.String(p.properties.Product_config))) cmd.FlagWithArg("--partition=", partition) + cmd.FlagForEachInput("--prop-files=", ctx.Config().SystemPropFiles(ctx)) cmd.FlagWithOutput("--out=", p.outputFilePath) postProcessCmd := rule.Command().BuiltTool("post_process_props") diff --git a/android/config.go b/android/config.go index cadc929c9..bb2c38a1d 100644 --- a/android/config.go +++ b/android/config.go @@ -2081,3 +2081,7 @@ func (c *config) UseDebugArt() bool { return Bool(c.productVariables.Eng) } + +func (c *config) SystemPropFiles(ctx PathContext) Paths { + return PathsForSource(ctx, c.productVariables.SystemPropFiles) +} diff --git a/android/variable.go b/android/variable.go index df0e59ce1..00dcbc409 100644 --- a/android/variable.go +++ b/android/variable.go @@ -507,6 +507,8 @@ type ProductVariables struct { OemProperties []string `json:",omitempty"` ArtTargetIncludeDebugBuild *bool `json:",omitempty"` + + SystemPropFiles []string `json:",omitempty"` } type PartitionQualifiedVariablesType struct {