internal/compose/compose_windows.go (24 lines of code) (raw):

// Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one // or more contributor license agreements. Licensed under the Elastic License; // you may not use this file except in compliance with the Elastic License. //go:build windows package compose import ( "context" "os" "os/exec" "github.com/elastic/elastic-package/internal/logger" ) func (p *Project) runDockerComposeCmd(ctx context.Context, opts dockerComposeOptions) error { name, args := p.dockerComposeBaseCommand() args = append(args, opts.args...) cmd := exec.CommandContext(ctx, name, args...) cmd.Cancel = func() error { // Interrupt is not implemented in Windows. return cmd.Process.Kill() } cmd.Env = append(os.Environ(), opts.env...) // TODO: Use a Windows Pseudo-Console (ConPTY) to capture stderr without losing the default output. if logger.IsDebugMode() { cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr } if opts.stdout != nil { cmd.Stdout = opts.stdout } return cmd.Run() }