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  }