in helpers.go [423:477]
func MergeDependencies(base, target *PackageDependencies) *PackageDependencies {
var (
build map[string]PackageConstraints
runtime map[string]PackageConstraints
recommends map[string]PackageConstraints
test []string
extraRepos []PackageRepositoryConfig
)
if base == nil {
return target
}
if target == nil {
return base
}
if len(target.Build) > 0 {
build = target.Build
} else {
build = base.Build
}
if len(target.Runtime) > 0 {
runtime = target.Runtime
} else {
runtime = base.Runtime
}
if len(target.Recommends) > 0 {
recommends = target.Recommends
} else {
recommends = base.Recommends
}
if len(target.Test) > 0 {
test = target.Test
} else {
test = base.Test
}
if len(target.ExtraRepos) > 0 {
extraRepos = target.ExtraRepos
} else {
extraRepos = base.ExtraRepos
}
return &PackageDependencies{
Build: build,
Runtime: runtime,
Recommends: recommends,
Test: test,
ExtraRepos: extraRepos,
}
}