Browse Source

collect services to build using WithServices

Signed-off-by: Nicolas De Loof <[email protected]>
Nicolas De Loof 1 năm trước cách đây
mục cha
commit
5e61c62ecf
1 tập tin đã thay đổi với 3 bổ sung15 xóa
  1. 3 15
      pkg/compose/build.go

+ 3 - 15
pkg/compose/build.go

@@ -22,7 +22,6 @@ import (
 	"fmt"
 	"os"
 	"path/filepath"
-	"sync"
 
 	"github.com/moby/buildkit/util/progress/progressui"
 
@@ -80,30 +79,19 @@ func (s *composeService) build(ctx context.Context, project *types.Project, opti
 
 	imageIDs := map[string]string{}
 	serviceToBeBuild := map[string]serviceToBuild{}
-	mapServiceMutx := sync.Mutex{}
-	err = InDependencyOrder(ctx, project, func(ctx context.Context, name string) error {
-		if len(options.Services) > 0 && !utils.Contains(options.Services, name) {
-			return nil
-		}
-		service := project.Services[name]
-
+	err = project.WithServices(options.Services, func(service types.ServiceConfig) error {
 		if service.Build == nil {
 			return nil
 		}
-
 		image := api.GetImageNameOrDefault(service, project.Name)
 		_, localImagePresent := localImages[image]
 		if localImagePresent && service.PullPolicy != types.PullPolicyBuild {
 			return nil
 		}
-		mapServiceMutx.Lock()
+		name := service.Name
 		serviceToBeBuild[name] = serviceToBuild{name: name, service: service}
-		mapServiceMutx.Unlock()
 		return nil
-	}, func(traversal *graphTraversal) {
-		traversal.maxConcurrency = s.maxConcurrency
-	})
-
+	}, types.IgnoreDependencies)
 	if err != nil || len(serviceToBeBuild) == 0 {
 		return imageIDs, err
 	}