From c1e10103efe43b9be9d31645d5269f10e7a93718 Mon Sep 17 00:00:00 2001 From: asafa Date: Wed, 7 Aug 2024 17:38:17 +0300 Subject: [PATCH 1/7] Adding stderr to pip install err --- artifactory/commands/python/python.go | 31 +++++++++++++++++++++------ go.mod | 4 ++-- go.sum | 2 -- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/artifactory/commands/python/python.go b/artifactory/commands/python/python.go index fa0c37718..179b4b85b 100644 --- a/artifactory/commands/python/python.go +++ b/artifactory/commands/python/python.go @@ -1,21 +1,23 @@ package python import ( + "bytes" "errors" - python "github.com/jfrog/jfrog-cli-core/v2/utils/python" - "io" - "os/exec" - + "fmt" "github.com/jfrog/build-info-go/build" "github.com/jfrog/build-info-go/entities" "github.com/jfrog/build-info-go/utils/pythonutils" - gofrogcmd "github.com/jfrog/gofrog/io" "github.com/jfrog/jfrog-cli-core/v2/artifactory/commands/python/dependencies" "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils" buildUtils "github.com/jfrog/jfrog-cli-core/v2/common/build" "github.com/jfrog/jfrog-cli-core/v2/utils/config" + python "github.com/jfrog/jfrog-cli-core/v2/utils/python" "github.com/jfrog/jfrog-client-go/utils/errorutils" "github.com/jfrog/jfrog-client-go/utils/log" + "io" + "os" + "os/exec" + "strings" ) type PythonCommand struct { @@ -71,7 +73,24 @@ func (pc *PythonCommand) Run() (err error) { err = errorutils.CheckError(pythonModule.RunInstallAndCollectDependencies(pc.args)) } else { // Python native command - err = gofrogcmd.RunCmd(pc) + for k, v := range pc.GetEnv() { + if err := os.Setenv(k, v); err != nil { + return err + } + } + + cmd := pc.GetCmd() + errBuffer := bytes.NewBuffer([]byte{}) + cmd.Stderr = errBuffer + + err = cmd.Run() + if err != nil { + var exitError *exec.ExitError + if errors.As(err, &exitError) { + err = errors.New(err.Error()) + } + return fmt.Errorf("error while running '%s': %s\n%s", strings.Join(cmd.Args, " "), err.Error(), strings.TrimSpace(string(errBuffer.Bytes()))) + } } return } diff --git a/go.mod b/go.mod index 5d13d2e03..91ad54dfa 100644 --- a/go.mod +++ b/go.mod @@ -96,8 +96,8 @@ require ( gopkg.in/warnings.v0 v0.1.2 // indirect ) -// replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20240804093619-f1e3266838bc +// replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20240804093619-f1e3266838b -// replace github.com/jfrog/build-info-go => github.com/jfrog/build-info-go v1.8.9-0.20240804091815-7407ceb49077 +replace github.com/jfrog/build-info-go => ../build-info-go //github.com/jfrog/build-info-go v1.8.9-0.20240804091815-7407ceb49077 // replace github.com/jfrog/gofrog => github.com/jfrog/gofrog v1.3.3-0.20231223133729-ef57bd08cedc diff --git a/go.sum b/go.sum index a816dcf06..d330dcbd4 100644 --- a/go.sum +++ b/go.sum @@ -92,8 +92,6 @@ github.com/jedib0t/go-pretty/v6 v6.5.9 h1:ACteMBRrrmm1gMsXe9PSTOClQ63IXDUt03H5U+ github.com/jedib0t/go-pretty/v6 v6.5.9/go.mod h1:zbn98qrYlh95FIhwwsbIip0LYpwSG8SUOScs+v9/t0E= github.com/jfrog/archiver/v3 v3.6.1 h1:LOxnkw9pOn45DzCbZNFV6K0+6dCsQ0L8mR3ZcujO5eI= github.com/jfrog/archiver/v3 v3.6.1/go.mod h1:VgR+3WZS4N+i9FaDwLZbq+jeU4B4zctXL+gL4EMzfLw= -github.com/jfrog/build-info-go v1.9.32 h1:PKXAMe84sMdob6eBtwwGz47Fz2cmjMwMPoHW8xuk08Q= -github.com/jfrog/build-info-go v1.9.32/go.mod h1:JTGnENexG1jRhKWCkQtZuDb0PerlzlSzF5OmMLG9kfc= github.com/jfrog/gofrog v1.7.5 h1:dFgtEDefJdlq9cqTRoe09RLxS5Bxbe1Ev5+E6SmZHcg= github.com/jfrog/gofrog v1.7.5/go.mod h1:jyGiCgiqSSR7k86hcUSu67XVvmvkkgWTmPsH25wI298= github.com/jfrog/jfrog-client-go v1.43.2 h1:NLSTTSFUkrNiSYs8rpRW7/sd6gDTPOi/eMVkGEarXq0= From dde699f7fd2848a19e7beefab4aa630d0e0c124d Mon Sep 17 00:00:00 2001 From: asafa Date: Wed, 7 Aug 2024 17:46:32 +0300 Subject: [PATCH 2/7] Fix. --- go.mod | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 91ad54dfa..4d50a0458 100644 --- a/go.mod +++ b/go.mod @@ -98,6 +98,6 @@ require ( // replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20240804093619-f1e3266838b -replace github.com/jfrog/build-info-go => ../build-info-go //github.com/jfrog/build-info-go v1.8.9-0.20240804091815-7407ceb49077 +replace github.com/jfrog/build-info-go => github.com/asafambar/build-info-go v1.8.9-0.20240807140220-fcdb3f8907fc // replace github.com/jfrog/gofrog => github.com/jfrog/gofrog v1.3.3-0.20231223133729-ef57bd08cedc From d49b0c32a5424bd517def32e932fbd1063777e09 Mon Sep 17 00:00:00 2001 From: asafa Date: Wed, 7 Aug 2024 18:09:00 +0300 Subject: [PATCH 3/7] Fix. --- go.sum | 2 ++ 1 file changed, 2 insertions(+) diff --git a/go.sum b/go.sum index d330dcbd4..032a1570e 100644 --- a/go.sum +++ b/go.sum @@ -20,6 +20,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= +github.com/asafambar/build-info-go v1.8.9-0.20240807140220-fcdb3f8907fc h1:wsXFy/yk78s56NPHlqat6h/S97AFX/euePu+mkD1c9o= +github.com/asafambar/build-info-go v1.8.9-0.20240807140220-fcdb3f8907fc/go.mod h1:JTGnENexG1jRhKWCkQtZuDb0PerlzlSzF5OmMLG9kfc= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= github.com/bradleyjkemp/cupaloy/v2 v2.8.0/go.mod h1:bm7JXdkRd4BHJk9HpwqAI8BoAY1lps46Enkdqw6aRX0= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= From 27e8eed35782b69a8754bed48826943257173009 Mon Sep 17 00:00:00 2001 From: asafa Date: Wed, 7 Aug 2024 18:27:18 +0300 Subject: [PATCH 4/7] Fix. --- artifactory/commands/python/python.go | 2 +- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/artifactory/commands/python/python.go b/artifactory/commands/python/python.go index 179b4b85b..1f88d644c 100644 --- a/artifactory/commands/python/python.go +++ b/artifactory/commands/python/python.go @@ -89,7 +89,7 @@ func (pc *PythonCommand) Run() (err error) { if errors.As(err, &exitError) { err = errors.New(err.Error()) } - return fmt.Errorf("error while running '%s': %s\n%s", strings.Join(cmd.Args, " "), err.Error(), strings.TrimSpace(string(errBuffer.Bytes()))) + return fmt.Errorf("error while running '%s': %s\n%s", strings.Join(cmd.Args, " "), err.Error(), strings.TrimSpace(errBuffer.String())) } } return diff --git a/go.mod b/go.mod index 18f2edf3a..3f51825a9 100644 --- a/go.mod +++ b/go.mod @@ -98,6 +98,6 @@ require ( replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20240806162439-01bb7dcd43fc -replace github.com/jfrog/build-info-go => github.com/asafambar/build-info-go v1.8.9-0.20240807140220-fcdb3f8907fc +replace github.com/jfrog/build-info-go => github.com/asafambar/build-info-go v1.8.9-0.20240807152403-f8c5bed8210b // replace github.com/jfrog/gofrog => github.com/jfrog/gofrog v1.3.3-0.20231223133729-ef57bd08cedc diff --git a/go.sum b/go.sum index 0af45d80d..ea8b56f4f 100644 --- a/go.sum +++ b/go.sum @@ -20,8 +20,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/asafambar/build-info-go v1.8.9-0.20240807140220-fcdb3f8907fc h1:wsXFy/yk78s56NPHlqat6h/S97AFX/euePu+mkD1c9o= -github.com/asafambar/build-info-go v1.8.9-0.20240807140220-fcdb3f8907fc/go.mod h1:JTGnENexG1jRhKWCkQtZuDb0PerlzlSzF5OmMLG9kfc= +github.com/asafambar/build-info-go v1.8.9-0.20240807152403-f8c5bed8210b h1:af3eE3gtRx9hn/H3CpDgPPZ/Qb+PJg9FeZ1KONjE0Rs= +github.com/asafambar/build-info-go v1.8.9-0.20240807152403-f8c5bed8210b/go.mod h1:JTGnENexG1jRhKWCkQtZuDb0PerlzlSzF5OmMLG9kfc= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= github.com/bradleyjkemp/cupaloy/v2 v2.8.0/go.mod h1:bm7JXdkRd4BHJk9HpwqAI8BoAY1lps46Enkdqw6aRX0= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= From 31f89dba3afc5fa8a066a1bac31c1a857fe6ab41 Mon Sep 17 00:00:00 2001 From: asafa Date: Tue, 13 Aug 2024 14:29:42 +0300 Subject: [PATCH 5/7] Fix, added multiWriter. --- artifactory/commands/python/python.go | 13 ++++++------- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/artifactory/commands/python/python.go b/artifactory/commands/python/python.go index 1f88d644c..b594bb2cd 100644 --- a/artifactory/commands/python/python.go +++ b/artifactory/commands/python/python.go @@ -3,9 +3,9 @@ package python import ( "bytes" "errors" - "fmt" "github.com/jfrog/build-info-go/build" "github.com/jfrog/build-info-go/entities" + buildInfoUtils "github.com/jfrog/build-info-go/utils" "github.com/jfrog/build-info-go/utils/pythonutils" "github.com/jfrog/jfrog-cli-core/v2/artifactory/commands/python/dependencies" "github.com/jfrog/jfrog-cli-core/v2/artifactory/utils" @@ -17,7 +17,6 @@ import ( "io" "os" "os/exec" - "strings" ) type PythonCommand struct { @@ -81,15 +80,15 @@ func (pc *PythonCommand) Run() (err error) { cmd := pc.GetCmd() errBuffer := bytes.NewBuffer([]byte{}) - cmd.Stderr = errBuffer + multiWriter := io.MultiWriter(os.Stderr, errBuffer) + cmd.Stderr = multiWriter + cmd.Stdout = os.Stdout err = cmd.Run() if err != nil { - var exitError *exec.ExitError - if errors.As(err, &exitError) { - err = errors.New(err.Error()) + if buildInfoUtils.IsForbiddenOutput("pip", errBuffer.String()) { + err = errors.Join(err, buildInfoUtils.NewForbiddenError()) } - return fmt.Errorf("error while running '%s': %s\n%s", strings.Join(cmd.Args, " "), err.Error(), strings.TrimSpace(errBuffer.String())) } } return diff --git a/go.mod b/go.mod index 3f51825a9..4346fbe44 100644 --- a/go.mod +++ b/go.mod @@ -98,6 +98,6 @@ require ( replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20240806162439-01bb7dcd43fc -replace github.com/jfrog/build-info-go => github.com/asafambar/build-info-go v1.8.9-0.20240807152403-f8c5bed8210b +replace github.com/jfrog/build-info-go => github.com/asafambar/build-info-go v1.8.9-0.20240813103022-2cc938affc4c // replace github.com/jfrog/gofrog => github.com/jfrog/gofrog v1.3.3-0.20231223133729-ef57bd08cedc diff --git a/go.sum b/go.sum index ea8b56f4f..860d86c7f 100644 --- a/go.sum +++ b/go.sum @@ -20,8 +20,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/asafambar/build-info-go v1.8.9-0.20240807152403-f8c5bed8210b h1:af3eE3gtRx9hn/H3CpDgPPZ/Qb+PJg9FeZ1KONjE0Rs= -github.com/asafambar/build-info-go v1.8.9-0.20240807152403-f8c5bed8210b/go.mod h1:JTGnENexG1jRhKWCkQtZuDb0PerlzlSzF5OmMLG9kfc= +github.com/asafambar/build-info-go v1.8.9-0.20240813103022-2cc938affc4c h1:WziT3LrEwkHgD3ivsLmSuxS+OF4N3iTL6ozof8WskhE= +github.com/asafambar/build-info-go v1.8.9-0.20240813103022-2cc938affc4c/go.mod h1:6mdtqjREK76bHNODXakqKR/+ksJ9dvfLS7H57BZtnLY= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= github.com/bradleyjkemp/cupaloy/v2 v2.8.0/go.mod h1:bm7JXdkRd4BHJk9HpwqAI8BoAY1lps46Enkdqw6aRX0= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= From 22288f633206a091935143ca6cf6968dbb5b0084 Mon Sep 17 00:00:00 2001 From: asafa Date: Mon, 19 Aug 2024 16:35:46 +0300 Subject: [PATCH 6/7] Fix --- artifactory/commands/python/python.go | 2 +- go.mod | 2 +- go.sum | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/artifactory/commands/python/python.go b/artifactory/commands/python/python.go index b594bb2cd..5e193040d 100644 --- a/artifactory/commands/python/python.go +++ b/artifactory/commands/python/python.go @@ -86,7 +86,7 @@ func (pc *PythonCommand) Run() (err error) { err = cmd.Run() if err != nil { - if buildInfoUtils.IsForbiddenOutput("pip", errBuffer.String()) { + if buildInfoUtils.IsForbiddenOutput(buildInfoUtils.Pip, errBuffer.String()) { err = errors.Join(err, buildInfoUtils.NewForbiddenError()) } } diff --git a/go.mod b/go.mod index 4346fbe44..bad91a5cf 100644 --- a/go.mod +++ b/go.mod @@ -98,6 +98,6 @@ require ( replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20240806162439-01bb7dcd43fc -replace github.com/jfrog/build-info-go => github.com/asafambar/build-info-go v1.8.9-0.20240813103022-2cc938affc4c +replace github.com/jfrog/build-info-go => github.com/asafambar/build-info-go v1.8.9-0.20240819133117-c3f52700927d // replace github.com/jfrog/gofrog => github.com/jfrog/gofrog v1.3.3-0.20231223133729-ef57bd08cedc diff --git a/go.sum b/go.sum index 860d86c7f..f7e9ed16a 100644 --- a/go.sum +++ b/go.sum @@ -20,8 +20,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/asafambar/build-info-go v1.8.9-0.20240813103022-2cc938affc4c h1:WziT3LrEwkHgD3ivsLmSuxS+OF4N3iTL6ozof8WskhE= -github.com/asafambar/build-info-go v1.8.9-0.20240813103022-2cc938affc4c/go.mod h1:6mdtqjREK76bHNODXakqKR/+ksJ9dvfLS7H57BZtnLY= +github.com/asafambar/build-info-go v1.8.9-0.20240819133117-c3f52700927d h1:GS9yDbl7Moer5ODbWu+DPcQtyCYlmRL4TAdt1l+b/Vo= +github.com/asafambar/build-info-go v1.8.9-0.20240819133117-c3f52700927d/go.mod h1:6mdtqjREK76bHNODXakqKR/+ksJ9dvfLS7H57BZtnLY= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= github.com/bradleyjkemp/cupaloy/v2 v2.8.0/go.mod h1:bm7JXdkRd4BHJk9HpwqAI8BoAY1lps46Enkdqw6aRX0= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= From ae8ee9bfc53173ba7f333a84d5b1b3523f700812 Mon Sep 17 00:00:00 2001 From: asafa Date: Tue, 20 Aug 2024 20:18:12 +0300 Subject: [PATCH 7/7] Fix --- go.sum | 2 -- 1 file changed, 2 deletions(-) diff --git a/go.sum b/go.sum index 5eabd5093..c5ede1ed4 100644 --- a/go.sum +++ b/go.sum @@ -94,8 +94,6 @@ github.com/jedib0t/go-pretty/v6 v6.5.9 h1:ACteMBRrrmm1gMsXe9PSTOClQ63IXDUt03H5U+ github.com/jedib0t/go-pretty/v6 v6.5.9/go.mod h1:zbn98qrYlh95FIhwwsbIip0LYpwSG8SUOScs+v9/t0E= github.com/jfrog/archiver/v3 v3.6.1 h1:LOxnkw9pOn45DzCbZNFV6K0+6dCsQ0L8mR3ZcujO5eI= github.com/jfrog/archiver/v3 v3.6.1/go.mod h1:VgR+3WZS4N+i9FaDwLZbq+jeU4B4zctXL+gL4EMzfLw= -github.com/jfrog/build-info-go v1.9.33 h1:TEeTHDc3tEwZe/7kKhm1hQDd5vA/HnVhp1ZczUOWExk= -github.com/jfrog/build-info-go v1.9.33/go.mod h1:JTGnENexG1jRhKWCkQtZuDb0PerlzlSzF5OmMLG9kfc= github.com/jfrog/gofrog v1.7.5 h1:dFgtEDefJdlq9cqTRoe09RLxS5Bxbe1Ev5+E6SmZHcg= github.com/jfrog/gofrog v1.7.5/go.mod h1:jyGiCgiqSSR7k86hcUSu67XVvmvkkgWTmPsH25wI298= github.com/jfrog/jfrog-client-go v1.44.1 h1:Dj2+gIWMInHe7MWX3XLRhPRnlFOm7jnbCrGSgFDSMFY=