Update soong for blueprint change to allow multiple deps
Blueprint allows multiple dependencies on the same module after https://github.com/google/blueprint/pull/210. Fix defaults, WalkDeps can now find the same defaults module multiple times. Fix droiddoc, if the srcs_lib points to a lib module that is specified multiple times, for example through explicit properties and implicit default libraries, the srcs would be listed on the command line multiple times. Move srcs_lib to use its own dependency tag. Test: m checkbuild Change-Id: Ia30ce83be1382820d76bca5046ad18cbffe8af1a
This commit is contained in:
@@ -131,11 +131,16 @@ func defaultsDepsMutator(ctx BottomUpMutatorContext) {
|
||||
func defaultsMutator(ctx TopDownMutatorContext) {
|
||||
if defaultable, ok := ctx.Module().(Defaultable); ok && len(defaultable.defaults().Defaults) > 0 {
|
||||
var defaultsList []Defaults
|
||||
seen := make(map[Defaults]bool)
|
||||
|
||||
ctx.WalkDeps(func(module, parent Module) bool {
|
||||
if ctx.OtherModuleDependencyTag(module) == DefaultsDepTag {
|
||||
if defaults, ok := module.(Defaults); ok {
|
||||
defaultsList = append(defaultsList, defaults)
|
||||
return len(defaults.defaults().Defaults) > 0
|
||||
if !seen[defaults] {
|
||||
seen[defaults] = true
|
||||
defaultsList = append(defaultsList, defaults)
|
||||
return len(defaults.defaults().Defaults) > 0
|
||||
}
|
||||
} else {
|
||||
ctx.PropertyErrorf("defaults", "module %s is not an defaults module",
|
||||
ctx.OtherModuleName(module))
|
||||
|
Reference in New Issue
Block a user