From d5fc469dd82aaaf40548c7e66149c9c3e69ec281 Mon Sep 17 00:00:00 2001 From: Sasha Smundak Date: Wed, 13 Apr 2022 18:45:57 -0700 Subject: [PATCH] If invoked 'go list' command fails, show its stderr. Test: manual Change-Id: I776b71f8b6c6c3d46d60e790d944282efd6d55d7 --- cmd/go2bp/go2bp.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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{}