@@ -146,6 +146,9 @@ func prepareNetworks(project *types.Project) {
146146}
147147
148148func 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