mirror of
https://github.com/beego/bee.git
synced 2024-11-21 23:50:54 +00:00
update bee get beego & go version
This commit is contained in:
parent
a6f9c78aaa
commit
94c9dee22c
64
version.go
64
version.go
@ -1,11 +1,13 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"io"
|
||||||
"os/exec"
|
"os"
|
||||||
|
path "path/filepath"
|
||||||
"github.com/astaxie/beego"
|
"regexp"
|
||||||
|
"runtime"
|
||||||
)
|
)
|
||||||
|
|
||||||
var cmdVersion = &Command{
|
var cmdVersion = &Command{
|
||||||
@ -26,10 +28,52 @@ func init() {
|
|||||||
|
|
||||||
func versionCmd(cmd *Command, args []string) {
|
func versionCmd(cmd *Command, args []string) {
|
||||||
fmt.Println("bee :" + version)
|
fmt.Println("bee :" + version)
|
||||||
fmt.Println("beego :" + beego.VERSION)
|
fmt.Println("beego :" + getbeegoVersion())
|
||||||
goversion, err := exec.Command("go", "version").Output()
|
fmt.Println("Go :" + runtime.Version())
|
||||||
if err != nil {
|
}
|
||||||
log.Fatal(err)
|
|
||||||
}
|
func getbeegoVersion() string {
|
||||||
fmt.Println("Go :" + string(goversion))
|
gopath := os.Getenv("GOPATH")
|
||||||
|
re, err := regexp.Compile(`const VERSION = "([0-9.]+)"`)
|
||||||
|
if err != nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
if gopath == "" {
|
||||||
|
err = fmt.Errorf("you should set GOPATH in the env")
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
wgopath := path.SplitList(gopath)
|
||||||
|
for _, wg := range wgopath {
|
||||||
|
wg, _ = path.EvalSymlinks(path.Join(wg, "src", "github.com", "astaxie", "beego"))
|
||||||
|
filename := path.Join(wg, "beego.go")
|
||||||
|
_, err := os.Stat(filename)
|
||||||
|
if err != nil {
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ColorLog("[ERRO] get beego.go has error\n")
|
||||||
|
}
|
||||||
|
fd, err := os.Open(filename)
|
||||||
|
if err != nil {
|
||||||
|
ColorLog("[ERRO] open beego.go has error\n")
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
reader := bufio.NewReader(fd)
|
||||||
|
for {
|
||||||
|
byteLine, _, er := reader.ReadLine()
|
||||||
|
if er != nil && er != io.EOF {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
if er == io.EOF {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
line := string(byteLine)
|
||||||
|
s := re.FindStringSubmatch(line)
|
||||||
|
if len(s) >= 2 {
|
||||||
|
return s[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return "you don't install beego,install first: github.com/astaxie/beego"
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user