diff --git a/cmd/go2bp/go2bp.go b/cmd/go2bp/go2bp.go index 07cb5dfb0..fb5a7469d 100644 --- a/cmd/go2bp/go2bp.go +++ b/cmd/go2bp/go2bp.go @@ -335,12 +335,15 @@ Usage: %s [--rewrite =] [-exclude ] [-regen } cmd := exec.Command("go", "list", "-json", "./...") - output, err := cmd.Output() - if err != nil { - fmt.Fprintf(os.Stderr, "Failed to dump the go packages: %v\n", err) + var stdoutb, stderrb bytes.Buffer + cmd.Stdout = &stdoutb + cmd.Stderr = &stderrb + if err := cmd.Run(); err != nil { + fmt.Fprintf(os.Stderr, "Running %q to dump the Go packages failed: %v, stderr:\n%s\n", + cmd.String(), err, stderrb.Bytes()) os.Exit(1) } - decoder := json.NewDecoder(bytes.NewReader(output)) + decoder := json.NewDecoder(bytes.NewReader(stdoutb.Bytes())) pkgs := []*GoPackage{} pkgMap := map[string]*GoPackage{}