blob: c52e73af9e44bdb2ca3757969e799cb5dbec934c [file] [log] [blame]
Serge Bazanskicc25bdf2018-10-25 14:02:58 +02001package packr
2
3import (
4 "os"
5 "os/exec"
6 "path/filepath"
7 "strings"
8 "sync"
9)
10
11var goPath = filepath.Join(os.Getenv("HOME"), "go")
12
13func init() {
14 var once sync.Once
15 once.Do(func() {
16 cmd := exec.Command("go", "env", "GOPATH")
17 b, err := cmd.CombinedOutput()
18 if err != nil {
19 return
20 }
21 goPath = strings.TrimSpace(string(b))
22 })
23}
24
25// GoPath returns the current GOPATH env var
26// or if it's missing, the default.
27func GoPath() string {
28 return goPath
29}
30
31// GoBin returns the current GO_BIN env var
32// or if it's missing, a default of "go"
33func GoBin() string {
34 go_bin := os.Getenv("GO_BIN")
35 if go_bin == "" {
36 return "go"
37 }
38 return go_bin
39}