mirror of
https://github.com/beego/bee.git
synced 2024-11-23 11:50:55 +00:00
fix Beego#4972: bee version failed
This commit is contained in:
parent
97df75a28c
commit
afe1678459
@ -52,7 +52,7 @@ func show(out io.Writer, content string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err = t.Execute(out, RuntimeInfo{
|
err = t.Execute(out, RuntimeInfo{
|
||||||
GetGoVersion(),
|
runtime.Version(),
|
||||||
runtime.GOOS,
|
runtime.GOOS,
|
||||||
runtime.GOARCH,
|
runtime.GOARCH,
|
||||||
runtime.NumCPU(),
|
runtime.NumCPU(),
|
||||||
|
@ -1,23 +1,18 @@
|
|||||||
package version
|
package version
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"gopkg.in/yaml.v2"
|
"gopkg.in/yaml.v2"
|
||||||
"io"
|
|
||||||
"os"
|
"os"
|
||||||
path "path/filepath"
|
|
||||||
"regexp"
|
|
||||||
"runtime"
|
"runtime"
|
||||||
|
|
||||||
"github.com/beego/bee/v2/cmd/commands"
|
"github.com/beego/bee/v2/cmd/commands"
|
||||||
"github.com/beego/bee/v2/config"
|
"github.com/beego/bee/v2/config"
|
||||||
beeLogger "github.com/beego/bee/v2/logger"
|
beeLogger "github.com/beego/bee/v2/logger"
|
||||||
"github.com/beego/bee/v2/logger/colors"
|
"github.com/beego/bee/v2/logger/colors"
|
||||||
"github.com/beego/bee/v2/utils"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const verboseVersionBanner string = `%s%s______
|
const verboseVersionBanner string = `%s%s______
|
||||||
@ -27,7 +22,6 @@ const verboseVersionBanner string = `%s%s______
|
|||||||
| |_/ /| __/| __/
|
| |_/ /| __/| __/
|
||||||
\____/ \___| \___| v{{ .BeeVersion }}%s
|
\____/ \___| \___| v{{ .BeeVersion }}%s
|
||||||
%s%s
|
%s%s
|
||||||
├── Beego : {{ .BeegoVersion }}
|
|
||||||
├── GoVersion : {{ .GoVersion }}
|
├── GoVersion : {{ .GoVersion }}
|
||||||
├── GOOS : {{ .GOOS }}
|
├── GOOS : {{ .GOOS }}
|
||||||
├── GOARCH : {{ .GOARCH }}
|
├── GOARCH : {{ .GOARCH }}
|
||||||
@ -72,15 +66,14 @@ func versionCmd(cmd *commands.Command, args []string) int {
|
|||||||
|
|
||||||
if outputFormat != "" {
|
if outputFormat != "" {
|
||||||
runtimeInfo := RuntimeInfo{
|
runtimeInfo := RuntimeInfo{
|
||||||
GetGoVersion(),
|
GoVersion: runtime.Version(),
|
||||||
runtime.GOOS,
|
GOOS: runtime.GOOS,
|
||||||
runtime.GOARCH,
|
GOARCH: runtime.GOARCH,
|
||||||
runtime.NumCPU(),
|
NumCPU: runtime.NumCPU(),
|
||||||
os.Getenv("GOPATH"),
|
GOPATH: os.Getenv("GOPATH"),
|
||||||
runtime.GOROOT(),
|
GOROOT: runtime.GOROOT(),
|
||||||
runtime.Compiler,
|
Compiler: runtime.Compiler,
|
||||||
version,
|
BeeVersion: version,
|
||||||
GetBeegoVersion(),
|
|
||||||
}
|
}
|
||||||
switch outputFormat {
|
switch outputFormat {
|
||||||
case "json":
|
case "json":
|
||||||
@ -115,53 +108,3 @@ func ShowShortVersionBanner() {
|
|||||||
output := colors.NewColorWriter(os.Stdout)
|
output := colors.NewColorWriter(os.Stdout)
|
||||||
InitBanner(output, bytes.NewBufferString(colors.MagentaBold(shortVersionBanner)))
|
InitBanner(output, bytes.NewBufferString(colors.MagentaBold(shortVersionBanner)))
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetBeegoVersion() string {
|
|
||||||
re, err := regexp.Compile(`VERSION = "([0-9.]+)"`)
|
|
||||||
if err != nil {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
wgopath := utils.GetGOPATHs()
|
|
||||||
if len(wgopath) == 0 {
|
|
||||||
beeLogger.Log.Error("GOPATH environment is empty,may be you use `go module`")
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
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
|
|
||||||
}
|
|
||||||
beeLogger.Log.Error("Error while getting stats of 'beego.go'")
|
|
||||||
}
|
|
||||||
fd, err := os.Open(filename)
|
|
||||||
if err != nil {
|
|
||||||
beeLogger.Log.Error("Error while reading 'beego.go'")
|
|
||||||
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 "Beego is not installed. Please do consider installing it first: https://github.com/beego/beego/v2. " +
|
|
||||||
"If you are using go mod, and you don't install the beego under $GOPATH/src/github.com/astaxie, just ignore this."
|
|
||||||
}
|
|
||||||
|
|
||||||
func GetGoVersion() string {
|
|
||||||
return runtime.Version()
|
|
||||||
}
|
|
||||||
|
@ -27,7 +27,7 @@ import (
|
|||||||
const confVer = 0
|
const confVer = 0
|
||||||
|
|
||||||
const (
|
const (
|
||||||
Version = "2.0.2"
|
Version = "2.0.3"
|
||||||
GitRemotePath = "github.com/beego/bee/v2"
|
GitRemotePath = "github.com/beego/bee/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user