github.com/jfrog/jfrog-cli-go@v1.22.1-0.20200318093948-4826ef344ffd/artifactory/utils/nuget/cmd.go (about)

     1  package nuget
     2  
     3  import (
     4  	"github.com/jfrog/jfrog-client-go/utils/errorutils"
     5  	"io"
     6  	"os/exec"
     7  )
     8  
     9  func NewNugetCmd() (*Cmd, error) {
    10  	execPath, err := exec.LookPath("nuget")
    11  	if err != nil {
    12  		return nil, errorutils.CheckError(err)
    13  	}
    14  	return &Cmd{Nuget: execPath}, nil
    15  }
    16  
    17  func (config *Cmd) GetCmd() *exec.Cmd {
    18  	var cmd []string
    19  	cmd = append(cmd, config.Nuget)
    20  	cmd = append(cmd, config.Command...)
    21  	cmd = append(cmd, config.CommandFlags...)
    22  	return exec.Command(cmd[0], cmd[1:]...)
    23  }
    24  
    25  func (config *Cmd) GetEnv() map[string]string {
    26  	return map[string]string{}
    27  }
    28  
    29  func (config *Cmd) GetStdWriter() io.WriteCloser {
    30  	return config.StrWriter
    31  }
    32  
    33  func (config *Cmd) GetErrWriter() io.WriteCloser {
    34  	return config.ErrWriter
    35  }
    36  
    37  type Cmd struct {
    38  	Nuget        string
    39  	Command      []string
    40  	CommandFlags []string
    41  	StrWriter    io.WriteCloser
    42  	ErrWriter    io.WriteCloser
    43  }