github.com/jfrog/jfrog-cli-core/v2@v2.51.0/artifactory/commands/python/pip.go (about) 1 package python 2 3 import ( 4 "io" 5 "os/exec" 6 7 "github.com/jfrog/build-info-go/entities" 8 "github.com/jfrog/build-info-go/utils/pythonutils" 9 "github.com/jfrog/jfrog-cli-core/v2/artifactory/commands/python/dependencies" 10 "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils" 11 "github.com/jfrog/jfrog-cli-core/v2/utils/config" 12 ) 13 14 type PipCommand struct { 15 PythonCommand 16 } 17 18 func NewPipCommand() *PipCommand { 19 return &PipCommand{PythonCommand: *NewPythonCommand(pythonutils.Pip)} 20 } 21 22 func (pc *PipCommand) Run() (err error) { 23 return pc.PythonCommand.Run() 24 } 25 26 func (pc *PipCommand) UpdateDepsChecksumInfoFunc(dependenciesMap map[string]entities.Dependency, srcPath string) error { 27 servicesManager, err := utils.CreateServiceManager(pc.serverDetails, -1, 0, false) 28 if err != nil { 29 return err 30 } 31 return dependencies.UpdateDepsChecksumInfo(dependenciesMap, srcPath, servicesManager, pc.repository) 32 } 33 34 func (pc *PipCommand) SetRepo(repo string) *PipCommand { 35 pc.PythonCommand.SetRepo(repo) 36 return pc 37 } 38 39 func (pc *PipCommand) SetArgs(arguments []string) *PipCommand { 40 pc.PythonCommand.SetArgs(arguments) 41 return pc 42 } 43 44 func (pc *PipCommand) SetCommandName(commandName string) *PipCommand { 45 pc.PythonCommand.SetCommandName(commandName) 46 return pc 47 } 48 49 func (pc *PipCommand) CommandName() string { 50 return "rt_python_pip" 51 } 52 53 func (pc *PipCommand) SetServerDetails(serverDetails *config.ServerDetails) *PipCommand { 54 pc.PythonCommand.SetServerDetails(serverDetails) 55 return pc 56 } 57 58 func (pc *PipCommand) ServerDetails() (*config.ServerDetails, error) { 59 return pc.serverDetails, nil 60 } 61 62 func (pc *PipCommand) GetCmd() *exec.Cmd { 63 var cmd []string 64 cmd = append(cmd, string(pc.pythonTool)) 65 cmd = append(cmd, pc.commandName) 66 cmd = append(cmd, pc.args...) 67 return exec.Command(cmd[0], cmd[1:]...) 68 } 69 70 func (pc *PipCommand) GetEnv() map[string]string { 71 return map[string]string{} 72 } 73 74 func (pc *PipCommand) GetStdWriter() io.WriteCloser { 75 return nil 76 } 77 78 func (pc *PipCommand) GetErrWriter() io.WriteCloser { 79 return nil 80 }