Introduce vintf_fragment module type
Introduce a new vintf_fragment module type which handles vintf_fragment files within Soong. This will help process to move vintf_fragment handling logic from KATI to Soong. This change also introduces vintf_fragment_modules property to mark dependency with vintf_fragment modules. Bug: 322089980 Test: m nothing --no-skip-soong-tests passed Change-Id: I49607f42aeee3ded0ba7b078b903dc35f5d61637
This commit is contained in:
@@ -111,6 +111,7 @@ type Module interface {
|
||||
RequiredModuleNames(ctx ConfigAndErrorContext) []string
|
||||
HostRequiredModuleNames() []string
|
||||
TargetRequiredModuleNames() []string
|
||||
VintfFragmentModuleNames(ctx ConfigAndErrorContext) []string
|
||||
|
||||
FilesToInstall() InstallPaths
|
||||
PackagingSpecs() []PackagingSpec
|
||||
@@ -497,6 +498,9 @@ type commonProperties struct {
|
||||
|
||||
// The team (defined by the owner/vendor) who owns the property.
|
||||
Team *string `android:"path"`
|
||||
|
||||
// vintf_fragment Modules required from this module.
|
||||
Vintf_fragment_modules proptools.Configurable[[]string] `android:"path"`
|
||||
}
|
||||
|
||||
type distProperties struct {
|
||||
@@ -1028,6 +1032,7 @@ func (m *ModuleBase) baseDepsMutator(ctx BottomUpMutatorContext) {
|
||||
fullManifest := pv.DeviceArch != nil && pv.DeviceName != nil
|
||||
if fullManifest {
|
||||
addRequiredDeps(ctx)
|
||||
addVintfFragmentDeps(ctx)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1105,6 +1110,16 @@ func addRequiredDeps(ctx BottomUpMutatorContext) {
|
||||
}
|
||||
}
|
||||
|
||||
var vintfDepTag = struct {
|
||||
blueprint.BaseDependencyTag
|
||||
InstallAlwaysNeededDependencyTag
|
||||
}{}
|
||||
|
||||
func addVintfFragmentDeps(ctx BottomUpMutatorContext) {
|
||||
mod := ctx.Module()
|
||||
ctx.AddDependency(mod, vintfDepTag, mod.VintfFragmentModuleNames(ctx)...)
|
||||
}
|
||||
|
||||
// AddProperties "registers" the provided props
|
||||
// each value in props MUST be a pointer to a struct
|
||||
func (m *ModuleBase) AddProperties(props ...interface{}) {
|
||||
@@ -1597,6 +1612,10 @@ func (m *ModuleBase) TargetRequiredModuleNames() []string {
|
||||
return m.base().commonProperties.Target_required
|
||||
}
|
||||
|
||||
func (m *ModuleBase) VintfFragmentModuleNames(ctx ConfigAndErrorContext) []string {
|
||||
return m.base().commonProperties.Vintf_fragment_modules.GetOrDefault(m.ConfigurableEvaluator(ctx), nil)
|
||||
}
|
||||
|
||||
func (m *ModuleBase) InitRc() Paths {
|
||||
return append(Paths{}, m.initRcPaths...)
|
||||
}
|
||||
|
Reference in New Issue
Block a user