|author||Dmitri Shuralyov <email@example.com>||Fri Mar 22 11:37:48 2019 -0400|
|committer||Dmitri Shuralyov <firstname.lastname@example.org>||Fri Mar 22 19:14:23 2019 +0000|
go/packages: detect missing binary via exec.ErrNotFound error exec.Command already runs exec.LookPath when given a name that contains no path separators. There's no need to call exec.LookPath a second time to detect that cmd.Run failed because of a missing executable file. It can be detected from the returned error. Do so because it's cleaner. Also improve the error text to say that the problem was that the go executable file was not found in $PATH (or %PATH%, etc., depending on the underlying operating system). In the general case, we can't know if Go is or isn't installed. Example error text on macOS: gopackages: 'go list' driver requires 'go', but executable file not found in $PATH Updates golang/go#29552 Change-Id: I769553f125240dccd02098c22641f6a1ed10063c Reviewed-on: https://go-review.googlesource.com/c/tools/+/168897 Run-TryBot: Dmitri Shuralyov <email@example.com> TryBot-Result: Gobot Gobot <firstname.lastname@example.org> Reviewed-by: Michael Matloob <email@example.com>
This subrepository holds the source for various packages and tools that support the Go programming language.
Some of the tools,
vet for example, are included in binary Go distributions.
Others, including the Go
guru and the test coverage tool, can be fetched with
Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.
The easiest way to install is to run
go get -u golang.org/x/tools/.... You can also manually git clone the repository to
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/tools/(your subdir):” in the subject line, so it is easy to find.