func MergeDependencies()

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,
	}
}