Skip to content

Commit e0f21d7

Browse files
committed
Refactoring: introducing dockerComposeOptions struct
1 parent 1fccf0e commit e0f21d7

1 file changed

Lines changed: 16 additions & 10 deletions

File tree

internal/compose/compose.go

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ func (p *Project) Up(opts CommandOptions) error {
123123
args = append(args, opts.ExtraArgs...)
124124
args = append(args, opts.Services...)
125125

126-
if err := p.runDockerComposeCmd(args, opts.Env, nil); err != nil {
126+
if err := p.runDockerComposeCmd(dockerComposeOptions{args: args, env: opts.Env}); err != nil {
127127
return errors.Wrap(err, "running Docker Compose up command failed")
128128
}
129129

@@ -136,7 +136,7 @@ func (p *Project) Down(opts CommandOptions) error {
136136
args = append(args, "down")
137137
args = append(args, opts.ExtraArgs...)
138138

139-
if err := p.runDockerComposeCmd(args, opts.Env, nil); err != nil {
139+
if err := p.runDockerComposeCmd(dockerComposeOptions{args: args, env: opts.Env}); err != nil {
140140
return errors.Wrap(err, "running Docker Compose down command failed")
141141
}
142142

@@ -150,7 +150,7 @@ func (p *Project) Build(opts CommandOptions) error {
150150
args = append(args, opts.ExtraArgs...)
151151
args = append(args, opts.Services...)
152152

153-
if err := p.runDockerComposeCmd(args, opts.Env, nil); err != nil {
153+
if err := p.runDockerComposeCmd(dockerComposeOptions{args: args, env: opts.Env}); err != nil {
154154
return errors.Wrap(err, "running Docker Compose build command failed")
155155
}
156156

@@ -165,7 +165,7 @@ func (p *Project) Config(opts CommandOptions) (*Config, error) {
165165
args = append(args, opts.Services...)
166166

167167
var b bytes.Buffer
168-
if err := p.runDockerComposeCmd(args, opts.Env, &b); err != nil {
168+
if err := p.runDockerComposeCmd(dockerComposeOptions{args: args, env: opts.Env, stdout: &b}); err != nil {
169169
return nil, err
170170
}
171171

@@ -184,7 +184,7 @@ func (p *Project) Pull(opts CommandOptions) error {
184184
args = append(args, opts.ExtraArgs...)
185185
args = append(args, opts.Services...)
186186

187-
if err := p.runDockerComposeCmd(args, opts.Env, nil); err != nil {
187+
if err := p.runDockerComposeCmd(dockerComposeOptions{args: args, env: opts.Env}); err != nil {
188188
return errors.Wrap(err, "running Docker Compose pull command failed")
189189
}
190190

@@ -201,11 +201,17 @@ func (p *Project) baseArgs() []string {
201201
return args
202202
}
203203

204-
func (p *Project) runDockerComposeCmd(args, env []string, stdout io.Writer) error {
205-
cmd := exec.Command("docker-compose", args...)
206-
cmd.Env = append(os.Environ(), env...)
207-
if stdout != nil {
208-
cmd.Stdout = stdout
204+
type dockerComposeOptions struct {
205+
args []string
206+
env []string
207+
stdout io.Writer
208+
}
209+
210+
func (p *Project) runDockerComposeCmd(opts dockerComposeOptions) error {
211+
cmd := exec.Command("docker-compose", opts.args...)
212+
cmd.Env = append(os.Environ(), opts.env...)
213+
if opts.stdout != nil {
214+
cmd.Stdout = opts.stdout
209215
}
210216

211217
logger.Debugf("running command: %s", cmd)

0 commit comments

Comments
 (0)