Fix: PathsForModuleSrc does not work for a replaced dependency am: f2976304f7
am: 581569e4cc
Change-Id: I7fee54cf5aa62f5b58b88a4a04e600619b488806
This commit is contained in:
commit
683c699acd
1 changed files with 33 additions and 0 deletions
|
@ -1042,6 +1042,39 @@ func (a *androidModuleContext) validateAndroidModule(module blueprint.Module) Mo
|
||||||
return aModule
|
return aModule
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *androidModuleContext) getDirectDepInternal(name string, tag blueprint.DependencyTag) (blueprint.Module, blueprint.DependencyTag) {
|
||||||
|
type dep struct {
|
||||||
|
mod blueprint.Module
|
||||||
|
tag blueprint.DependencyTag
|
||||||
|
}
|
||||||
|
var deps []dep
|
||||||
|
a.VisitDirectDepsBlueprint(func(m blueprint.Module) {
|
||||||
|
if aModule, _ := m.(Module); aModule != nil && aModule.base().BaseModuleName() == name {
|
||||||
|
returnedTag := a.ModuleContext.OtherModuleDependencyTag(aModule)
|
||||||
|
if tag == nil || returnedTag == tag {
|
||||||
|
deps = append(deps, dep{aModule, returnedTag})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if len(deps) == 1 {
|
||||||
|
return deps[0].mod, deps[0].tag
|
||||||
|
} else if len(deps) >= 2 {
|
||||||
|
panic(fmt.Errorf("Multiple dependencies having same BaseModuleName() %q found from %q",
|
||||||
|
name, a.ModuleName()))
|
||||||
|
} else {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (a *androidModuleContext) GetDirectDepWithTag(name string, tag blueprint.DependencyTag) blueprint.Module {
|
||||||
|
m, _ := a.getDirectDepInternal(name, tag)
|
||||||
|
return m
|
||||||
|
}
|
||||||
|
|
||||||
|
func (a *androidModuleContext) GetDirectDep(name string) (blueprint.Module, blueprint.DependencyTag) {
|
||||||
|
return a.getDirectDepInternal(name, nil)
|
||||||
|
}
|
||||||
|
|
||||||
func (a *androidModuleContext) VisitDirectDepsBlueprint(visit func(blueprint.Module)) {
|
func (a *androidModuleContext) VisitDirectDepsBlueprint(visit func(blueprint.Module)) {
|
||||||
a.ModuleContext.VisitDirectDeps(visit)
|
a.ModuleContext.VisitDirectDeps(visit)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue