From ca8ad92f7184eed1f1d7266f3e2077eae03d22a1 Mon Sep 17 00:00:00 2001 From: Viktor Oreshkin Date: Wed, 12 Sep 2018 02:57:09 +0300 Subject: [PATCH 1/2] Use go/build to get default GOPATH --- parser/parser.go | 7 ------- parser/pkgpath.go | 7 ++----- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/parser/parser.go b/parser/parser.go index 3639ed0..1c0b94c 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -1,11 +1,9 @@ package parser import ( - "bytes" "go/ast" "go/parser" "go/token" - "os/exec" "strings" ) @@ -91,8 +89,3 @@ func (p *Parser) Parse(fname string, isDir bool) error { } return nil } - -func getDefaultGoPath() (string, error) { - output, err := exec.Command("go", "env", "GOPATH").Output() - return string(bytes.TrimSpace(output)), err -} diff --git a/parser/pkgpath.go b/parser/pkgpath.go index 489b392..6442fd6 100644 --- a/parser/pkgpath.go +++ b/parser/pkgpath.go @@ -10,6 +10,7 @@ import ( "path/filepath" "strconv" "strings" + "go/build" ) func getPkgPath(fname string, isDir bool) (string, error) { @@ -137,11 +138,7 @@ func getModulePath(goModPath string) string { func getPkgPathFromGOPATH(fname string, isDir bool) (string, error) { gopath := os.Getenv("GOPATH") if gopath == "" { - var err error - gopath, err = getDefaultGoPath() - if err != nil { - return "", fmt.Errorf("cannot determine GOPATH: %s", err) - } + gopath = build.Default.GOPATH } for _, p := range strings.Split(gopath, string(filepath.ListSeparator)) { From dfc02807591cac4cbdbb7d33f1ba6f75ed32a40e Mon Sep 17 00:00:00 2001 From: Alexandr Mayorskiy Date: Sun, 12 Apr 2020 17:44:20 +0300 Subject: [PATCH 2/2] fix import order --- parser/pkgpath.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parser/pkgpath.go b/parser/pkgpath.go index 4207211..c045c33 100644 --- a/parser/pkgpath.go +++ b/parser/pkgpath.go @@ -3,6 +3,7 @@ package parser import ( "bytes" "fmt" + "go/build" "io/ioutil" "os" "os/exec" @@ -10,7 +11,6 @@ import ( "path/filepath" "strings" "sync" - "go/build" ) func getPkgPath(fname string, isDir bool) (string, error) {