(other PluginDependencies)
| 489 | } |
| 490 | |
| 491 | func (req PluginDependencies) Join(other PluginDependencies) PluginDependencies { |
| 492 | m := make(map[string]*PluginDependency) |
| 493 | for _, r := range req { |
| 494 | m[r.Name] = r |
| 495 | } |
| 496 | for _, o := range other { |
| 497 | cur, ok := m[o.Name] |
| 498 | if ok { |
| 499 | m[o.Name] = &PluginDependency{ |
| 500 | o.Name, |
| 501 | o.Range.AND(cur.Range), |
| 502 | } |
| 503 | } else { |
| 504 | m[o.Name] = o |
| 505 | } |
| 506 | } |
| 507 | result := make(PluginDependencies, 0, len(m)) |
| 508 | for _, v := range m { |
| 509 | result = append(result, v) |
| 510 | } |
| 511 | return result |
| 512 | } |
| 513 | |
| 514 | // Resolve resolves dependencies between different plugins |
| 515 | func (all PluginPackages) Resolve(selectedVersions PluginVersions, open PluginDependencies) (PluginVersions, error) { |
no outgoing calls