@@ -146,6 +146,9 @@ func prepareNetworks(project *types.Project) {
146
146
}
147
147
148
148
func prepareServicesDependsOn (p * types.Project ) error {
149
+ allServices := types.Project {}
150
+ allServices .Services = p .AllServices ()
151
+
149
152
for i , service := range p .Services {
150
153
var dependencies []string
151
154
networkDependency := getDependentServiceFromMode (service .NetworkMode )
@@ -178,20 +181,24 @@ func prepareServicesDependsOn(p *types.Project) error {
178
181
dependencies = append (dependencies , strings .Split (link , ":" )[0 ])
179
182
}
180
183
184
+ for d := range service .DependsOn {
185
+ dependencies = append (dependencies , d )
186
+ }
187
+
181
188
if len (dependencies ) == 0 {
182
189
continue
183
190
}
184
- if service .DependsOn == nil {
185
- service .DependsOn = make (types.DependsOnConfig )
186
- }
187
191
188
192
// 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 ... )
192
194
if err != nil {
193
195
return err
194
196
}
197
+
198
+ if service .DependsOn == nil {
199
+ service .DependsOn = make (types.DependsOnConfig )
200
+ }
201
+
195
202
for _ , d := range deps {
196
203
if _ , ok := service .DependsOn [d .Name ]; ! ok {
197
204
service .DependsOn [d .Name ] = types.ServiceDependency {
0 commit comments