@@ -11,18 +11,13 @@ var (
1111 PipInstallFlags = []string {"install" , "--upgrade" , "--root-user-action=ignore" }
1212)
1313
14- func Install (
14+ func install (
1515 executeFn func (executable string , params ... string ) error ,
1616 virtualEnv string ,
1717 module string ,
1818 version string ,
1919 extraArgs []string ,
2020) error {
21- pipBinary := "pip"
22- if len (virtualEnv ) > 0 {
23- pipBinary = filepath .Join (virtualEnv , "bin" , pipBinary )
24- }
25-
2621 flags := PipInstallFlags
2722 if len (extraArgs ) > 0 {
2823 flags = append (flags , extraArgs ... )
@@ -34,26 +29,23 @@ func Install(
3429 flags = append (flags , module )
3530 }
3631
37- if err := executeFn (pipBinary , flags ... ); err != nil {
38- return fmt .Errorf ("failed to install %s: %w" , module , err )
39- }
40- return nil
32+ return executeFn (getBinary (virtualEnv , "pip" ), flags ... )
4133}
4234
4335func InstallPip (
4436 executeFn func (executable string , params ... string ) error ,
4537 virtualEnv string ,
4638) error {
4739 log .Entry ().Debug ("updating pip" )
48- return Install (executeFn , virtualEnv , "pip" , "" , nil )
40+ return install (executeFn , virtualEnv , "pip" , "" , nil )
4941}
5042
5143func InstallProjectDependencies (
5244 executeFn func (executable string , params ... string ) error ,
5345 virtualEnv string ,
5446) error {
5547 log .Entry ().Debug ("installing project dependencies" )
56- return Install (executeFn , virtualEnv , "." , "" , nil )
48+ return install (executeFn , virtualEnv , "." , "" , nil )
5749}
5850
5951func InstallRequirements (
@@ -62,31 +54,31 @@ func InstallRequirements(
6254 requirementsFile string ,
6355) error {
6456 log .Entry ().Debug ("installing requirements" )
65- return Install (executeFn , virtualEnv , "" , "" , []string {"--requirement" , requirementsFile })
57+ return install (executeFn , virtualEnv , "" , "" , []string {"--requirement" , requirementsFile })
6658}
6759
6860func InstallBuild (
6961 executeFn func (executable string , params ... string ) error ,
7062 virtualEnv string ,
7163) error {
7264 log .Entry ().Debug ("installing build" )
73- return Install (executeFn , virtualEnv , "build" , "" , nil )
65+ return install (executeFn , virtualEnv , "build" , "" , nil )
7466}
7567
7668func InstallWheel (
7769 executeFn func (executable string , params ... string ) error ,
7870 virtualEnv string ,
7971) error {
8072 log .Entry ().Debug ("installing wheel" )
81- return Install (executeFn , virtualEnv , "wheel" , "" , nil )
73+ return install (executeFn , virtualEnv , "wheel" , "" , nil )
8274}
8375
8476func InstallTwine (
8577 executeFn func (executable string , params ... string ) error ,
8678 virtualEnv string ,
8779) error {
8880 log .Entry ().Debug ("installing twine" )
89- return Install (executeFn , virtualEnv , "twine" , "" , nil )
81+ return install (executeFn , virtualEnv , "twine" , "" , nil )
9082}
9183
9284func InstallCycloneDX (
@@ -95,5 +87,12 @@ func InstallCycloneDX(
9587 cycloneDXVersion string ,
9688) error {
9789 log .Entry ().Debug ("installing cyclonedx-bom" )
98- return Install (executeFn , virtualEnv , "cyclonedx-bom" , cycloneDXVersion , nil )
90+ return install (executeFn , virtualEnv , "cyclonedx-bom" , cycloneDXVersion , nil )
91+ }
92+
93+ func getBinary (virtualEnv string , binary string ) string {
94+ if len (virtualEnv ) > 0 {
95+ return filepath .Join (virtualEnv , "bin" , binary )
96+ }
97+ return binary
9998}
0 commit comments