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  }