Skip to content

Commit a3bed26

Browse files
committed
update compose-go
Signed-off-by: Nicolas De Loof <[email protected]>
1 parent ae26426 commit a3bed26

File tree

9 files changed

+20
-43
lines changed

9 files changed

+20
-43
lines changed

cmd/compose/compose.go

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,11 @@ func (o *ProjectOptions) ToProject(services []string, po ...cli.ProjectOptionsFn
193193
return nil, errors.New("project name can't be empty. Use `--project-name` to set a valid name")
194194
}
195195

196+
err = project.EnableServices(services...)
197+
if err != nil {
198+
return nil, err
199+
}
200+
196201
for i, s := range project.Services {
197202
s.CustomLabels = map[string]string{
198203
api.ProjectLabel: project.Name,
@@ -208,20 +213,6 @@ func (o *ProjectOptions) ToProject(services []string, po ...cli.ProjectOptionsFn
208213
project.Services[i] = s
209214
}
210215

211-
if profiles, ok := options.Environment["COMPOSE_PROFILES"]; ok && len(o.Profiles) == 0 {
212-
o.Profiles = append(o.Profiles, strings.Split(profiles, ",")...)
213-
}
214-
215-
if len(services) > 0 {
216-
s, err := project.GetServices(services...)
217-
if err != nil {
218-
return nil, err
219-
}
220-
o.Profiles = append(o.Profiles, s.GetProfiles()...)
221-
}
222-
223-
project.ApplyProfiles(o.Profiles)
224-
225216
project.WithoutUnnecessaryResources()
226217

227218
err = project.ForServices(services)
@@ -237,6 +228,7 @@ func (o *ProjectOptions) toProjectOptions(po ...cli.ProjectOptionsFn) (*cli.Proj
237228
cli.WithDotEnv,
238229
cli.WithConfigFileEnv,
239230
cli.WithDefaultConfigPath,
231+
cli.WithProfiles(o.Profiles),
240232
cli.WithName(o.ProjectName))...)
241233
}
242234

cmd/compose/config.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ func (o *configOptions) ToProject(services []string) (*types.Project, error) {
5454
cli.WithResolvedPaths(true),
5555
cli.WithNormalization(!o.noNormalize),
5656
cli.WithConsistency(!o.noConsistency),
57+
cli.WithProfiles(o.Profiles),
5758
cli.WithDiscardEnvFile)
5859
}
5960

@@ -181,7 +182,7 @@ func runHash(streams api.Streams, opts configOptions) error {
181182
}
182183

183184
if len(services) > 0 {
184-
err = withSelectedServicesOnly(project, services)
185+
err = project.ForServices(services, types.IgnoreDependencies)
185186
if err != nil {
186187
return err
187188
}

cmd/compose/pull.go

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ import (
2626
"github.com/spf13/cobra"
2727

2828
"github.com/docker/compose/v2/pkg/api"
29-
"github.com/docker/compose/v2/pkg/utils"
3029
)
3130

3231
type pullOptions struct {
@@ -70,29 +69,14 @@ func pullCommand(p *ProjectOptions, backend api.Service) *cobra.Command {
7069
return cmd
7170
}
7271

73-
func withSelectedServicesOnly(project *types.Project, services []string) error {
74-
enabled, err := project.GetServices(services...)
75-
if err != nil {
76-
return err
77-
}
78-
for _, s := range project.Services {
79-
if !utils.StringContains(services, s.Name) {
80-
project.DisabledServices = append(project.DisabledServices, s)
81-
}
82-
}
83-
project.Services = enabled
84-
85-
return nil
86-
}
87-
8872
func runPull(ctx context.Context, backend api.Service, opts pullOptions, services []string) error {
8973
project, err := opts.ToProject(services)
9074
if err != nil {
9175
return err
9276
}
9377

9478
if !opts.includeDeps {
95-
err := withSelectedServicesOnly(project, services)
79+
err := project.ForServices(services, types.IgnoreDependencies)
9680
if err != nil {
9781
return err
9882
}

cmd/compose/push.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package compose
1919
import (
2020
"context"
2121

22+
"github.com/compose-spec/compose-go/types"
2223
"github.com/spf13/cobra"
2324

2425
"github.com/docker/compose/v2/pkg/api"
@@ -58,7 +59,7 @@ func runPush(ctx context.Context, backend api.Service, opts pushOptions, service
5859
}
5960

6061
if !opts.IncludeDeps {
61-
err := withSelectedServicesOnly(project, services)
62+
err := project.ForServices(services, types.IgnoreDependencies)
6263
if err != nil {
6364
return err
6465
}

cmd/compose/restart.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"context"
2121
"time"
2222

23+
"github.com/compose-spec/compose-go/types"
2324
"github.com/spf13/cobra"
2425

2526
"github.com/docker/compose/v2/pkg/api"
@@ -57,7 +58,7 @@ func runRestart(ctx context.Context, backend api.Service, opts restartOptions, s
5758
}
5859

5960
if opts.noDeps {
60-
err := withSelectedServicesOnly(project, services)
61+
err := project.ForServices(services, types.IgnoreDependencies)
6162
if err != nil {
6263
return err
6364
}

cmd/compose/run.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,12 +91,10 @@ func (opts runOptions) apply(project *types.Project) error {
9191
}
9292

9393
if opts.noDeps {
94-
for _, s := range project.Services {
95-
if s.Name != opts.Service {
96-
project.DisabledServices = append(project.DisabledServices, s)
97-
}
94+
err := project.ForServices([]string{opts.Service}, types.IgnoreDependencies)
95+
if err != nil {
96+
return err
9897
}
99-
project.Services = types.Services{target}
10098
}
10199

102100
for i, s := range project.Services {

cmd/compose/up.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ type upOptions struct {
5454

5555
func (opts upOptions) apply(project *types.Project, services []string) error {
5656
if opts.noDeps {
57-
err := withSelectedServicesOnly(project, services)
57+
err := project.ForServices(services, types.IgnoreDependencies)
5858
if err != nil {
5959
return err
6060
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.20
55
require (
66
github.com/AlecAivazis/survey/v2 v2.3.6
77
github.com/buger/goterm v1.0.4
8-
github.com/compose-spec/compose-go v1.11.0
8+
github.com/compose-spec/compose-go v1.12.0
99
github.com/containerd/console v1.0.3
1010
github.com/containerd/containerd v1.6.19
1111
github.com/cucumber/godog v0.0.0-00010101000000-000000000000

go.sum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,8 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH
165165
github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
166166
github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
167167
github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
168-
github.com/compose-spec/compose-go v1.11.0 h1:YLl0wf4YU9ZVei6mqLxAfI2gWOrqnTsPBAcIe9cO9Zk=
169-
github.com/compose-spec/compose-go v1.11.0/go.mod h1:huuiqxbQTZLkagcN9D/1tEKZwMXVetYeIWtjCAVsoXw=
168+
github.com/compose-spec/compose-go v1.12.0 h1:MSyWW//yijispnqmTqJSMv1ptRTlKU1sLPHJdc2ACnA=
169+
github.com/compose-spec/compose-go v1.12.0/go.mod h1:0/X/dTehChV+KBB696nOOl+HYzKn+XaIm4i12phUB5U=
170170
github.com/containerd/cgroups v1.0.4 h1:jN/mbWBEaz+T1pi5OFtnkQ+8qnmEbAr1Oo1FRm5B0dA=
171171
github.com/containerd/console v1.0.3 h1:lIr7SlA5PxZyMV30bDW0MGbiOPXwc63yRuCP0ARubLw=
172172
github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U=

0 commit comments

Comments
 (0)