()
| 638 | } |
| 639 | |
| 640 | func (w *Watcher) dedupDependencies() { |
| 641 | // remove from dependencies if the dependency is also a dependency of another dependency, or have duplicates. |
| 642 | deps := w.dependencies() |
| 643 | for _, dep := range w.dependsOn { |
| 644 | depdeps := dep.dependencies() |
| 645 | for depdep := range depdeps.Iter { |
| 646 | deps.Del(depdep) |
| 647 | } |
| 648 | } |
| 649 | newDepOn := make([]string, 0, deps.Len()) |
| 650 | newDeps := make([]*dependency, 0, deps.Len()) |
| 651 | for _, dep := range deps.Iter { |
| 652 | newDepOn = append(newDepOn, dep.cfg.ContainerName()) |
| 653 | newDeps = append(newDeps, dep) |
| 654 | } |
| 655 | w.cfg.DependsOn = newDepOn |
| 656 | w.dependsOn = newDeps |
| 657 | } |
| 658 | |
| 659 | func (w *Watcher) dependencies() *ordered.Map[string, *dependency] { |
| 660 | deps := ordered.NewMap[string, *dependency]() |
no test coverage detected