Add option go install

This commit is contained in:
Unknown 2013-07-25 16:26:54 +08:00
parent ead4f9fd81
commit 422e2dc737
3 changed files with 21 additions and 4 deletions

View File

@ -1,4 +1,5 @@
{ {
"go_install": false,
"dir_structure":{ "dir_structure":{
"controllers": "", "controllers": "",
"models": "" "models": ""

3
run.go
View File

@ -36,6 +36,8 @@ func init() {
var appname string var appname string
var conf struct { var conf struct {
// Indicates whether execute "go install" before "go build".
GoInstall bool `json:"go_install"`
DirStruct struct { DirStruct struct {
Controllers string Controllers string
Models string Models string
@ -71,6 +73,7 @@ func runApp(cmd *Command, args []string) {
// loadConfig loads customized configuration. // loadConfig loads customized configuration.
func loadConfig() error { func loadConfig() error {
fmt.Println("[INFO] Detect bee.json")
f, err := os.Open("bee.json") f, err := os.Open("bee.json")
if err != nil { if err != nil {
// Use default. // Use default.

View File

@ -72,10 +72,23 @@ func Autobuild() {
fmt.Println("[INFO] Start building...") fmt.Println("[INFO] Start building...")
path, _ := os.Getwd() path, _ := os.Getwd()
os.Chdir(path) os.Chdir(path)
bcmd := exec.Command("go", "build")
bcmd.Stdout = os.Stdout var err error
bcmd.Stderr = os.Stderr // For applications use full import path like "github.com/.../.."
err := bcmd.Run() // are able to use "go install" to reduce build time.
if conf.GoInstall {
icmd := exec.Command("go", "install")
icmd.Stdout = os.Stdout
icmd.Stderr = os.Stderr
err = icmd.Run()
}
if err == nil {
bcmd := exec.Command("go", "build")
bcmd.Stdout = os.Stdout
bcmd.Stderr = os.Stderr
err = bcmd.Run()
}
if err != nil { if err != nil {
fmt.Println("[ERRO] ============== Build failed ===================") fmt.Println("[ERRO] ============== Build failed ===================")