mirror of
https://github.com/SAP/jenkins-library.git
synced 2026-06-19 22:58:55 +02:00
91 lines
2.2 KiB
Go
91 lines
2.2 KiB
Go
package python
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/SAP/jenkins-library/pkg/log"
|
|
)
|
|
|
|
var (
|
|
PipInstallFlags = []string{"install", "--upgrade", "--root-user-action=ignore"}
|
|
)
|
|
|
|
func install(
|
|
executeFn func(executable string, params ...string) error,
|
|
virtualEnv string,
|
|
module string,
|
|
version string,
|
|
extraArgs []string,
|
|
) error {
|
|
flags := PipInstallFlags
|
|
if len(extraArgs) > 0 {
|
|
flags = append(flags, extraArgs...)
|
|
}
|
|
if len(version) > 0 {
|
|
module = fmt.Sprintf("%s==%s", module, version)
|
|
}
|
|
if len(module) > 0 {
|
|
flags = append(flags, module)
|
|
}
|
|
|
|
return executeFn(getBinary(virtualEnv, "pip"), flags...)
|
|
}
|
|
|
|
func InstallPip(
|
|
executeFn func(executable string, params ...string) error,
|
|
virtualEnv string,
|
|
) error {
|
|
log.Entry().Debug("updating pip")
|
|
return install(executeFn, virtualEnv, "pip", "", nil)
|
|
}
|
|
|
|
func InstallProjectDependencies(
|
|
executeFn func(executable string, params ...string) error,
|
|
virtualEnv string,
|
|
) error {
|
|
log.Entry().Debug("installing project dependencies")
|
|
return install(executeFn, virtualEnv, ".", "", nil)
|
|
}
|
|
|
|
func InstallRequirements(
|
|
executeFn func(executable string, params ...string) error,
|
|
virtualEnv string,
|
|
requirementsFile string,
|
|
) error {
|
|
log.Entry().Debug("installing requirements")
|
|
return install(executeFn, virtualEnv, "", "", []string{"--requirement", requirementsFile})
|
|
}
|
|
|
|
func InstallBuild(
|
|
executeFn func(executable string, params ...string) error,
|
|
virtualEnv string,
|
|
) error {
|
|
log.Entry().Debug("installing build")
|
|
return install(executeFn, virtualEnv, "build", "", nil)
|
|
}
|
|
|
|
func InstallWheel(
|
|
executeFn func(executable string, params ...string) error,
|
|
virtualEnv string,
|
|
) error {
|
|
log.Entry().Debug("installing wheel")
|
|
return install(executeFn, virtualEnv, "wheel", "", nil)
|
|
}
|
|
|
|
func InstallTwine(
|
|
executeFn func(executable string, params ...string) error,
|
|
virtualEnv string,
|
|
) error {
|
|
log.Entry().Debug("installing twine")
|
|
return install(executeFn, virtualEnv, "twine", "", nil)
|
|
}
|
|
|
|
func InstallCycloneDX(
|
|
executeFn func(executable string, params ...string) error,
|
|
virtualEnv string,
|
|
cycloneDXVersion string,
|
|
) error {
|
|
log.Entry().Debug("installing cyclonedx-bom")
|
|
return install(executeFn, virtualEnv, "cyclonedx-bom", cycloneDXVersion, nil)
|
|
}
|