Merge "Make the prefer property configurable" into main

This commit is contained in:
Treehugger Robot
2024-07-30 21:46:07 +00:00
committed by Gerrit Code Review
2 changed files with 9 additions and 7 deletions

View File

@@ -26,3 +26,9 @@ func CreateSelectOsToBool(cases map[string]*bool) proptools.Configurable[bool] {
resultCases, resultCases,
) )
} }
func NewSimpleConfigurable[T proptools.ConfigurableElements](value T) proptools.Configurable[T] {
return proptools.NewConfigurable(nil, []proptools.ConfigurableCase[T]{
proptools.NewConfigurableCase(nil, &value),
})
}

View File

@@ -61,7 +61,7 @@ var _ ExcludeFromApexContentsTag = PrebuiltDepTag
type UserSuppliedPrebuiltProperties struct { type UserSuppliedPrebuiltProperties struct {
// When prefer is set to true the prebuilt will be used instead of any source module with // When prefer is set to true the prebuilt will be used instead of any source module with
// a matching name. // a matching name.
Prefer *bool `android:"arch_variant"` Prefer proptools.Configurable[bool] `android:"arch_variant,replace_instead_of_append"`
// When specified this names a Soong config variable that controls the prefer property. // When specified this names a Soong config variable that controls the prefer property.
// //
@@ -148,11 +148,7 @@ func PrebuiltNameFromSource(name string) string {
} }
func (p *Prebuilt) ForcePrefer() { func (p *Prebuilt) ForcePrefer() {
p.properties.Prefer = proptools.BoolPtr(true) p.properties.Prefer = NewSimpleConfigurable(true)
}
func (p *Prebuilt) Prefer() bool {
return proptools.Bool(p.properties.Prefer)
} }
// SingleSourcePathFromSupplier invokes the supplied supplier for the current module in the // SingleSourcePathFromSupplier invokes the supplied supplier for the current module in the
@@ -707,7 +703,7 @@ func (p *Prebuilt) usePrebuilt(ctx BaseMutatorContext, source Module, prebuilt M
} }
// TODO: use p.Properties.Name and ctx.ModuleDir to override preference // TODO: use p.Properties.Name and ctx.ModuleDir to override preference
return Bool(p.properties.Prefer) return p.properties.Prefer.GetOrDefault(ctx, false)
} }
func (p *Prebuilt) SourceExists() bool { func (p *Prebuilt) SourceExists() bool {