github.com/ppphp/yayagf@v0.0.1/internal/build/build.go (about) 1 package build 2 3 import ( 4 "io/ioutil" 5 "log" 6 "os" 7 8 "github.com/ppphp/yayagf/internal/command" 9 ) 10 11 func init() { 12 // specify build params 13 _ = os.Setenv("GOPROXY", "https://goproxy.io") 14 _ = os.Setenv("GOSUMDB", "off") 15 _ = os.Setenv("GOPRIVATE", "gitlab.papegames.com/*") 16 } 17 18 // BuildBinary build a binary in tmp 19 func BuildBinary() (string, error) { 20 f, err := ioutil.TempFile("", "*") // linux is /tmp/xxxx 21 if err != nil { 22 return "", err 23 } 24 f.Close() 25 if err, o, e := command.DoCommand("go", "build", "-o", f.Name(), "./"); err != nil { 26 log.Printf("build to %v err: %v, err: %v, out: %v\n", f.Name(), err, e, o) 27 return "", err 28 } 29 return f.Name(), nil 30 }