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":{
"controllers": "",
"models": ""

3
run.go
View File

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

View File

@ -72,10 +72,23 @@ func Autobuild() {
fmt.Println("[INFO] Start building...")
path, _ := os.Getwd()
os.Chdir(path)
bcmd := exec.Command("go", "build")
bcmd.Stdout = os.Stdout
bcmd.Stderr = os.Stderr
err := bcmd.Run()
var err error
// For applications use full import path like "github.com/.../.."
// 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 {
fmt.Println("[ERRO] ============== Build failed ===================")