mirror of
https://github.com/beego/bee.git
synced 2024-11-25 15:00:55 +00:00
Merge branch 'master' of github.com:beego/bee
This commit is contained in:
commit
d4cd5a0671
@ -150,7 +150,7 @@ func (this *ObjectController) Post() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *ObjectController) Get() {
|
func (this *ObjectController) Get() {
|
||||||
objectId := this.Ctx.Input.Param[":objectId"]
|
objectId := this.Ctx.Input.Params[":objectId"]
|
||||||
if objectId != "" {
|
if objectId != "" {
|
||||||
ob, err := models.GetOne(objectId)
|
ob, err := models.GetOne(objectId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -166,7 +166,7 @@ func (this *ObjectController) Get() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *ObjectController) Put() {
|
func (this *ObjectController) Put() {
|
||||||
objectId := this.Ctx.Input.Param[":objectId"]
|
objectId := this.Ctx.Input.Params[":objectId"]
|
||||||
var ob models.Object
|
var ob models.Object
|
||||||
json.Unmarshal(this.Ctx.Input.RequestBody, &ob)
|
json.Unmarshal(this.Ctx.Input.RequestBody, &ob)
|
||||||
|
|
||||||
@ -180,7 +180,7 @@ func (this *ObjectController) Put() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *ObjectController) Delete() {
|
func (this *ObjectController) Delete() {
|
||||||
objectId := this.Ctx.Input.Param[":objectId"]
|
objectId := this.Ctx.Input.Params[":objectId"]
|
||||||
models.Delete(objectId)
|
models.Delete(objectId)
|
||||||
this.Data["json"] = "delete success!"
|
this.Data["json"] = "delete success!"
|
||||||
this.ServeJson()
|
this.ServeJson()
|
||||||
|
3
conf.go
3
conf.go
@ -40,7 +40,8 @@ var conf struct {
|
|||||||
Version int
|
Version int
|
||||||
// gopm support
|
// gopm support
|
||||||
Gopm struct {
|
Gopm struct {
|
||||||
Enable bool
|
Enable bool
|
||||||
|
Install bool
|
||||||
}
|
}
|
||||||
// Indicates whether execute "go install" before "go build".
|
// Indicates whether execute "go install" before "go build".
|
||||||
GoInstall bool `json:"go_install"`
|
GoInstall bool `json:"go_install"`
|
||||||
|
4
pack.go
4
pack.go
@ -46,7 +46,7 @@ compress an beego project
|
|||||||
-ba additional args of go build
|
-ba additional args of go build
|
||||||
-o compressed file output dir. default use current path
|
-o compressed file output dir. default use current path
|
||||||
-f format. [ tar.gz / zip ]. default tar.gz. note: zip doesn't support embed symlink, skip it
|
-f format. [ tar.gz / zip ]. default tar.gz. note: zip doesn't support embed symlink, skip it
|
||||||
-exp path exclude prefix
|
-exp path exclude prefix. default: .
|
||||||
-exs path exclude suffix. default: .go:.DS_Store:.tmp
|
-exs path exclude suffix. default: .go:.DS_Store:.tmp
|
||||||
all path use : as separator
|
all path use : as separator
|
||||||
-fs follow symlink. default false
|
-fs follow symlink. default false
|
||||||
@ -72,7 +72,7 @@ var (
|
|||||||
func init() {
|
func init() {
|
||||||
fs := flag.NewFlagSet("pack", flag.ContinueOnError)
|
fs := flag.NewFlagSet("pack", flag.ContinueOnError)
|
||||||
fs.StringVar(&appPath, "p", "", "")
|
fs.StringVar(&appPath, "p", "", "")
|
||||||
fs.StringVar(&excludeP, "exp", "", "")
|
fs.StringVar(&excludeP, "exp", ".", "")
|
||||||
fs.StringVar(&excludeS, "exs", ".go:.DS_Store:.tmp", "")
|
fs.StringVar(&excludeS, "exs", ".go:.DS_Store:.tmp", "")
|
||||||
fs.StringVar(&outputP, "o", "", "")
|
fs.StringVar(&outputP, "o", "", "")
|
||||||
fs.BoolVar(&build, "b", true, "")
|
fs.BoolVar(&build, "b", true, "")
|
||||||
|
60
watch.go
60
watch.go
@ -15,6 +15,7 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
@ -27,9 +28,10 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
cmd *exec.Cmd
|
cmd *exec.Cmd
|
||||||
state sync.Mutex
|
state sync.Mutex
|
||||||
eventTime = make(map[string]int64)
|
eventTime = make(map[string]int64)
|
||||||
|
buildPeriod time.Time
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewWatcher(paths []string) {
|
func NewWatcher(paths []string) {
|
||||||
@ -53,6 +55,12 @@ func NewWatcher(paths []string) {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Prevent duplicated builds.
|
||||||
|
if buildPeriod.Add(1 * time.Second).After(time.Now()) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
buildPeriod = time.Now()
|
||||||
|
|
||||||
mt := getFileModTime(e.Name)
|
mt := getFileModTime(e.Name)
|
||||||
if t := eventTime[e.Name]; mt == t {
|
if t := eventTime[e.Name]; mt == t {
|
||||||
ColorLog("[SKIP] # %s #\n", e.String())
|
ColorLog("[SKIP] # %s #\n", e.String())
|
||||||
@ -69,8 +77,6 @@ func NewWatcher(paths []string) {
|
|||||||
ColorLog("[WARN] %s\n", err.Error()) // No need to exit here
|
ColorLog("[WARN] %s\n", err.Error()) // No need to exit here
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
time.Sleep(500 * time.Millisecond)
|
|
||||||
}()
|
}()
|
||||||
|
|
||||||
ColorLog("[INFO] Initializing watcher...\n")
|
ColorLog("[INFO] Initializing watcher...\n")
|
||||||
@ -120,11 +126,26 @@ func Autobuild() {
|
|||||||
var err error
|
var err error
|
||||||
// For applications use full import path like "github.com/.../.."
|
// For applications use full import path like "github.com/.../.."
|
||||||
// are able to use "go install" to reduce build time.
|
// are able to use "go install" to reduce build time.
|
||||||
if conf.GoInstall {
|
if conf.GoInstall || conf.Gopm.Install {
|
||||||
icmd := exec.Command(cmdName, "install")
|
icmd := exec.Command("go", "list", "./...")
|
||||||
icmd.Stdout = os.Stdout
|
buf := bytes.NewBuffer([]byte(""))
|
||||||
icmd.Stderr = os.Stderr
|
icmd.Stdout = buf
|
||||||
err = icmd.Run()
|
err = icmd.Run()
|
||||||
|
if err == nil {
|
||||||
|
list := strings.Split(buf.String(), "\n")[1:]
|
||||||
|
for _, pkg := range list {
|
||||||
|
if len(pkg) == 0 {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
icmd = exec.Command(cmdName, "install", pkg)
|
||||||
|
icmd.Stdout = os.Stdout
|
||||||
|
icmd.Stderr = os.Stderr
|
||||||
|
err = icmd.Run()
|
||||||
|
if err != nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if err == nil {
|
if err == nil {
|
||||||
@ -132,17 +153,11 @@ func Autobuild() {
|
|||||||
if runtime.GOOS == "windows" {
|
if runtime.GOOS == "windows" {
|
||||||
appName += ".exe"
|
appName += ".exe"
|
||||||
}
|
}
|
||||||
binPath := GetGOPATHs()[0] + "/bin/" + appName
|
|
||||||
|
|
||||||
if conf.GoInstall && isExist(binPath) {
|
bcmd := exec.Command(cmdName, "build")
|
||||||
os.Rename(binPath, appName)
|
bcmd.Stdout = os.Stdout
|
||||||
ColorLog("[INFO] Build command reduced\n")
|
bcmd.Stderr = os.Stderr
|
||||||
} else {
|
err = bcmd.Run()
|
||||||
bcmd := exec.Command(cmdName, "build")
|
|
||||||
bcmd.Stdout = os.Stdout
|
|
||||||
bcmd.Stderr = os.Stderr
|
|
||||||
err = bcmd.Run()
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -156,11 +171,14 @@ func Autobuild() {
|
|||||||
func Kill() {
|
func Kill() {
|
||||||
defer func() {
|
defer func() {
|
||||||
if e := recover(); e != nil {
|
if e := recover(); e != nil {
|
||||||
fmt.Println("Kill -> ", e)
|
fmt.Println("Kill.recover -> ", e)
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
if cmd != nil && cmd.Process != nil {
|
if cmd != nil && cmd.Process != nil {
|
||||||
cmd.Process.Kill()
|
err := cmd.Process.Kill()
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("Kill -> ", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user