Skip to content

Commit 3c561e7

Browse files
committed
create: pull all services logic out of loop; add DependsOn deps
Signed-off-by: Nick Sieger <[email protected]>
1 parent 1053220 commit 3c561e7

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

pkg/compose/create.go

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ func prepareNetworks(project *types.Project) {
146146
}
147147

148148
func prepareServicesDependsOn(p *types.Project) error {
149+
allServices := types.Project{}
150+
allServices.Services = p.AllServices()
151+
149152
for i, service := range p.Services {
150153
var dependencies []string
151154
networkDependency := getDependentServiceFromMode(service.NetworkMode)
@@ -178,20 +181,24 @@ func prepareServicesDependsOn(p *types.Project) error {
178181
dependencies = append(dependencies, strings.Split(link, ":")[0])
179182
}
180183

184+
for d := range service.DependsOn {
185+
dependencies = append(dependencies, d)
186+
}
187+
181188
if len(dependencies) == 0 {
182189
continue
183190
}
184-
if service.DependsOn == nil {
185-
service.DependsOn = make(types.DependsOnConfig)
186-
}
187191

188192
// Verify dependencies exist in the project, whether disabled or not
189-
projAllServices := types.Project{}
190-
projAllServices.Services = p.AllServices()
191-
deps, err := projAllServices.GetServices(dependencies...)
193+
deps, err := allServices.GetServices(dependencies...)
192194
if err != nil {
193195
return err
194196
}
197+
198+
if service.DependsOn == nil {
199+
service.DependsOn = make(types.DependsOnConfig)
200+
}
201+
195202
for _, d := range deps {
196203
if _, ok := service.DependsOn[d.Name]; !ok {
197204
service.DependsOn[d.Name] = types.ServiceDependency{

0 commit comments

Comments
 (0)