From d9633cd9af4f8cbfaebff899911f3c4edb949746 Mon Sep 17 00:00:00 2001 From: yitea Date: Tue, 21 Jul 2020 22:24:42 +0800 Subject: [PATCH 01/40] repair staticcheck --- internal/app/module/beegopro/container.go | 39 ++++++++++---------- internal/app/module/beegopro/parser_mysql.go | 1 - internal/app/module/beegopro/pongo2.go | 6 +-- internal/app/module/beegopro/render.go | 4 +- internal/app/module/beegopro/schema.go | 7 +--- internal/app/module/beegopro/util.go | 7 +++- internal/pkg/git/repository.go | 16 -------- 7 files changed, 33 insertions(+), 47 deletions(-) diff --git a/internal/app/module/beegopro/container.go b/internal/app/module/beegopro/container.go index 296033b..3046698 100644 --- a/internal/app/module/beegopro/container.go +++ b/internal/app/module/beegopro/container.go @@ -21,32 +21,33 @@ var DefaultBeegoPro = &Container{ TimestampFile: system.CurrentDir + "/.beegopro.timestamp", GoModFile: system.CurrentDir + "/go.mod", UserOption: UserOption{ - Debug: false, - ContextDebug: false, - Dsn: "", - Driver: "mysql", - ProType: "default", - ApiPrefix: "/api", - EnableModule: nil, - Models: make(map[string]TextModel, 0), - GitRemotePath: "https://github.com/beego/beego-pro.git", - Branch: "master", - GitLocalPath: system.BeegoHome + "/beego-pro", - EnableFormat: true, - SourceGen: "text", - EnableGitPull: true, - RefreshGitTime: 24 * 3600, + Debug: false, + ContextDebug: false, + Dsn: "", + Driver: "mysql", + ProType: "default", + ApiPrefix: "/api", + EnableModule: nil, + Models: make(map[string]TextModel), + GitRemotePath: "https://github.com/beego/beego-pro.git", + Branch: "master", + GitLocalPath: system.BeegoHome + "/beego-pro", + EnableFormat: true, + SourceGen: "text", + EnableGitPull: true, Path: map[string]string{ "beego": ".", }, - EnableGomod: true, + EnableGomod: true, + RefreshGitTime: 24 * 3600, + Extend: nil, }, GenerateTime: time.Now().Format(MDateFormat), GenerateTimeUnix: time.Now().Unix(), TmplOption: TmplOption{}, CurPath: system.CurrentDir, - EnableModules: make(map[string]interface{}, 0), // get the user configuration, get the enable module result - FunctionOnce: make(map[string]sync.Once, 0), // get the tmpl configuration, get the function once result + EnableModules: make(map[string]interface{}), // get the user configuration, get the enable module result + FunctionOnce: make(map[string]sync.Once), // get the tmpl configuration, get the function once result } func (c *Container) Run() { @@ -128,7 +129,7 @@ func (c *Container) initTemplateOption() { } for _, value := range c.TmplOption.Descriptor { - if value.Once == true { + if value.Once { c.FunctionOnce[value.SrcName] = sync.Once{} } } diff --git a/internal/app/module/beegopro/parser_mysql.go b/internal/app/module/beegopro/parser_mysql.go index 204c704..08180cc 100644 --- a/internal/app/module/beegopro/parser_mysql.go +++ b/internal/app/module/beegopro/parser_mysql.go @@ -10,7 +10,6 @@ import ( type MysqlParser struct { userOption UserOption tmplOption TmplOption - db *sql.DB } func (m *MysqlParser) RegisterOption(userOption UserOption, tmplOption TmplOption) { diff --git a/internal/app/module/beegopro/pongo2.go b/internal/app/module/beegopro/pongo2.go index 3304230..31453c6 100644 --- a/internal/app/module/beegopro/pongo2.go +++ b/internal/app/module/beegopro/pongo2.go @@ -49,9 +49,9 @@ func pongo2CamelString(in *pongo2.Value, param *pongo2.Value) (*pongo2.Value, *p return pongo2.AsValue(utils.CamelString(t)), nil } -func upperFirst(str string) string { - return strings.Replace(str, string(str[0]), strings.ToUpper(string(str[0])), 1) -} +//func upperFirst(str string) string { +// return strings.Replace(str, string(str[0]), strings.ToUpper(string(str[0])), 1) +//} func lowerFirst(str string) string { return strings.Replace(str, string(str[0]), strings.ToLower(string(str[0])), 1) diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index ba5d2b7..f2e49c3 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -34,7 +34,7 @@ func NewRender(m RenderInfo) *RenderFile { newDescriptor, pathCtx = m.Descriptor.Parse(m.ModelName, m.Option.Path) obj := &RenderFile{ - Context: make(pongo2.Context, 0), + Context: make(pongo2.Context), Option: m.Option, ModelName: m.ModelName, GenerateTime: m.GenerateTime, @@ -61,7 +61,7 @@ func NewRender(m RenderInfo) *RenderFile { modelSchemas := m.Content.ToModelSchemas() camelPrimaryKey := modelSchemas.GetPrimaryKey() - importMaps := make(map[string]struct{}, 0) + importMaps := make(map[string]struct{}) if modelSchemas.IsExistTime() { importMaps["time"] = struct{}{} } diff --git a/internal/app/module/beegopro/schema.go b/internal/app/module/beegopro/schema.go index f29d981..c4f6a1e 100644 --- a/internal/app/module/beegopro/schema.go +++ b/internal/app/module/beegopro/schema.go @@ -75,7 +75,7 @@ func (descriptor Descriptor) Parse(modelName string, paths map[string]string) (n newDescriptor = descriptor render := pongo2render.NewRender("") - ctx = make(pongo2.Context, 0) + ctx = make(pongo2.Context) for key, value := range paths { absFile, err = filepath.Abs(value) if err != nil { @@ -110,10 +110,7 @@ func (descriptor Descriptor) Parse(modelName string, paths map[string]string) (n } func (descriptor Descriptor) IsExistScript() bool { - if descriptor.Script != "" { - return true - } - return false + return descriptor.Script != "" } func (d Descriptor) ExecScript(path string) (err error) { diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index 79f02a3..646ffb2 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -46,7 +46,12 @@ func (c *RenderFile) write(filename string, buf string) (err error) { } file, err := os.Create(filename) - defer file.Close() + defer func() { + err = file.Close() + if err != nil { + beeLogger.Log.Fatalf("file close error, err %s", err) + } + }() if err != nil { err = errors.New("write create file " + err.Error()) return diff --git a/internal/pkg/git/repository.go b/internal/pkg/git/repository.go index d32d597..d24a840 100644 --- a/internal/pkg/git/repository.go +++ b/internal/pkg/git/repository.go @@ -206,19 +206,3 @@ func concatenateError(err error, stderr string) error { } return fmt.Errorf("%v: %s", err, stderr) } - -// getGitProjectName 获取项目名称 -func getGitProjectName(url string) (name string, err error) { - if !strings.Contains(url, ".git") { - return "", errors.New("Project address does not contain .git") - } - fileSlice := strings.Split(url, "/") - projectName := fileSlice[len(fileSlice)-1] - if projectName == "" { - return "", errors.New("Project name does not exist") - } - - nameSlice := strings.Split(projectName, ".git") - - return nameSlice[0], nil -} From 0e6ce7dea0dacf982a8e39759a9633c0f22388b5 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Fri, 24 Jul 2020 15:15:29 +0800 Subject: [PATCH 02/40] bak file err --- internal/app/module/beegopro/util.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index 646ffb2..e1491bd 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -20,7 +20,7 @@ func (c *RenderFile) write(filename string, buf string) (err error) { return } - filePath := path.Dir(filename) + filePath := filepath.Dir(filename) err = createPath(filePath) if err != nil { err = errors.New("write create path " + err.Error()) @@ -37,7 +37,7 @@ func (c *RenderFile) write(filename string, buf string) (err error) { name := path.Base(filename) if utils.IsExist(filename) { - bakName := fmt.Sprintf("%s/%s.%s.bak", filePathBak, name, time.Now().Format("2006.01.02.15.04.05")) + bakName := fmt.Sprintf("%s/%s.%s.bak", filePathBak, filepath.Base(name), time.Now().Format("2006.01.02.15.04.05")) beeLogger.Log.Infof("bak file '%s'", bakName) if err := os.Rename(filename, bakName); err != nil { err = errors.New("file is bak error, path is " + bakName) From e0ce20407c21fb7ba9f583e34539fe095b43d2c7 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Fri, 24 Jul 2020 16:24:09 +0800 Subject: [PATCH 03/40] Change bee version --- cmd/commands/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index 4eebd9f..a1ce710 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -57,7 +57,7 @@ Prints the current Bee, Beego and Go version alongside the platform information. } var outputFormat string -const version = "1.11.0" +const version = "1.12.0" func init() { fs := flag.NewFlagSet("version", flag.ContinueOnError) From f601e441f3be2695063fd335901ab4e20d2e0828 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sat, 25 Jul 2020 02:56:02 +0800 Subject: [PATCH 04/40] Backup only when content changes --- internal/app/module/beegopro/render.go | 26 +++++++++++++---- internal/app/module/beegopro/util.go | 40 ++++++++++++++++++++++++++ 2 files changed, 61 insertions(+), 5 deletions(-) diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index f2e49c3..64c52fc 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -6,6 +6,8 @@ import ( "github.com/davecgh/go-spew/spew" "github.com/flosch/pongo2" "github.com/smartwalle/pongo2render" + "io/ioutil" + "os" "path" "path/filepath" ) @@ -114,10 +116,24 @@ func (r *RenderFile) Exec(name string) { beeLogger.Log.Fatalf("Could not create the %s render tmpl: %s", name, err) return } - err = r.write(r.FlushFile, buf) - if err != nil { - beeLogger.Log.Fatalf("Could not create file: %s", err) - return + _, err = os.Stat(r.Descriptor.DstPath) + var orgContent []byte + if err == nil { + if org, err := os.OpenFile(r.Descriptor.DstPath, os.O_RDONLY, 0666); err == nil { + defer org.Close() + orgContent,_ = ioutil.ReadAll(org) + } else { + beeLogger.Log.Infof("file err %s", err) + } + } + // Replace or create when content changes + if len(orgContent) == 0 || FileContentChange(string(orgContent),buf) { + err = r.write(r.FlushFile, buf) + if err != nil { + beeLogger.Log.Fatalf("Could not create file: %s", err) + return + } + beeLogger.Log.Infof("create file '%s' from %s", r.FlushFile, r.PackageName) } - beeLogger.Log.Infof("create file '%s' from %s", r.FlushFile, r.PackageName) } + diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index e1491bd..2cbfe23 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -1,6 +1,7 @@ package beegopro import ( + "crypto/md5" "errors" "fmt" "github.com/beego/bee/internal/pkg/utils" @@ -10,6 +11,7 @@ import ( "os" "path" "path/filepath" + "regexp" "strings" "time" ) @@ -188,3 +190,41 @@ func getModelType(orm string) (inputType, goType, mysqlType, tag string) { } return } + +func FileContentChange(org,new string) bool { + if org == "" { + return false + } + var orgContent,newContent string + jump := false + // expect tab character and blank space and "import(***)" + reg := regexp.MustCompile("\\s+") + for i, s := range strings.Split(org, "\n") { + if s == "import (" { + jump = true + } + if jump && s == ")" { + jump = false + } + if i > 2 && !jump { + orgContent += reg.ReplaceAllString(s, "") + } + } + for i, s := range strings.Split(new, "\n") { + if s == "import (" { + jump = true + } + if jump && s == ")" { + jump = false + } + if i > 2 && !jump { + newContent += reg.ReplaceAllString(s, "") + } + } + orgMd5 := md5.Sum([]byte(orgContent)) + newMd5:= md5.Sum([]byte(newContent)) + if orgMd5 != newMd5 { + return true + } + return false +} \ No newline at end of file From dbb41fa430c12c90c542930fdd62aa77be255115 Mon Sep 17 00:00:00 2001 From: qiantao Date: Fri, 24 Jul 2020 15:54:52 +0800 Subject: [PATCH 05/40] 1. default gopath=false, 2. fix error work path. --- cmd/commands/api/apiapp.go | 22 ++++++++++++---------- cmd/commands/hprose/hprose.go | 21 +++++++++++---------- cmd/commands/new/new.go | 10 +++++----- utils/utils.go | 6 +++--- 4 files changed, 31 insertions(+), 28 deletions(-) diff --git a/cmd/commands/api/apiapp.go b/cmd/commands/api/apiapp.go index ba0b45f..4ecbc6a 100644 --- a/cmd/commands/api/apiapp.go +++ b/cmd/commands/api/apiapp.go @@ -34,9 +34,10 @@ var CmdApiapp = &commands.Command{ Short: "Creates a Beego API application", Long: ` The command 'api' creates a Beego API application. + now default supoort generate a go modules project. {{"Example:"|bold}} - $ bee api [appname] [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-module=true] [-beego=v1.12.1] + $ bee api [appname] [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-gopath=false] [-beego=v1.12.1] If 'conn' argument is empty, the command will generate an example API application. Otherwise the command will connect to your database and generate models based on the existing tables. @@ -44,7 +45,7 @@ var CmdApiapp = &commands.Command{ The command 'api' creates a folder named [appname] with the following structure: ├── main.go - ├── go.mod + ├── go.mod ├── {{"conf"|foldername}} │ └── app.conf ├── {{"controllers"|foldername}} @@ -543,15 +544,15 @@ func TestGet(t *testing.T) { } ` -var module utils.DocValue +var gopath utils.DocValue var beegoVersion utils.DocValue func init() { CmdApiapp.Flag.Var(&generate.Tables, "tables", "List of table names separated by a comma.") CmdApiapp.Flag.Var(&generate.SQLDriver, "driver", "Database driver. Either mysql, postgres or sqlite.") CmdApiapp.Flag.Var(&generate.SQLConn, "conn", "Connection string used by the driver to connect to a database instance.") - CmdApiapp.Flag.Var(&module, "module", "Support go modules") - CmdApiapp.Flag.Var(&beegoVersion, "beego", "set beego version,only take effect by -module=true") + CmdApiapp.Flag.Var(&gopath, "gopath", "Support go path,default false") + CmdApiapp.Flag.Var(&beegoVersion, "beego", "set beego version,only take effect by go mod") commands.AvailableCommands = append(commands.AvailableCommands, CmdApiapp) } @@ -563,14 +564,15 @@ func createAPI(cmd *commands.Command, args []string) int { } if len(args) >= 2 { - cmd.Flag.Parse(args[1:]) - } else { - module = "false" + err := cmd.Flag.Parse(args[1:]) + if err != nil { + beeLogger.Log.Fatal("Parse args err " + err.Error()) + } } var appPath string var packPath string var err error - if module != `true` { + if gopath == `true` { beeLogger.Log.Info("generate api project support GOPATH") version.ShowShortVersionBanner() appPath, packPath, err = utils.CheckEnv(args[0]) @@ -605,7 +607,7 @@ func createAPI(cmd *commands.Command, args []string) int { beeLogger.Log.Info("Creating API...") os.MkdirAll(appPath, 0755) - if module == `true` { //generate first for calc model name + if gopath != `true` { //generate first for calc model name fmt.Fprintf(output, "\t%s%screate%s\t %s%s\n", "\x1b[32m", "\x1b[1m", "\x1b[21m", path.Join(appPath, "go.mod"), "\x1b[0m") utils.WriteToFile(path.Join(appPath, "go.mod"), fmt.Sprintf(goMod, packPath, utils.GetGoVersionSkipMinor(), beegoVersion.String())) } diff --git a/cmd/commands/hprose/hprose.go b/cmd/commands/hprose/hprose.go index 50ba5c1..bdd52c8 100644 --- a/cmd/commands/hprose/hprose.go +++ b/cmd/commands/hprose/hprose.go @@ -24,7 +24,7 @@ var CmdHproseapp = &commands.Command{ {{"To scaffold out your application, use:"|bold}} - $ bee hprose [appname] [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-module=true] [-beego=v1.12.1] + $ bee hprose [appname] [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-gopath=false] [-beego=v1.12.1] If 'conn' is empty, the command will generate a sample application. Otherwise the command will connect to your database and generate models based on the existing tables. @@ -52,15 +52,15 @@ require github.com/astaxie/beego %s require github.com/smartystreets/goconvey v1.6.4 ` -var module utils.DocValue +var gopath utils.DocValue var beegoVersion utils.DocValue func init() { CmdHproseapp.Flag.Var(&generate.Tables, "tables", "List of table names separated by a comma.") CmdHproseapp.Flag.Var(&generate.SQLDriver, "driver", "Database driver. Either mysql, postgres or sqlite.") CmdHproseapp.Flag.Var(&generate.SQLConn, "conn", "Connection string used by the driver to connect to a database instance.") - CmdHproseapp.Flag.Var(&module, "module", "Support go modules") - CmdHproseapp.Flag.Var(&beegoVersion, "beego", "set beego version,only take effect by -module=true") + CmdHproseapp.Flag.Var(&gopath, "gopath", "Support go path,default false") + CmdHproseapp.Flag.Var(&beegoVersion, "beego", "set beego version,only take effect by go mod") commands.AvailableCommands = append(commands.AvailableCommands, CmdHproseapp) } @@ -71,15 +71,16 @@ func createhprose(cmd *commands.Command, args []string) int { } curpath, _ := os.Getwd() - if len(args) > 1 { - cmd.Flag.Parse(args[1:]) - } else { - module = "false" + if len(args) >= 2 { + err := cmd.Flag.Parse(args[1:]) + if err != nil { + beeLogger.Log.Fatal("Parse args err " + err.Error()) + } } var apppath string var packpath string var err error - if module != `true` { + if gopath == `true` { beeLogger.Log.Info("generate api project support GOPATH") version.ShowShortVersionBanner() apppath, packpath, err = utils.CheckEnv(args[0]) @@ -109,7 +110,7 @@ func createhprose(cmd *commands.Command, args []string) int { beeLogger.Log.Info("Creating Hprose application...") os.MkdirAll(apppath, 0755) - if module == `true` { //generate first for calc model name + if gopath != `true` { //generate first for calc model name fmt.Fprintf(output, "\t%s%screate%s\t %s%s\n", "\x1b[32m", "\x1b[1m", "\x1b[21m", path.Join(apppath, "go.mod"), "\x1b[0m") utils.WriteToFile(path.Join(apppath, "go.mod"), fmt.Sprintf(goMod, packpath, utils.GetGoVersionSkipMinor(), beegoVersion.String())) } diff --git a/cmd/commands/new/new.go b/cmd/commands/new/new.go index 75bafdb..6c71f07 100644 --- a/cmd/commands/new/new.go +++ b/cmd/commands/new/new.go @@ -31,12 +31,12 @@ var gopath utils.DocValue var beegoVersion utils.DocValue var CmdNew = &commands.Command{ - UsageLine: "new [appname] [-module=true] [-beego=v1.12.1]", + UsageLine: "new [appname] [-gopath=false] [-beego=v1.12.1]", Short: "Creates a Beego application", Long: ` Creates a Beego application for the given app name in the current directory. - now supoort generate a go modules project - The command 'new' creates a folder named [appname] [-module=true] [-beego=v1.12.1] and generates the following structure: + now default supoort generate a go modules project + The command 'new' creates a folder named [appname] [-gopath=false] [-beego=v1.12.1] and generates the following structure: ├── main.go ├── go.mod @@ -255,8 +255,8 @@ var reloadJsClient = `function b(a){var c=new WebSocket(a);c.onclose=function(){ ` func init() { - CmdNew.Flag.Var(&gopath, "gopath", "Support go path") - CmdNew.Flag.Var(&beegoVersion, "beego", "set beego version,only take effect by module mod") + CmdNew.Flag.Var(&gopath, "gopath", "Support go path,default false") + CmdNew.Flag.Var(&beegoVersion, "beego", "set beego version,only take effect by go mod") commands.AvailableCommands = append(commands.AvailableCommands, CmdNew) } diff --git a/utils/utils.go b/utils/utils.go index f4516e8..eedd57a 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -34,11 +34,11 @@ import ( ) func GetBeeWorkPath() string { - beePath, err := filepath.Abs(filepath.Dir(os.Args[0])) + curpath, err := os.Getwd() if err != nil { panic(err) } - return beePath + return curpath } // Go is a basic promise implementation: it wraps calls a function in a goroutine @@ -313,7 +313,7 @@ func Tmpl(text string, data interface{}) { func CheckEnv(appname string) (apppath, packpath string, err error) { gps := GetGOPATHs() if len(gps) == 0 { - beeLogger.Log.Error("if you want new a go module project,please add param `-module=true` and set env `G111MODULE=on`") + beeLogger.Log.Error("if you want new a go module project,please add param `-gopath=false`.") beeLogger.Log.Fatal("GOPATH environment variable is not set or empty") } currpath, _ := os.Getwd() From 174d2ab2e87303b289e8fcf87ddd804a1927b0c8 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sun, 26 Jul 2020 14:27:27 +0800 Subject: [PATCH 06/40] Compare content after formatting --- internal/app/module/beegopro/render.go | 20 +++++++++++--- internal/app/module/beegopro/util.go | 37 ++++++++------------------ 2 files changed, 28 insertions(+), 29 deletions(-) diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index 64c52fc..3be18a1 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -1,11 +1,13 @@ package beegopro import ( + "errors" "github.com/beego/bee/internal/pkg/system" beeLogger "github.com/beego/bee/logger" "github.com/davecgh/go-spew/spew" "github.com/flosch/pongo2" "github.com/smartwalle/pongo2render" + "go/format" "io/ioutil" "os" "path" @@ -120,15 +122,27 @@ func (r *RenderFile) Exec(name string) { var orgContent []byte if err == nil { if org, err := os.OpenFile(r.Descriptor.DstPath, os.O_RDONLY, 0666); err == nil { - defer org.Close() orgContent,_ = ioutil.ReadAll(org) + org.Close() } else { beeLogger.Log.Infof("file err %s", err) } } // Replace or create when content changes - if len(orgContent) == 0 || FileContentChange(string(orgContent),buf) { - err = r.write(r.FlushFile, buf) + output := []byte(buf) + if r.Option.EnableFormat && filepath.Ext(r.FlushFile) == ".go" { + // format code + var bts []byte + bts, err = format.Source([]byte(buf)) + if err != nil { + err = errors.New("format buf error " + err.Error()) + return + } + output = bts + } + + if FileContentChange(orgContent,output) { + err = r.write(r.FlushFile, output) if err != nil { beeLogger.Log.Fatalf("Could not create file: %s", err) return diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index 2cbfe23..f6baee6 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -11,13 +11,12 @@ import ( "os" "path" "path/filepath" - "regexp" "strings" "time" ) // write to file -func (c *RenderFile) write(filename string, buf string) (err error) { +func (c *RenderFile) write(filename string, buf []byte) (err error) { if utils.IsExist(filename) && !isNeedOverwrite(filename) { return } @@ -191,34 +190,19 @@ func getModelType(orm string) (inputType, goType, mysqlType, tag string) { return } -func FileContentChange(org,new string) bool { - if org == "" { - return false +func FileContentChange(org,new []byte) bool { + if len(org) == 0 { + return true } var orgContent,newContent string - jump := false - // expect tab character and blank space and "import(***)" - reg := regexp.MustCompile("\\s+") - for i, s := range strings.Split(org, "\n") { - if s == "import (" { - jump = true - } - if jump && s == ")" { - jump = false - } - if i > 2 && !jump { - orgContent += reg.ReplaceAllString(s, "") + for i, s := range strings.Split(string(org), "\n") { + if i > 1 { + orgContent += s } } - for i, s := range strings.Split(new, "\n") { - if s == "import (" { - jump = true - } - if jump && s == ")" { - jump = false - } - if i > 2 && !jump { - newContent += reg.ReplaceAllString(s, "") + for i, s := range strings.Split(string(new), "\n") { + if i > 1 { + newContent += s } } orgMd5 := md5.Sum([]byte(orgContent)) @@ -226,5 +210,6 @@ func FileContentChange(org,new string) bool { if orgMd5 != newMd5 { return true } + beeLogger.Log.Infof("File has no change in the content") return false } \ No newline at end of file From a9d3de0872034b4c11108723f6d15ce2a8ac5d52 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sun, 26 Jul 2020 15:48:36 +0800 Subject: [PATCH 07/40] Only contents in "CompareExcept" are excluded during comparison --- internal/app/module/beegopro/config.go | 2 ++ internal/app/module/beegopro/render.go | 5 +-- internal/app/module/beegopro/util.go | 47 ++++++++++++++++---------- 3 files changed, 35 insertions(+), 19 deletions(-) diff --git a/internal/app/module/beegopro/config.go b/internal/app/module/beegopro/config.go index f4854fe..716533c 100644 --- a/internal/app/module/beegopro/config.go +++ b/internal/app/module/beegopro/config.go @@ -6,6 +6,8 @@ import ( "io/ioutil" ) +var CompareExcept = []string{"@BeeGenerateTime"} + func (c *Container) GenConfig() { if utils.IsExist(c.BeegoProFile) { beeLogger.Log.Fatalf("beego pro toml exist") diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index 3be18a1..7fe55a2 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -130,7 +130,8 @@ func (r *RenderFile) Exec(name string) { } // Replace or create when content changes output := []byte(buf) - if r.Option.EnableFormat && filepath.Ext(r.FlushFile) == ".go" { + ext := filepath.Ext(r.FlushFile) + if r.Option.EnableFormat && ext == ".go" { // format code var bts []byte bts, err = format.Source([]byte(buf)) @@ -141,7 +142,7 @@ func (r *RenderFile) Exec(name string) { output = bts } - if FileContentChange(orgContent,output) { + if FileContentChange(orgContent,output,GetSeg(ext)) { err = r.write(r.FlushFile, output) if err != nil { beeLogger.Log.Fatalf("Could not create file: %s", err) diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index f6baee6..b2bd05d 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -80,11 +80,7 @@ func (c *RenderFile) write(filename string, buf []byte) (err error) { } func isNeedOverwrite(fileName string) (flag bool) { - seg := "//" - ext := filepath.Ext(fileName) - if ext == ".sql" { - seg = "--" - } + seg := GetSeg(filepath.Ext(fileName)) f, err := os.Open(fileName) if err != nil { @@ -190,21 +186,12 @@ func getModelType(orm string) (inputType, goType, mysqlType, tag string) { return } -func FileContentChange(org,new []byte) bool { +func FileContentChange(org,new []byte, seg string) bool { if len(org) == 0 { return true } - var orgContent,newContent string - for i, s := range strings.Split(string(org), "\n") { - if i > 1 { - orgContent += s - } - } - for i, s := range strings.Split(string(new), "\n") { - if i > 1 { - newContent += s - } - } + orgContent := GetFilterContent(string(org),seg) + newContent := GetFilterContent(string(org),string(new)) orgMd5 := md5.Sum([]byte(orgContent)) newMd5:= md5.Sum([]byte(newContent)) if orgMd5 != newMd5 { @@ -212,4 +199,30 @@ func FileContentChange(org,new []byte) bool { } beeLogger.Log.Infof("File has no change in the content") return false +} + +func GetFilterContent(content string, seg string) string { + res := "" + for _, s := range strings.Split(content, "\n") { + s = strings.TrimSpace(strings.TrimPrefix(s, seg)) + var have = false + for _,except := range CompareExcept{ + if strings.HasPrefix(s, except) { + have = true + } + } + if !have { + res += s + } + } + return res +} + +func GetSeg(ext string) string { + switch ext { + case ".sql": + return "--" + default: + return "//" + } } \ No newline at end of file From 59fa4ace1e8d27e04d9f5f22c2b794b9379bd785 Mon Sep 17 00:00:00 2001 From: askuy Date: Mon, 27 Jul 2020 13:09:56 +0800 Subject: [PATCH 08/40] Revert "Only contents in "CompareExcept" are excluded during comparison" This reverts commit a9d3de0872034b4c11108723f6d15ce2a8ac5d52. --- internal/app/module/beegopro/config.go | 2 -- internal/app/module/beegopro/render.go | 5 ++- internal/app/module/beegopro/util.go | 47 ++++++++++---------------- 3 files changed, 19 insertions(+), 35 deletions(-) diff --git a/internal/app/module/beegopro/config.go b/internal/app/module/beegopro/config.go index 716533c..f4854fe 100644 --- a/internal/app/module/beegopro/config.go +++ b/internal/app/module/beegopro/config.go @@ -6,8 +6,6 @@ import ( "io/ioutil" ) -var CompareExcept = []string{"@BeeGenerateTime"} - func (c *Container) GenConfig() { if utils.IsExist(c.BeegoProFile) { beeLogger.Log.Fatalf("beego pro toml exist") diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index 7fe55a2..3be18a1 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -130,8 +130,7 @@ func (r *RenderFile) Exec(name string) { } // Replace or create when content changes output := []byte(buf) - ext := filepath.Ext(r.FlushFile) - if r.Option.EnableFormat && ext == ".go" { + if r.Option.EnableFormat && filepath.Ext(r.FlushFile) == ".go" { // format code var bts []byte bts, err = format.Source([]byte(buf)) @@ -142,7 +141,7 @@ func (r *RenderFile) Exec(name string) { output = bts } - if FileContentChange(orgContent,output,GetSeg(ext)) { + if FileContentChange(orgContent,output) { err = r.write(r.FlushFile, output) if err != nil { beeLogger.Log.Fatalf("Could not create file: %s", err) diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index b2bd05d..f6baee6 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -80,7 +80,11 @@ func (c *RenderFile) write(filename string, buf []byte) (err error) { } func isNeedOverwrite(fileName string) (flag bool) { - seg := GetSeg(filepath.Ext(fileName)) + seg := "//" + ext := filepath.Ext(fileName) + if ext == ".sql" { + seg = "--" + } f, err := os.Open(fileName) if err != nil { @@ -186,12 +190,21 @@ func getModelType(orm string) (inputType, goType, mysqlType, tag string) { return } -func FileContentChange(org,new []byte, seg string) bool { +func FileContentChange(org,new []byte) bool { if len(org) == 0 { return true } - orgContent := GetFilterContent(string(org),seg) - newContent := GetFilterContent(string(org),string(new)) + var orgContent,newContent string + for i, s := range strings.Split(string(org), "\n") { + if i > 1 { + orgContent += s + } + } + for i, s := range strings.Split(string(new), "\n") { + if i > 1 { + newContent += s + } + } orgMd5 := md5.Sum([]byte(orgContent)) newMd5:= md5.Sum([]byte(newContent)) if orgMd5 != newMd5 { @@ -199,30 +212,4 @@ func FileContentChange(org,new []byte, seg string) bool { } beeLogger.Log.Infof("File has no change in the content") return false -} - -func GetFilterContent(content string, seg string) string { - res := "" - for _, s := range strings.Split(content, "\n") { - s = strings.TrimSpace(strings.TrimPrefix(s, seg)) - var have = false - for _,except := range CompareExcept{ - if strings.HasPrefix(s, except) { - have = true - } - } - if !have { - res += s - } - } - return res -} - -func GetSeg(ext string) string { - switch ext { - case ".sql": - return "--" - default: - return "//" - } } \ No newline at end of file From 0a2c7f0c5742106aafe99cb69e880702398be392 Mon Sep 17 00:00:00 2001 From: askuy Date: Mon, 27 Jul 2020 13:09:56 +0800 Subject: [PATCH 09/40] Revert "Compare content after formatting" This reverts commit 174d2ab2e87303b289e8fcf87ddd804a1927b0c8. --- internal/app/module/beegopro/render.go | 20 +++----------- internal/app/module/beegopro/util.go | 37 ++++++++++++++++++-------- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index 3be18a1..64c52fc 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -1,13 +1,11 @@ package beegopro import ( - "errors" "github.com/beego/bee/internal/pkg/system" beeLogger "github.com/beego/bee/logger" "github.com/davecgh/go-spew/spew" "github.com/flosch/pongo2" "github.com/smartwalle/pongo2render" - "go/format" "io/ioutil" "os" "path" @@ -122,27 +120,15 @@ func (r *RenderFile) Exec(name string) { var orgContent []byte if err == nil { if org, err := os.OpenFile(r.Descriptor.DstPath, os.O_RDONLY, 0666); err == nil { + defer org.Close() orgContent,_ = ioutil.ReadAll(org) - org.Close() } else { beeLogger.Log.Infof("file err %s", err) } } // Replace or create when content changes - output := []byte(buf) - if r.Option.EnableFormat && filepath.Ext(r.FlushFile) == ".go" { - // format code - var bts []byte - bts, err = format.Source([]byte(buf)) - if err != nil { - err = errors.New("format buf error " + err.Error()) - return - } - output = bts - } - - if FileContentChange(orgContent,output) { - err = r.write(r.FlushFile, output) + if len(orgContent) == 0 || FileContentChange(string(orgContent),buf) { + err = r.write(r.FlushFile, buf) if err != nil { beeLogger.Log.Fatalf("Could not create file: %s", err) return diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index f6baee6..2cbfe23 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -11,12 +11,13 @@ import ( "os" "path" "path/filepath" + "regexp" "strings" "time" ) // write to file -func (c *RenderFile) write(filename string, buf []byte) (err error) { +func (c *RenderFile) write(filename string, buf string) (err error) { if utils.IsExist(filename) && !isNeedOverwrite(filename) { return } @@ -190,19 +191,34 @@ func getModelType(orm string) (inputType, goType, mysqlType, tag string) { return } -func FileContentChange(org,new []byte) bool { - if len(org) == 0 { - return true +func FileContentChange(org,new string) bool { + if org == "" { + return false } var orgContent,newContent string - for i, s := range strings.Split(string(org), "\n") { - if i > 1 { - orgContent += s + jump := false + // expect tab character and blank space and "import(***)" + reg := regexp.MustCompile("\\s+") + for i, s := range strings.Split(org, "\n") { + if s == "import (" { + jump = true + } + if jump && s == ")" { + jump = false + } + if i > 2 && !jump { + orgContent += reg.ReplaceAllString(s, "") } } - for i, s := range strings.Split(string(new), "\n") { - if i > 1 { - newContent += s + for i, s := range strings.Split(new, "\n") { + if s == "import (" { + jump = true + } + if jump && s == ")" { + jump = false + } + if i > 2 && !jump { + newContent += reg.ReplaceAllString(s, "") } } orgMd5 := md5.Sum([]byte(orgContent)) @@ -210,6 +226,5 @@ func FileContentChange(org,new []byte) bool { if orgMd5 != newMd5 { return true } - beeLogger.Log.Infof("File has no change in the content") return false } \ No newline at end of file From 19d0116825549ae8b360f2c6d7e76b0050ea4356 Mon Sep 17 00:00:00 2001 From: askuy Date: Mon, 27 Jul 2020 13:11:14 +0800 Subject: [PATCH 10/40] Revert "Backup only when content changes" This reverts commit f601e441f3be2695063fd335901ab4e20d2e0828. --- internal/app/module/beegopro/render.go | 26 ++++------------- internal/app/module/beegopro/util.go | 40 -------------------------- 2 files changed, 5 insertions(+), 61 deletions(-) diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index 64c52fc..f2e49c3 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -6,8 +6,6 @@ import ( "github.com/davecgh/go-spew/spew" "github.com/flosch/pongo2" "github.com/smartwalle/pongo2render" - "io/ioutil" - "os" "path" "path/filepath" ) @@ -116,24 +114,10 @@ func (r *RenderFile) Exec(name string) { beeLogger.Log.Fatalf("Could not create the %s render tmpl: %s", name, err) return } - _, err = os.Stat(r.Descriptor.DstPath) - var orgContent []byte - if err == nil { - if org, err := os.OpenFile(r.Descriptor.DstPath, os.O_RDONLY, 0666); err == nil { - defer org.Close() - orgContent,_ = ioutil.ReadAll(org) - } else { - beeLogger.Log.Infof("file err %s", err) - } - } - // Replace or create when content changes - if len(orgContent) == 0 || FileContentChange(string(orgContent),buf) { - err = r.write(r.FlushFile, buf) - if err != nil { - beeLogger.Log.Fatalf("Could not create file: %s", err) - return - } - beeLogger.Log.Infof("create file '%s' from %s", r.FlushFile, r.PackageName) + err = r.write(r.FlushFile, buf) + if err != nil { + beeLogger.Log.Fatalf("Could not create file: %s", err) + return } + beeLogger.Log.Infof("create file '%s' from %s", r.FlushFile, r.PackageName) } - diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index 2cbfe23..e1491bd 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -1,7 +1,6 @@ package beegopro import ( - "crypto/md5" "errors" "fmt" "github.com/beego/bee/internal/pkg/utils" @@ -11,7 +10,6 @@ import ( "os" "path" "path/filepath" - "regexp" "strings" "time" ) @@ -190,41 +188,3 @@ func getModelType(orm string) (inputType, goType, mysqlType, tag string) { } return } - -func FileContentChange(org,new string) bool { - if org == "" { - return false - } - var orgContent,newContent string - jump := false - // expect tab character and blank space and "import(***)" - reg := regexp.MustCompile("\\s+") - for i, s := range strings.Split(org, "\n") { - if s == "import (" { - jump = true - } - if jump && s == ")" { - jump = false - } - if i > 2 && !jump { - orgContent += reg.ReplaceAllString(s, "") - } - } - for i, s := range strings.Split(new, "\n") { - if s == "import (" { - jump = true - } - if jump && s == ")" { - jump = false - } - if i > 2 && !jump { - newContent += reg.ReplaceAllString(s, "") - } - } - orgMd5 := md5.Sum([]byte(orgContent)) - newMd5:= md5.Sum([]byte(newContent)) - if orgMd5 != newMd5 { - return true - } - return false -} \ No newline at end of file From 3e5f9cf213724ff4d573d38451a86bd07ea7a6ae Mon Sep 17 00:00:00 2001 From: askuy Date: Mon, 27 Jul 2020 13:11:14 +0800 Subject: [PATCH 11/40] Revert "Change bee version" This reverts commit e0ce20407c21fb7ba9f583e34539fe095b43d2c7. --- cmd/commands/version/version.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index a1ce710..4eebd9f 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -57,7 +57,7 @@ Prints the current Bee, Beego and Go version alongside the platform information. } var outputFormat string -const version = "1.12.0" +const version = "1.11.0" func init() { fs := flag.NewFlagSet("version", flag.ContinueOnError) From 6a2f44720e8bc0a68bdaa194ef696e963a5dc811 Mon Sep 17 00:00:00 2001 From: askuy Date: Mon, 27 Jul 2020 13:11:14 +0800 Subject: [PATCH 12/40] Revert "bak file err" This reverts commit 0e6ce7dea0dacf982a8e39759a9633c0f22388b5. --- internal/app/module/beegopro/util.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index e1491bd..646ffb2 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -20,7 +20,7 @@ func (c *RenderFile) write(filename string, buf string) (err error) { return } - filePath := filepath.Dir(filename) + filePath := path.Dir(filename) err = createPath(filePath) if err != nil { err = errors.New("write create path " + err.Error()) @@ -37,7 +37,7 @@ func (c *RenderFile) write(filename string, buf string) (err error) { name := path.Base(filename) if utils.IsExist(filename) { - bakName := fmt.Sprintf("%s/%s.%s.bak", filePathBak, filepath.Base(name), time.Now().Format("2006.01.02.15.04.05")) + bakName := fmt.Sprintf("%s/%s.%s.bak", filePathBak, name, time.Now().Format("2006.01.02.15.04.05")) beeLogger.Log.Infof("bak file '%s'", bakName) if err := os.Rename(filename, bakName); err != nil { err = errors.New("file is bak error, path is " + bakName) From e0ada8860d7860d3a91778b03174aa75820b95dc Mon Sep 17 00:00:00 2001 From: Hanjiang Yu Date: Sun, 26 Jul 2020 10:15:26 +0800 Subject: [PATCH 13/40] Use go/build to resolve package path for `bee generate docs` --- generate/swaggergen/g_docs.go | 34 ++++++++-------------------------- 1 file changed, 8 insertions(+), 26 deletions(-) diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index 73ba71b..c33263d 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -19,6 +19,7 @@ import ( "errors" "fmt" "go/ast" + "go/build" "go/parser" "go/token" "os" @@ -37,7 +38,6 @@ import ( "github.com/astaxie/beego/swagger" "github.com/astaxie/beego/utils" beeLogger "github.com/beego/bee/logger" - bu "github.com/beego/bee/utils" ) const ( @@ -263,7 +263,7 @@ func GenerateDocs(curpath string) { if im.Name != nil { localName = im.Name.Name } - analyseControllerPkg(path.Join(curpath, "vendor"), localName, im.Path.Value) + analyseControllerPkg(localName, im.Path.Value) } for _, d := range f.Decls { switch specDecl := d.(type) { @@ -418,7 +418,7 @@ func analyseNSInclude(baseurl string, ce *ast.CallExpr) string { return cname } -func analyseControllerPkg(vendorPath, localName, pkgpath string) { +func analyseControllerPkg(localName, pkgpath string) { pkgpath = strings.Trim(pkgpath, "\"") if isSystemPackage(pkgpath) { return @@ -433,36 +433,18 @@ func analyseControllerPkg(vendorPath, localName, pkgpath string) { importlist[pps[len(pps)-1]] = pkgpath } - pkgRealpath := "" - - if bu.IsGOMODULE() { - pkgRealpath = filepath.Join(bu.GetBeeWorkPath(), "..", pkgpath) - } else { - gopaths := bu.GetGOPATHs() - if len(gopaths) == 0 { - beeLogger.Log.Fatal("GOPATH environment variable is not set or empty") - } - wg, _ := filepath.EvalSymlinks(filepath.Join(vendorPath, pkgpath)) - if utils.FileExists(wg) { - pkgRealpath = wg - } else { - wgopath := gopaths - for _, wg := range wgopath { - wg, _ = filepath.EvalSymlinks(filepath.Join(wg, "src", pkgpath)) - if utils.FileExists(wg) { - pkgRealpath = wg - break - } - } - } + pkg, err := build.Default.Import(pkgpath, ".", build.FindOnly) + if err != nil { + beeLogger.Log.Fatalf("Package %s cannot be imported: %v", pkgpath, err) } + pkgRealpath := pkg.Dir if pkgRealpath != "" { if _, ok := pkgCache[pkgpath]; ok { return } pkgCache[pkgpath] = struct{}{} } else { - beeLogger.Log.Fatalf("Package '%s' does not exist in the GOPATH or vendor path", pkgpath) + beeLogger.Log.Fatalf("Package '%s' does not have source directory", pkgpath) } fileSet := token.NewFileSet() From a68e8ae3e88c378430a1c2a35dd9a484bee9d4b0 Mon Sep 17 00:00:00 2001 From: Hanjiang Yu Date: Sun, 26 Jul 2020 10:41:52 +0800 Subject: [PATCH 14/40] Parse AST even not in GOPATH --- main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main.go b/main.go index ef51e0d..bbc9284 100644 --- a/main.go +++ b/main.go @@ -69,7 +69,7 @@ func main() { // Check if current directory is inside the GOPATH, // if so parse the packages inside it. - if utils.IsInGOPATH(currentpath) && cmd.IfGenerateDocs(c.Name(), args) { + if cmd.IfGenerateDocs(c.Name(), args) { swaggergen.ParsePackagesFromDir(currentpath) } os.Exit(c.Run(c, args)) From c562cedf96b210cbd01b2206c9315756453ea6c8 Mon Sep 17 00:00:00 2001 From: Hanjiang Yu Date: Sun, 26 Jul 2020 10:52:19 +0800 Subject: [PATCH 15/40] Internalize parsePackagesFromDir() --- generate/swaggergen/g_docs.go | 12 +++++++++--- main.go | 15 --------------- 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index c33263d..48b54ad 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -102,8 +102,8 @@ func init() { astPkgs = make([]*ast.Package, 0) } -// ParsePackagesFromDir parses packages from a given directory -func ParsePackagesFromDir(dirpath string) { +// parsePackagesFromDir parses packages from a given directory +func parsePackagesFromDir(dirpath string) { c := make(chan error) go func() { @@ -157,8 +157,14 @@ func parsePackageFromDir(path string) error { // GenerateDocs generates documentations for a given path. func GenerateDocs(curpath string) { - fset := token.NewFileSet() + pkgspath := curpath + workspace := os.Getenv("BeeWorkspace") + if workspace != "" { + pkgspath = workspace + } + parsePackagesFromDir(pkgspath) + fset := token.NewFileSet() f, err := parser.ParseFile(fset, filepath.Join(curpath, "routers", "router.go"), nil, parser.ParseComments) if err != nil { beeLogger.Log.Fatalf("Error while parsing router.go: %s", err) diff --git a/main.go b/main.go index bbc9284..851b199 100644 --- a/main.go +++ b/main.go @@ -21,19 +21,10 @@ import ( "github.com/beego/bee/cmd" "github.com/beego/bee/cmd/commands" "github.com/beego/bee/config" - "github.com/beego/bee/generate/swaggergen" "github.com/beego/bee/utils" ) -var ( - workspace = os.Getenv("BeeWorkspace") -) - func main() { - currentpath, _ := os.Getwd() - if workspace != "" { - currentpath = workspace - } flag.Usage = cmd.Usage flag.Parse() log.SetFlags(0) @@ -66,12 +57,6 @@ func main() { } config.LoadConfig() - - // Check if current directory is inside the GOPATH, - // if so parse the packages inside it. - if cmd.IfGenerateDocs(c.Name(), args) { - swaggergen.ParsePackagesFromDir(currentpath) - } os.Exit(c.Run(c, args)) return } From a23c76305a07f5ff1630924f42fd8cb002a6a661 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sat, 1 Aug 2020 17:12:09 +0800 Subject: [PATCH 16/40] Automatic update bee every day Backup only when content changes Fix the version --- cmd/commands/version/version.go | 2 +- internal/app/module/beegopro/config.go | 2 +- internal/app/module/beegopro/render.go | 39 ++++++++++++-- internal/app/module/beegopro/util.go | 70 +++++++++++++++++--------- main.go | 1 + utils/utils.go | 64 +++++++++++++++++++++++ 6 files changed, 148 insertions(+), 30 deletions(-) diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index 4eebd9f..a1ce710 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -57,7 +57,7 @@ Prints the current Bee, Beego and Go version alongside the platform information. } var outputFormat string -const version = "1.11.0" +const version = "1.12.0" func init() { fs := flag.NewFlagSet("version", flag.ContinueOnError) diff --git a/internal/app/module/beegopro/config.go b/internal/app/module/beegopro/config.go index f4854fe..7fbdc2c 100644 --- a/internal/app/module/beegopro/config.go +++ b/internal/app/module/beegopro/config.go @@ -5,7 +5,7 @@ import ( beeLogger "github.com/beego/bee/logger" "io/ioutil" ) - +var CompareExcept = []string{"@BeeGenerateTime"} func (c *Container) GenConfig() { if utils.IsExist(c.BeegoProFile) { beeLogger.Log.Fatalf("beego pro toml exist") diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index f2e49c3..7ca97ae 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -6,6 +6,9 @@ import ( "github.com/davecgh/go-spew/spew" "github.com/flosch/pongo2" "github.com/smartwalle/pongo2render" + "go/format" + "io/ioutil" + "os" "path" "path/filepath" ) @@ -114,10 +117,36 @@ func (r *RenderFile) Exec(name string) { beeLogger.Log.Fatalf("Could not create the %s render tmpl: %s", name, err) return } - err = r.write(r.FlushFile, buf) - if err != nil { - beeLogger.Log.Fatalf("Could not create file: %s", err) - return + _, err = os.Stat(r.Descriptor.DstPath) + var orgContent []byte + if err == nil { + if org, err := os.OpenFile(r.Descriptor.DstPath, os.O_RDONLY, 0666); err == nil { + orgContent,_ = ioutil.ReadAll(org) + org.Close() + } else { + beeLogger.Log.Infof("file err %s", err) + } + } + // Replace or create when content changes + output := []byte(buf) + ext := filepath.Ext(r.FlushFile) + if r.Option.EnableFormat && ext == ".go" { + // format code + var bts []byte + bts, err = format.Source([]byte(buf)) + if err != nil { + beeLogger.Log.Warnf("format buf error %s", err.Error()) + } + output = bts + } + + if FileContentChange(orgContent,output,GetSeg(ext)) { + err = r.write(r.FlushFile, output) + if err != nil { + beeLogger.Log.Fatalf("Could not create file: %s", err) + return + } + beeLogger.Log.Infof("create file '%s' from %s", r.FlushFile, r.PackageName) } - beeLogger.Log.Infof("create file '%s' from %s", r.FlushFile, r.PackageName) } + diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index 646ffb2..bfef1db 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -1,11 +1,11 @@ package beegopro import ( + "crypto/md5" "errors" "fmt" "github.com/beego/bee/internal/pkg/utils" beeLogger "github.com/beego/bee/logger" - "go/format" "io/ioutil" "os" "path" @@ -15,12 +15,12 @@ import ( ) // write to file -func (c *RenderFile) write(filename string, buf string) (err error) { +func (c *RenderFile) write(filename string, buf []byte) (err error) { if utils.IsExist(filename) && !isNeedOverwrite(filename) { return } - filePath := path.Dir(filename) + filePath := filepath.Dir(filename) err = createPath(filePath) if err != nil { err = errors.New("write create path " + err.Error()) @@ -37,7 +37,7 @@ func (c *RenderFile) write(filename string, buf string) (err error) { name := path.Base(filename) if utils.IsExist(filename) { - bakName := fmt.Sprintf("%s/%s.%s.bak", filePathBak, name, time.Now().Format("2006.01.02.15.04.05")) + bakName := fmt.Sprintf("%s/%s.%s.bak", filePathBak, filepath.Base(name), time.Now().Format("2006.01.02.15.04.05")) beeLogger.Log.Infof("bak file '%s'", bakName) if err := os.Rename(filename, bakName); err != nil { err = errors.New("file is bak error, path is " + bakName) @@ -57,20 +57,7 @@ func (c *RenderFile) write(filename string, buf string) (err error) { return } - output := []byte(buf) - - if c.Option.EnableFormat && filepath.Ext(filename) == ".go" { - // format code - var bts []byte - bts, err = format.Source([]byte(buf)) - if err != nil { - err = errors.New("format buf error " + err.Error()) - return - } - output = bts - } - - err = ioutil.WriteFile(filename, output, 0644) + err = ioutil.WriteFile(filename, buf, 0644) if err != nil { err = errors.New("write write file " + err.Error()) return @@ -79,11 +66,7 @@ func (c *RenderFile) write(filename string, buf string) (err error) { } func isNeedOverwrite(fileName string) (flag bool) { - seg := "//" - ext := filepath.Ext(fileName) - if ext == ".sql" { - seg = "--" - } + seg := GetSeg(filepath.Ext(fileName)) f, err := os.Open(fileName) if err != nil { @@ -188,3 +171,44 @@ func getModelType(orm string) (inputType, goType, mysqlType, tag string) { } return } + +func FileContentChange(org,new []byte, seg string) bool { + if len(org) == 0 { + return true + } + orgContent := GetFilterContent(string(org),seg) + newContent := GetFilterContent(string(new),seg) + orgMd5 := md5.Sum([]byte(orgContent)) + newMd5:= md5.Sum([]byte(newContent)) + if orgMd5 != newMd5 { + return true + } + beeLogger.Log.Infof("File has no change in the content") + return false +} + +func GetFilterContent(content string, seg string) string { + res := "" + for _, s := range strings.Split(content, "\n") { + s = strings.TrimSpace(strings.TrimPrefix(s, seg)) + var have = false + for _,except := range CompareExcept{ + if strings.HasPrefix(s, except) { + have = true + } + } + if !have { + res += s + } + } + return res +} + +func GetSeg(ext string) string { + switch ext { + case ".sql": + return "--" + default: + return "//" + } +} diff --git a/main.go b/main.go index 851b199..112d6c0 100644 --- a/main.go +++ b/main.go @@ -25,6 +25,7 @@ import ( ) func main() { + utils.UpdateBee() flag.Usage = cmd.Usage flag.Parse() log.SetFlags(0) diff --git a/utils/utils.go b/utils/utils.go index eedd57a..969e902 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -24,6 +24,7 @@ import ( "path/filepath" "regexp" "runtime" + "strconv" "strings" "text/template" "time" @@ -31,6 +32,7 @@ import ( beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/logger/colors" + "github.com/beego/bee/internal/pkg/system" ) func GetBeeWorkPath() string { @@ -463,3 +465,65 @@ func IsGOMODULE() bool { } return false } + +func UpdateBee() { + cmd := exec.Command("go", "version") + cmd.Output() + if cmd.Process == nil || cmd.Process.Pid <= 0 { + beeLogger.Log.Warn("There is no go environment") + return + } + path := system.BeegoHome + fp := path + "/.updateBee" + timeNow := time.Now().Unix() + var timeOld int64 + if IsExist(fp) { + oldContent, err := ioutil.ReadFile(fp) + if err != nil { + beeLogger.Log.Warnf("read file err: %s", err) + } + timeOld, _ = strconv.ParseInt(string(oldContent), 10, 64) + } else { + if cf, err := os.OpenFile(fp, os.O_CREATE, 0644); err == nil { + cf.Close() + } else { + beeLogger.Log.Warnf("Create file err: %s", err) + } + } + if timeNow-timeOld > 24*60*60 { + if w, err := os.OpenFile(fp, os.O_WRONLY|os.O_TRUNC, 0644); err == nil { + defer w.Close() + timeNowStr := strconv.FormatInt(timeNow, 10) + if _, err := w.WriteString(timeNowStr); err != nil { + beeLogger.Log.Warnf("Update file err: %s", err) + } + beeLogger.Log.Info("Updating bee") + goGetBee() + } else { + beeLogger.Log.Warnf("Update Bee file err: %s", err) + } + } +} + +func goGetBee() { + beePath := "github.com/beego/bee" + done := make(chan int, 1) + go func() { + cmd := exec.Command("go", "get", "-u", beePath) + output, err := cmd.Output() + if err != nil { + beeLogger.Log.Warnf("Update Bee err: %s", err) + beeLogger.Log.Warnf("Update Bee err: %s", output) + } + beeLogger.Log.Infof("Bee was updated successfully %s", output) + done <- 1 + }() + // wait 30 second + select { + case <-done: + return + case <-time.After(time.Second * 30): + beeLogger.Log.Warn("Update Bee timeout! The next automatic update will be in 24 hours.") + beeLogger.Log.Warn("Or you can update it yourself with `go get -u github.com/beego/bee`") + } +} From e539c34ea0a96a16376cc295ef8e0427d4591415 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sun, 2 Aug 2020 16:17:02 +0800 Subject: [PATCH 17/40] add cmd 'bee update' to update self just notice once a day if there is a new version --- cmd/bee.go | 1 + cmd/commands/command.go | 1 + cmd/commands/update/update.go | 38 ++++++++++ cmd/commands/version/version.go | 6 +- config/conf.go | 9 ++- internal/app/module/beegopro/render.go | 14 ++-- internal/app/module/beegopro/util.go | 7 +- main.go | 2 +- utils/utils.go | 99 ++++++++++++++------------ 9 files changed, 119 insertions(+), 58 deletions(-) create mode 100644 cmd/commands/update/update.go diff --git a/cmd/bee.go b/cmd/bee.go index a6c2c80..8a4f9ec 100644 --- a/cmd/bee.go +++ b/cmd/bee.go @@ -31,6 +31,7 @@ import ( _ "github.com/beego/bee/cmd/commands/rs" _ "github.com/beego/bee/cmd/commands/run" _ "github.com/beego/bee/cmd/commands/server" + _ "github.com/beego/bee/cmd/commands/update" _ "github.com/beego/bee/cmd/commands/version" "github.com/beego/bee/utils" ) diff --git a/cmd/commands/command.go b/cmd/commands/command.go index cab663f..95a1891 100644 --- a/cmd/commands/command.go +++ b/cmd/commands/command.go @@ -65,6 +65,7 @@ func (c *Command) Out() io.Writer { if c.output != nil { return *c.output } + return colors.NewColorWriter(os.Stderr) } diff --git a/cmd/commands/update/update.go b/cmd/commands/update/update.go new file mode 100644 index 0000000..3e5a87a --- /dev/null +++ b/cmd/commands/update/update.go @@ -0,0 +1,38 @@ +package update + +import ( + "flag" + "os" + "os/exec" + + "github.com/beego/bee/cmd/commands" + "github.com/beego/bee/config" + beeLogger "github.com/beego/bee/logger" +) + +var CmdUpdate = &commands.Command{ + UsageLine: "update", + Short: "Update Bee", + Long: ` +Automatic run command "go get -u github.com/beego/bee" for selfupdate +`, + Run: updateBee, +} + +func init() { + fs := flag.NewFlagSet("update", flag.ContinueOnError) + CmdUpdate.Flag = *fs + commands.AvailableCommands = append(commands.AvailableCommands, CmdUpdate) +} + +func updateBee(cmd *commands.Command, args []string) int { + beeLogger.Log.Info("Updating") + beePath := config.GitRemotePath + cmdUp := exec.Command("go", "get", "-u", beePath) + cmdUp.Stdout = os.Stdout + cmdUp.Stderr = os.Stderr + if err := cmdUp.Run(); err != nil { + beeLogger.Log.Warnf("Run cmd err:%s",err) + } + return 0 +} diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index a1ce710..32862a7 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -14,11 +14,13 @@ import ( "runtime" "strings" + "gopkg.in/yaml.v2" + "github.com/beego/bee/cmd/commands" + "github.com/beego/bee/config" beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/logger/colors" "github.com/beego/bee/utils" - "gopkg.in/yaml.v2" ) const verboseVersionBanner string = `%s%s______ @@ -57,7 +59,7 @@ Prints the current Bee, Beego and Go version alongside the platform information. } var outputFormat string -const version = "1.12.0" +const version = config.Version func init() { fs := flag.NewFlagSet("version", flag.ContinueOnError) diff --git a/config/conf.go b/config/conf.go index 32bdf2c..e0603e9 100644 --- a/config/conf.go +++ b/config/conf.go @@ -19,12 +19,19 @@ import ( "os" "path/filepath" - beeLogger "github.com/beego/bee/logger" "gopkg.in/yaml.v2" + + beeLogger "github.com/beego/bee/logger" ) const confVer = 0 +const ( + Version = "1.12.0" + GitRemotePath = "github.com/beego/bee" +) + + var Conf = struct { Version int WatchExts []string `json:"watch_ext" yaml:"watch_ext"` diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index 7ca97ae..7ca1464 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -1,16 +1,18 @@ package beegopro import ( - "github.com/beego/bee/internal/pkg/system" - beeLogger "github.com/beego/bee/logger" - "github.com/davecgh/go-spew/spew" - "github.com/flosch/pongo2" - "github.com/smartwalle/pongo2render" "go/format" "io/ioutil" "os" "path" "path/filepath" + + "github.com/davecgh/go-spew/spew" + "github.com/flosch/pongo2" + "github.com/smartwalle/pongo2render" + + "github.com/beego/bee/internal/pkg/system" + beeLogger "github.com/beego/bee/logger" ) // render @@ -140,7 +142,7 @@ func (r *RenderFile) Exec(name string) { output = bts } - if FileContentChange(orgContent,output,GetSeg(ext)) { + if FileContentChange(orgContent, output, GetSeg(ext)) { err = r.write(r.FlushFile, output) if err != nil { beeLogger.Log.Fatalf("Could not create file: %s", err) diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index bfef1db..604e404 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -4,14 +4,15 @@ import ( "crypto/md5" "errors" "fmt" - "github.com/beego/bee/internal/pkg/utils" - beeLogger "github.com/beego/bee/logger" "io/ioutil" "os" "path" "path/filepath" "strings" "time" + + "github.com/beego/bee/internal/pkg/utils" + beeLogger "github.com/beego/bee/logger" ) // write to file @@ -191,7 +192,7 @@ func GetFilterContent(content string, seg string) string { res := "" for _, s := range strings.Split(content, "\n") { s = strings.TrimSpace(strings.TrimPrefix(s, seg)) - var have = false + var have bool for _,except := range CompareExcept{ if strings.HasPrefix(s, except) { have = true diff --git a/main.go b/main.go index 112d6c0..251ee51 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) func main() { - utils.UpdateBee() + utils.NoticeUpdateBee() flag.Usage = cmd.Usage flag.Parse() log.SetFlags(0) diff --git a/utils/utils.go b/utils/utils.go index 969e902..b2056e4 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -30,9 +30,12 @@ import ( "time" "unicode" + "github.com/beego/bee/config" + "github.com/beego/bee/internal/pkg/git" + + "github.com/beego/bee/internal/pkg/system" beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/logger/colors" - "github.com/beego/bee/internal/pkg/system" ) func GetBeeWorkPath() string { @@ -466,64 +469,70 @@ func IsGOMODULE() bool { return false } -func UpdateBee() { +func NoticeUpdateBee() { cmd := exec.Command("go", "version") cmd.Output() if cmd.Process == nil || cmd.Process.Pid <= 0 { beeLogger.Log.Warn("There is no go environment") return } - path := system.BeegoHome - fp := path + "/.updateBee" + beeHome := system.BeegoHome + fp := beeHome + "/.noticeUpdateBee" timeNow := time.Now().Unix() var timeOld int64 - if IsExist(fp) { - oldContent, err := ioutil.ReadFile(fp) + if !IsExist(fp) { + f, err := os.Create(fp) if err != nil { - beeLogger.Log.Warnf("read file err: %s", err) - } - timeOld, _ = strconv.ParseInt(string(oldContent), 10, 64) - } else { - if cf, err := os.OpenFile(fp, os.O_CREATE, 0644); err == nil { - cf.Close() - } else { - beeLogger.Log.Warnf("Create file err: %s", err) + beeLogger.Log.Warnf("Create noticeUpdateBee file err: %s", err) + return } + defer f.Close() } - if timeNow-timeOld > 24*60*60 { - if w, err := os.OpenFile(fp, os.O_WRONLY|os.O_TRUNC, 0644); err == nil { - defer w.Close() - timeNowStr := strconv.FormatInt(timeNow, 10) - if _, err := w.WriteString(timeNowStr); err != nil { - beeLogger.Log.Warnf("Update file err: %s", err) - } - beeLogger.Log.Info("Updating bee") - goGetBee() - } else { - beeLogger.Log.Warnf("Update Bee file err: %s", err) - } + oldContent, err := ioutil.ReadFile(fp) + if err != nil { + beeLogger.Log.Warnf("Read noticeUpdateBee file err: %s", err) + return } + timeOld, _ = strconv.ParseInt(string(oldContent), 10, 64) + if timeNow-timeOld < 24*60*60 { + return + } + w, err := os.OpenFile(fp, os.O_WRONLY|os.O_TRUNC, 0644) + if err != nil { + beeLogger.Log.Warnf("Open noticeUpdateBee file err: %s", err) + return + } + defer w.Close() + timeNowStr := strconv.FormatInt(timeNow, 10) + if _, err := w.WriteString(timeNowStr); err != nil { + beeLogger.Log.Warnf("Update noticeUpdateBee file err: %s", err) + return + } + newVersion() } -func goGetBee() { - beePath := "github.com/beego/bee" - done := make(chan int, 1) - go func() { - cmd := exec.Command("go", "get", "-u", beePath) - output, err := cmd.Output() - if err != nil { - beeLogger.Log.Warnf("Update Bee err: %s", err) - beeLogger.Log.Warnf("Update Bee err: %s", output) - } - beeLogger.Log.Infof("Bee was updated successfully %s", output) - done <- 1 - }() - // wait 30 second - select { - case <-done: +func newVersion() { + workPath := GetBeeWorkPath() + repo, err := git.OpenRepository(workPath) + if err != nil { + beeLogger.Log.Fatalf("Fail to open repository, err: %s", err) return - case <-time.After(time.Second * 30): - beeLogger.Log.Warn("Update Bee timeout! The next automatic update will be in 24 hours.") - beeLogger.Log.Warn("Or you can update it yourself with `go get -u github.com/beego/bee`") + } + tags, err := repo.GetTags() + if err != nil { + beeLogger.Log.Fatalf("Fail to get tags, err: %s", err) + return + } + // v1.12.0 | V_1.12.0 => 1.12.0 + re, _ := regexp.Compile(`[0-9.]+`) + var versionLast string + versionList := re.FindStringSubmatch(tags[0]) + if len(versionList) >= 1 { + versionLast = versionList[0] + } + versionNow := config.Version + if versionNow != versionLast { + beeLogger.Log.Warnf("Update available %s ==> %s", versionNow, versionLast) + beeLogger.Log.Warn("Run `bee update` to update") } } From 40a90af5be067fd396ed46bf9ba25668fdfb1a7c Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sun, 2 Aug 2020 17:00:29 +0800 Subject: [PATCH 18/40] fix the bee path --- utils/utils.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/utils/utils.go b/utils/utils.go index b2056e4..7ecb0b6 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -512,7 +512,10 @@ func NoticeUpdateBee() { } func newVersion() { - workPath := GetBeeWorkPath() + hs, _, workPath := SearchGOPATHs(config.GitRemotePath) + if hs == false { + beeLogger.Log.Warn("Fail to open repository") + } repo, err := git.OpenRepository(workPath) if err != nil { beeLogger.Log.Fatalf("Fail to open repository, err: %s", err) From 07fa523da9ce0454275b7d3fdc1643578d527249 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sun, 2 Aug 2020 23:02:12 +0800 Subject: [PATCH 19/40] get bee latest version by 'https://api.github.com/repos/beego/bee/tags' --- utils/utils.go | 68 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 27 deletions(-) diff --git a/utils/utils.go b/utils/utils.go index 7ecb0b6..a940670 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -16,8 +16,10 @@ package utils import ( "bytes" + "encoding/json" "fmt" "io/ioutil" + "net/http" "os" "os/exec" "path" @@ -31,13 +33,15 @@ import ( "unicode" "github.com/beego/bee/config" - "github.com/beego/bee/internal/pkg/git" - "github.com/beego/bee/internal/pkg/system" beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/logger/colors" ) +type tagName struct { + Name string `json:"name"` +} + func GetBeeWorkPath() string { curpath, err := os.Getwd() if err != nil { @@ -508,34 +512,44 @@ func NoticeUpdateBee() { beeLogger.Log.Warnf("Update noticeUpdateBee file err: %s", err) return } - newVersion() -} - -func newVersion() { - hs, _, workPath := SearchGOPATHs(config.GitRemotePath) - if hs == false { - beeLogger.Log.Warn("Fail to open repository") - } - repo, err := git.OpenRepository(workPath) - if err != nil { - beeLogger.Log.Fatalf("Fail to open repository, err: %s", err) - return - } - tags, err := repo.GetTags() - if err != nil { - beeLogger.Log.Fatalf("Fail to get tags, err: %s", err) - return - } - // v1.12.0 | V_1.12.0 => 1.12.0 - re, _ := regexp.Compile(`[0-9.]+`) - var versionLast string - versionList := re.FindStringSubmatch(tags[0]) - if len(versionList) >= 1 { - versionLast = versionList[0] - } + beeLogger.Log.Info("Getting bee latest version...") + versionLast := BeeLastVersion() versionNow := config.Version + if versionLast == ""{ + beeLogger.Log.Warn("Get latest version err") + return + } if versionNow != versionLast { beeLogger.Log.Warnf("Update available %s ==> %s", versionNow, versionLast) beeLogger.Log.Warn("Run `bee update` to update") } + beeLogger.Log.Info("Your bee are up to date") +} + +func BeeLastVersion() (version string) { + var url = "https://api.github.com/repos/beego/bee/tags" + resp, err := http.Get(url) + if err != nil { + beeLogger.Log.Warnf("Get bee tags from github error: %s", err) + return + } + defer resp.Body.Close() + bodyContent, _ := ioutil.ReadAll(resp.Body) + var tags []tagName + if err = json.Unmarshal(bodyContent, &tags); err != nil { + beeLogger.Log.Warnf("Unmarshal tags body error: %s", err) + return + } + if len(tags) < 1 { + beeLogger.Log.Warn("There is no tags!") + return + } + last := tags[0] + re, _ := regexp.Compile(`[0-9.]+`) + versionList := re.FindStringSubmatch(last.Name) + if len(versionList) > 0 { + return versionList[0] + } + beeLogger.Log.Warn("There is no tags!") + return } From e0ea0abf5b6ea761bdaaf151038dfd22b432b103 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sat, 1 Aug 2020 17:12:09 +0800 Subject: [PATCH 20/40] Automatic update bee every day Backup only when content changes Fix the version --- cmd/commands/version/version.go | 2 +- internal/app/module/beegopro/config.go | 2 +- internal/app/module/beegopro/render.go | 39 ++++++++++++-- internal/app/module/beegopro/util.go | 70 +++++++++++++++++--------- main.go | 1 + utils/utils.go | 64 +++++++++++++++++++++++ 6 files changed, 148 insertions(+), 30 deletions(-) diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index 4eebd9f..a1ce710 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -57,7 +57,7 @@ Prints the current Bee, Beego and Go version alongside the platform information. } var outputFormat string -const version = "1.11.0" +const version = "1.12.0" func init() { fs := flag.NewFlagSet("version", flag.ContinueOnError) diff --git a/internal/app/module/beegopro/config.go b/internal/app/module/beegopro/config.go index f4854fe..7fbdc2c 100644 --- a/internal/app/module/beegopro/config.go +++ b/internal/app/module/beegopro/config.go @@ -5,7 +5,7 @@ import ( beeLogger "github.com/beego/bee/logger" "io/ioutil" ) - +var CompareExcept = []string{"@BeeGenerateTime"} func (c *Container) GenConfig() { if utils.IsExist(c.BeegoProFile) { beeLogger.Log.Fatalf("beego pro toml exist") diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index f2e49c3..7ca97ae 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -6,6 +6,9 @@ import ( "github.com/davecgh/go-spew/spew" "github.com/flosch/pongo2" "github.com/smartwalle/pongo2render" + "go/format" + "io/ioutil" + "os" "path" "path/filepath" ) @@ -114,10 +117,36 @@ func (r *RenderFile) Exec(name string) { beeLogger.Log.Fatalf("Could not create the %s render tmpl: %s", name, err) return } - err = r.write(r.FlushFile, buf) - if err != nil { - beeLogger.Log.Fatalf("Could not create file: %s", err) - return + _, err = os.Stat(r.Descriptor.DstPath) + var orgContent []byte + if err == nil { + if org, err := os.OpenFile(r.Descriptor.DstPath, os.O_RDONLY, 0666); err == nil { + orgContent,_ = ioutil.ReadAll(org) + org.Close() + } else { + beeLogger.Log.Infof("file err %s", err) + } + } + // Replace or create when content changes + output := []byte(buf) + ext := filepath.Ext(r.FlushFile) + if r.Option.EnableFormat && ext == ".go" { + // format code + var bts []byte + bts, err = format.Source([]byte(buf)) + if err != nil { + beeLogger.Log.Warnf("format buf error %s", err.Error()) + } + output = bts + } + + if FileContentChange(orgContent,output,GetSeg(ext)) { + err = r.write(r.FlushFile, output) + if err != nil { + beeLogger.Log.Fatalf("Could not create file: %s", err) + return + } + beeLogger.Log.Infof("create file '%s' from %s", r.FlushFile, r.PackageName) } - beeLogger.Log.Infof("create file '%s' from %s", r.FlushFile, r.PackageName) } + diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index 646ffb2..bfef1db 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -1,11 +1,11 @@ package beegopro import ( + "crypto/md5" "errors" "fmt" "github.com/beego/bee/internal/pkg/utils" beeLogger "github.com/beego/bee/logger" - "go/format" "io/ioutil" "os" "path" @@ -15,12 +15,12 @@ import ( ) // write to file -func (c *RenderFile) write(filename string, buf string) (err error) { +func (c *RenderFile) write(filename string, buf []byte) (err error) { if utils.IsExist(filename) && !isNeedOverwrite(filename) { return } - filePath := path.Dir(filename) + filePath := filepath.Dir(filename) err = createPath(filePath) if err != nil { err = errors.New("write create path " + err.Error()) @@ -37,7 +37,7 @@ func (c *RenderFile) write(filename string, buf string) (err error) { name := path.Base(filename) if utils.IsExist(filename) { - bakName := fmt.Sprintf("%s/%s.%s.bak", filePathBak, name, time.Now().Format("2006.01.02.15.04.05")) + bakName := fmt.Sprintf("%s/%s.%s.bak", filePathBak, filepath.Base(name), time.Now().Format("2006.01.02.15.04.05")) beeLogger.Log.Infof("bak file '%s'", bakName) if err := os.Rename(filename, bakName); err != nil { err = errors.New("file is bak error, path is " + bakName) @@ -57,20 +57,7 @@ func (c *RenderFile) write(filename string, buf string) (err error) { return } - output := []byte(buf) - - if c.Option.EnableFormat && filepath.Ext(filename) == ".go" { - // format code - var bts []byte - bts, err = format.Source([]byte(buf)) - if err != nil { - err = errors.New("format buf error " + err.Error()) - return - } - output = bts - } - - err = ioutil.WriteFile(filename, output, 0644) + err = ioutil.WriteFile(filename, buf, 0644) if err != nil { err = errors.New("write write file " + err.Error()) return @@ -79,11 +66,7 @@ func (c *RenderFile) write(filename string, buf string) (err error) { } func isNeedOverwrite(fileName string) (flag bool) { - seg := "//" - ext := filepath.Ext(fileName) - if ext == ".sql" { - seg = "--" - } + seg := GetSeg(filepath.Ext(fileName)) f, err := os.Open(fileName) if err != nil { @@ -188,3 +171,44 @@ func getModelType(orm string) (inputType, goType, mysqlType, tag string) { } return } + +func FileContentChange(org,new []byte, seg string) bool { + if len(org) == 0 { + return true + } + orgContent := GetFilterContent(string(org),seg) + newContent := GetFilterContent(string(new),seg) + orgMd5 := md5.Sum([]byte(orgContent)) + newMd5:= md5.Sum([]byte(newContent)) + if orgMd5 != newMd5 { + return true + } + beeLogger.Log.Infof("File has no change in the content") + return false +} + +func GetFilterContent(content string, seg string) string { + res := "" + for _, s := range strings.Split(content, "\n") { + s = strings.TrimSpace(strings.TrimPrefix(s, seg)) + var have = false + for _,except := range CompareExcept{ + if strings.HasPrefix(s, except) { + have = true + } + } + if !have { + res += s + } + } + return res +} + +func GetSeg(ext string) string { + switch ext { + case ".sql": + return "--" + default: + return "//" + } +} diff --git a/main.go b/main.go index 851b199..112d6c0 100644 --- a/main.go +++ b/main.go @@ -25,6 +25,7 @@ import ( ) func main() { + utils.UpdateBee() flag.Usage = cmd.Usage flag.Parse() log.SetFlags(0) diff --git a/utils/utils.go b/utils/utils.go index eedd57a..969e902 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -24,6 +24,7 @@ import ( "path/filepath" "regexp" "runtime" + "strconv" "strings" "text/template" "time" @@ -31,6 +32,7 @@ import ( beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/logger/colors" + "github.com/beego/bee/internal/pkg/system" ) func GetBeeWorkPath() string { @@ -463,3 +465,65 @@ func IsGOMODULE() bool { } return false } + +func UpdateBee() { + cmd := exec.Command("go", "version") + cmd.Output() + if cmd.Process == nil || cmd.Process.Pid <= 0 { + beeLogger.Log.Warn("There is no go environment") + return + } + path := system.BeegoHome + fp := path + "/.updateBee" + timeNow := time.Now().Unix() + var timeOld int64 + if IsExist(fp) { + oldContent, err := ioutil.ReadFile(fp) + if err != nil { + beeLogger.Log.Warnf("read file err: %s", err) + } + timeOld, _ = strconv.ParseInt(string(oldContent), 10, 64) + } else { + if cf, err := os.OpenFile(fp, os.O_CREATE, 0644); err == nil { + cf.Close() + } else { + beeLogger.Log.Warnf("Create file err: %s", err) + } + } + if timeNow-timeOld > 24*60*60 { + if w, err := os.OpenFile(fp, os.O_WRONLY|os.O_TRUNC, 0644); err == nil { + defer w.Close() + timeNowStr := strconv.FormatInt(timeNow, 10) + if _, err := w.WriteString(timeNowStr); err != nil { + beeLogger.Log.Warnf("Update file err: %s", err) + } + beeLogger.Log.Info("Updating bee") + goGetBee() + } else { + beeLogger.Log.Warnf("Update Bee file err: %s", err) + } + } +} + +func goGetBee() { + beePath := "github.com/beego/bee" + done := make(chan int, 1) + go func() { + cmd := exec.Command("go", "get", "-u", beePath) + output, err := cmd.Output() + if err != nil { + beeLogger.Log.Warnf("Update Bee err: %s", err) + beeLogger.Log.Warnf("Update Bee err: %s", output) + } + beeLogger.Log.Infof("Bee was updated successfully %s", output) + done <- 1 + }() + // wait 30 second + select { + case <-done: + return + case <-time.After(time.Second * 30): + beeLogger.Log.Warn("Update Bee timeout! The next automatic update will be in 24 hours.") + beeLogger.Log.Warn("Or you can update it yourself with `go get -u github.com/beego/bee`") + } +} From 9c636351694b06293a4d304496581e151cc476c0 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sun, 2 Aug 2020 16:17:02 +0800 Subject: [PATCH 21/40] add cmd 'bee update' to update self just notice once a day if there is a new version --- cmd/bee.go | 1 + cmd/commands/command.go | 1 + cmd/commands/update/update.go | 38 ++++++++++ cmd/commands/version/version.go | 6 +- config/conf.go | 9 ++- internal/app/module/beegopro/render.go | 14 ++-- internal/app/module/beegopro/util.go | 7 +- main.go | 2 +- utils/utils.go | 99 ++++++++++++++------------ 9 files changed, 119 insertions(+), 58 deletions(-) create mode 100644 cmd/commands/update/update.go diff --git a/cmd/bee.go b/cmd/bee.go index a6c2c80..8a4f9ec 100644 --- a/cmd/bee.go +++ b/cmd/bee.go @@ -31,6 +31,7 @@ import ( _ "github.com/beego/bee/cmd/commands/rs" _ "github.com/beego/bee/cmd/commands/run" _ "github.com/beego/bee/cmd/commands/server" + _ "github.com/beego/bee/cmd/commands/update" _ "github.com/beego/bee/cmd/commands/version" "github.com/beego/bee/utils" ) diff --git a/cmd/commands/command.go b/cmd/commands/command.go index cab663f..95a1891 100644 --- a/cmd/commands/command.go +++ b/cmd/commands/command.go @@ -65,6 +65,7 @@ func (c *Command) Out() io.Writer { if c.output != nil { return *c.output } + return colors.NewColorWriter(os.Stderr) } diff --git a/cmd/commands/update/update.go b/cmd/commands/update/update.go new file mode 100644 index 0000000..3e5a87a --- /dev/null +++ b/cmd/commands/update/update.go @@ -0,0 +1,38 @@ +package update + +import ( + "flag" + "os" + "os/exec" + + "github.com/beego/bee/cmd/commands" + "github.com/beego/bee/config" + beeLogger "github.com/beego/bee/logger" +) + +var CmdUpdate = &commands.Command{ + UsageLine: "update", + Short: "Update Bee", + Long: ` +Automatic run command "go get -u github.com/beego/bee" for selfupdate +`, + Run: updateBee, +} + +func init() { + fs := flag.NewFlagSet("update", flag.ContinueOnError) + CmdUpdate.Flag = *fs + commands.AvailableCommands = append(commands.AvailableCommands, CmdUpdate) +} + +func updateBee(cmd *commands.Command, args []string) int { + beeLogger.Log.Info("Updating") + beePath := config.GitRemotePath + cmdUp := exec.Command("go", "get", "-u", beePath) + cmdUp.Stdout = os.Stdout + cmdUp.Stderr = os.Stderr + if err := cmdUp.Run(); err != nil { + beeLogger.Log.Warnf("Run cmd err:%s",err) + } + return 0 +} diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index a1ce710..32862a7 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -14,11 +14,13 @@ import ( "runtime" "strings" + "gopkg.in/yaml.v2" + "github.com/beego/bee/cmd/commands" + "github.com/beego/bee/config" beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/logger/colors" "github.com/beego/bee/utils" - "gopkg.in/yaml.v2" ) const verboseVersionBanner string = `%s%s______ @@ -57,7 +59,7 @@ Prints the current Bee, Beego and Go version alongside the platform information. } var outputFormat string -const version = "1.12.0" +const version = config.Version func init() { fs := flag.NewFlagSet("version", flag.ContinueOnError) diff --git a/config/conf.go b/config/conf.go index 32bdf2c..e0603e9 100644 --- a/config/conf.go +++ b/config/conf.go @@ -19,12 +19,19 @@ import ( "os" "path/filepath" - beeLogger "github.com/beego/bee/logger" "gopkg.in/yaml.v2" + + beeLogger "github.com/beego/bee/logger" ) const confVer = 0 +const ( + Version = "1.12.0" + GitRemotePath = "github.com/beego/bee" +) + + var Conf = struct { Version int WatchExts []string `json:"watch_ext" yaml:"watch_ext"` diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index 7ca97ae..7ca1464 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -1,16 +1,18 @@ package beegopro import ( - "github.com/beego/bee/internal/pkg/system" - beeLogger "github.com/beego/bee/logger" - "github.com/davecgh/go-spew/spew" - "github.com/flosch/pongo2" - "github.com/smartwalle/pongo2render" "go/format" "io/ioutil" "os" "path" "path/filepath" + + "github.com/davecgh/go-spew/spew" + "github.com/flosch/pongo2" + "github.com/smartwalle/pongo2render" + + "github.com/beego/bee/internal/pkg/system" + beeLogger "github.com/beego/bee/logger" ) // render @@ -140,7 +142,7 @@ func (r *RenderFile) Exec(name string) { output = bts } - if FileContentChange(orgContent,output,GetSeg(ext)) { + if FileContentChange(orgContent, output, GetSeg(ext)) { err = r.write(r.FlushFile, output) if err != nil { beeLogger.Log.Fatalf("Could not create file: %s", err) diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index bfef1db..604e404 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -4,14 +4,15 @@ import ( "crypto/md5" "errors" "fmt" - "github.com/beego/bee/internal/pkg/utils" - beeLogger "github.com/beego/bee/logger" "io/ioutil" "os" "path" "path/filepath" "strings" "time" + + "github.com/beego/bee/internal/pkg/utils" + beeLogger "github.com/beego/bee/logger" ) // write to file @@ -191,7 +192,7 @@ func GetFilterContent(content string, seg string) string { res := "" for _, s := range strings.Split(content, "\n") { s = strings.TrimSpace(strings.TrimPrefix(s, seg)) - var have = false + var have bool for _,except := range CompareExcept{ if strings.HasPrefix(s, except) { have = true diff --git a/main.go b/main.go index 112d6c0..251ee51 100644 --- a/main.go +++ b/main.go @@ -25,7 +25,7 @@ import ( ) func main() { - utils.UpdateBee() + utils.NoticeUpdateBee() flag.Usage = cmd.Usage flag.Parse() log.SetFlags(0) diff --git a/utils/utils.go b/utils/utils.go index 969e902..b2056e4 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -30,9 +30,12 @@ import ( "time" "unicode" + "github.com/beego/bee/config" + "github.com/beego/bee/internal/pkg/git" + + "github.com/beego/bee/internal/pkg/system" beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/logger/colors" - "github.com/beego/bee/internal/pkg/system" ) func GetBeeWorkPath() string { @@ -466,64 +469,70 @@ func IsGOMODULE() bool { return false } -func UpdateBee() { +func NoticeUpdateBee() { cmd := exec.Command("go", "version") cmd.Output() if cmd.Process == nil || cmd.Process.Pid <= 0 { beeLogger.Log.Warn("There is no go environment") return } - path := system.BeegoHome - fp := path + "/.updateBee" + beeHome := system.BeegoHome + fp := beeHome + "/.noticeUpdateBee" timeNow := time.Now().Unix() var timeOld int64 - if IsExist(fp) { - oldContent, err := ioutil.ReadFile(fp) + if !IsExist(fp) { + f, err := os.Create(fp) if err != nil { - beeLogger.Log.Warnf("read file err: %s", err) - } - timeOld, _ = strconv.ParseInt(string(oldContent), 10, 64) - } else { - if cf, err := os.OpenFile(fp, os.O_CREATE, 0644); err == nil { - cf.Close() - } else { - beeLogger.Log.Warnf("Create file err: %s", err) + beeLogger.Log.Warnf("Create noticeUpdateBee file err: %s", err) + return } + defer f.Close() } - if timeNow-timeOld > 24*60*60 { - if w, err := os.OpenFile(fp, os.O_WRONLY|os.O_TRUNC, 0644); err == nil { - defer w.Close() - timeNowStr := strconv.FormatInt(timeNow, 10) - if _, err := w.WriteString(timeNowStr); err != nil { - beeLogger.Log.Warnf("Update file err: %s", err) - } - beeLogger.Log.Info("Updating bee") - goGetBee() - } else { - beeLogger.Log.Warnf("Update Bee file err: %s", err) - } + oldContent, err := ioutil.ReadFile(fp) + if err != nil { + beeLogger.Log.Warnf("Read noticeUpdateBee file err: %s", err) + return } + timeOld, _ = strconv.ParseInt(string(oldContent), 10, 64) + if timeNow-timeOld < 24*60*60 { + return + } + w, err := os.OpenFile(fp, os.O_WRONLY|os.O_TRUNC, 0644) + if err != nil { + beeLogger.Log.Warnf("Open noticeUpdateBee file err: %s", err) + return + } + defer w.Close() + timeNowStr := strconv.FormatInt(timeNow, 10) + if _, err := w.WriteString(timeNowStr); err != nil { + beeLogger.Log.Warnf("Update noticeUpdateBee file err: %s", err) + return + } + newVersion() } -func goGetBee() { - beePath := "github.com/beego/bee" - done := make(chan int, 1) - go func() { - cmd := exec.Command("go", "get", "-u", beePath) - output, err := cmd.Output() - if err != nil { - beeLogger.Log.Warnf("Update Bee err: %s", err) - beeLogger.Log.Warnf("Update Bee err: %s", output) - } - beeLogger.Log.Infof("Bee was updated successfully %s", output) - done <- 1 - }() - // wait 30 second - select { - case <-done: +func newVersion() { + workPath := GetBeeWorkPath() + repo, err := git.OpenRepository(workPath) + if err != nil { + beeLogger.Log.Fatalf("Fail to open repository, err: %s", err) return - case <-time.After(time.Second * 30): - beeLogger.Log.Warn("Update Bee timeout! The next automatic update will be in 24 hours.") - beeLogger.Log.Warn("Or you can update it yourself with `go get -u github.com/beego/bee`") + } + tags, err := repo.GetTags() + if err != nil { + beeLogger.Log.Fatalf("Fail to get tags, err: %s", err) + return + } + // v1.12.0 | V_1.12.0 => 1.12.0 + re, _ := regexp.Compile(`[0-9.]+`) + var versionLast string + versionList := re.FindStringSubmatch(tags[0]) + if len(versionList) >= 1 { + versionLast = versionList[0] + } + versionNow := config.Version + if versionNow != versionLast { + beeLogger.Log.Warnf("Update available %s ==> %s", versionNow, versionLast) + beeLogger.Log.Warn("Run `bee update` to update") } } From 82e40f90108b8bdd9557aeba819be752fb27cc5d Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sun, 2 Aug 2020 17:00:29 +0800 Subject: [PATCH 22/40] fix the bee path --- utils/utils.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/utils/utils.go b/utils/utils.go index b2056e4..7ecb0b6 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -512,7 +512,10 @@ func NoticeUpdateBee() { } func newVersion() { - workPath := GetBeeWorkPath() + hs, _, workPath := SearchGOPATHs(config.GitRemotePath) + if hs == false { + beeLogger.Log.Warn("Fail to open repository") + } repo, err := git.OpenRepository(workPath) if err != nil { beeLogger.Log.Fatalf("Fail to open repository, err: %s", err) From 732fdfa32199c8121dfeaad31d0a13a421fb8631 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Sun, 2 Aug 2020 23:02:12 +0800 Subject: [PATCH 23/40] get bee latest version by 'https://api.github.com/repos/beego/bee/tags' --- utils/utils.go | 68 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 27 deletions(-) diff --git a/utils/utils.go b/utils/utils.go index 7ecb0b6..a940670 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -16,8 +16,10 @@ package utils import ( "bytes" + "encoding/json" "fmt" "io/ioutil" + "net/http" "os" "os/exec" "path" @@ -31,13 +33,15 @@ import ( "unicode" "github.com/beego/bee/config" - "github.com/beego/bee/internal/pkg/git" - "github.com/beego/bee/internal/pkg/system" beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/logger/colors" ) +type tagName struct { + Name string `json:"name"` +} + func GetBeeWorkPath() string { curpath, err := os.Getwd() if err != nil { @@ -508,34 +512,44 @@ func NoticeUpdateBee() { beeLogger.Log.Warnf("Update noticeUpdateBee file err: %s", err) return } - newVersion() -} - -func newVersion() { - hs, _, workPath := SearchGOPATHs(config.GitRemotePath) - if hs == false { - beeLogger.Log.Warn("Fail to open repository") - } - repo, err := git.OpenRepository(workPath) - if err != nil { - beeLogger.Log.Fatalf("Fail to open repository, err: %s", err) - return - } - tags, err := repo.GetTags() - if err != nil { - beeLogger.Log.Fatalf("Fail to get tags, err: %s", err) - return - } - // v1.12.0 | V_1.12.0 => 1.12.0 - re, _ := regexp.Compile(`[0-9.]+`) - var versionLast string - versionList := re.FindStringSubmatch(tags[0]) - if len(versionList) >= 1 { - versionLast = versionList[0] - } + beeLogger.Log.Info("Getting bee latest version...") + versionLast := BeeLastVersion() versionNow := config.Version + if versionLast == ""{ + beeLogger.Log.Warn("Get latest version err") + return + } if versionNow != versionLast { beeLogger.Log.Warnf("Update available %s ==> %s", versionNow, versionLast) beeLogger.Log.Warn("Run `bee update` to update") } + beeLogger.Log.Info("Your bee are up to date") +} + +func BeeLastVersion() (version string) { + var url = "https://api.github.com/repos/beego/bee/tags" + resp, err := http.Get(url) + if err != nil { + beeLogger.Log.Warnf("Get bee tags from github error: %s", err) + return + } + defer resp.Body.Close() + bodyContent, _ := ioutil.ReadAll(resp.Body) + var tags []tagName + if err = json.Unmarshal(bodyContent, &tags); err != nil { + beeLogger.Log.Warnf("Unmarshal tags body error: %s", err) + return + } + if len(tags) < 1 { + beeLogger.Log.Warn("There is no tags!") + return + } + last := tags[0] + re, _ := regexp.Compile(`[0-9.]+`) + versionList := re.FindStringSubmatch(last.Name) + if len(versionList) > 0 { + return versionList[0] + } + beeLogger.Log.Warn("There is no tags!") + return } From 413f4ef12944a546141ca136aaa7744c2c3e2f32 Mon Sep 17 00:00:00 2001 From: wangle <285273592@qq.com> Date: Mon, 10 Aug 2020 22:46:29 +0800 Subject: [PATCH 24/40] make .beego dir if don`t exist --- utils/utils.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/utils/utils.go b/utils/utils.go index a940670..e9656dc 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -481,6 +481,12 @@ func NoticeUpdateBee() { return } beeHome := system.BeegoHome + if !IsExist(beeHome) { + if err := os.MkdirAll(beeHome, 0755); err != nil { + beeLogger.Log.Fatalf("Could not create the directory: %s", err) + return + } + } fp := beeHome + "/.noticeUpdateBee" timeNow := time.Now().Unix() var timeOld int64 From cef7185b35618e852dd44c04496aecddee86ff10 Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Wed, 7 Oct 2020 16:36:04 +0800 Subject: [PATCH 25/40] Bee new using v2.0 beego --- cmd/commands/new/new.go | 8 ++++---- config/conf.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmd/commands/new/new.go b/cmd/commands/new/new.go index 6c71f07..91830d6 100644 --- a/cmd/commands/new/new.go +++ b/cmd/commands/new/new.go @@ -70,7 +70,7 @@ var maingo = `package main import ( _ "{{.Appname}}/routers" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/pkg/server/web" ) func main() { @@ -82,7 +82,7 @@ var router = `package routers import ( "{{.Appname}}/controllers" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/pkg/server/web" ) func init() { @@ -106,7 +106,7 @@ import ( "path/filepath" _ "{{.Appname}}/routers" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/pkg/server/web" . "github.com/smartystreets/goconvey/convey" ) @@ -140,7 +140,7 @@ func TestBeego(t *testing.T) { var controllers = `package controllers import ( - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/pkg/server/web" ) type MainController struct { diff --git a/config/conf.go b/config/conf.go index e0603e9..4f150aa 100644 --- a/config/conf.go +++ b/config/conf.go @@ -27,7 +27,7 @@ import ( const confVer = 0 const ( - Version = "1.12.0" + Version = "2.0.0" GitRemotePath = "github.com/beego/bee" ) From e0fd23700212b2110d0f042fc57766a552cb5f33 Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Fri, 9 Oct 2020 23:33:58 +0800 Subject: [PATCH 26/40] add dev githook command --- cmd/bee.go | 1 + cmd/commands/api/apiapp.go | 3 +- cmd/commands/beegopro/beegopro.go | 3 +- cmd/commands/dev/cmd.go | 56 +++++++++++++++++++ cmd/commands/dev/githook.go | 47 ++++++++++++++++ cmd/commands/dlv/dlv_amd64.go | 4 +- cmd/commands/hprose/hprose.go | 3 +- cmd/commands/update/update.go | 2 +- config/conf.go | 3 +- internal/app/module/beegopro/config.go | 5 +- internal/app/module/beegopro/container.go | 7 ++- internal/app/module/beegopro/migration.go | 5 +- internal/app/module/beegopro/parser_mysql.go | 1 + internal/app/module/beegopro/pongo2.go | 5 +- internal/app/module/beegopro/render.go | 3 +- internal/app/module/beegopro/schema.go | 7 ++- internal/app/module/beegopro/schema_model.go | 3 +- .../app/module/beegopro/schema_mysql_model.go | 1 + internal/app/module/beegopro/util.go | 10 ++-- internal/pkg/git/repository.go | 7 ++- internal/pkg/utils/file.go | 3 +- utils/utils.go | 4 +- 22 files changed, 150 insertions(+), 33 deletions(-) create mode 100644 cmd/commands/dev/cmd.go create mode 100644 cmd/commands/dev/githook.go diff --git a/cmd/bee.go b/cmd/bee.go index 8a4f9ec..894aae9 100644 --- a/cmd/bee.go +++ b/cmd/bee.go @@ -21,6 +21,7 @@ import ( _ "github.com/beego/bee/cmd/commands/bale" _ "github.com/beego/bee/cmd/commands/beefix" _ "github.com/beego/bee/cmd/commands/beegopro" + _ "github.com/beego/bee/cmd/commands/dev" _ "github.com/beego/bee/cmd/commands/dlv" _ "github.com/beego/bee/cmd/commands/dockerize" _ "github.com/beego/bee/cmd/commands/generate" diff --git a/cmd/commands/api/apiapp.go b/cmd/commands/api/apiapp.go index 4ecbc6a..f9553f6 100644 --- a/cmd/commands/api/apiapp.go +++ b/cmd/commands/api/apiapp.go @@ -16,11 +16,12 @@ package apiapp import ( "fmt" - "github.com/beego/bee/logger/colors" "os" path "path/filepath" "strings" + "github.com/beego/bee/logger/colors" + "github.com/beego/bee/cmd/commands" "github.com/beego/bee/cmd/commands/version" "github.com/beego/bee/generate" diff --git a/cmd/commands/beegopro/beegopro.go b/cmd/commands/beegopro/beegopro.go index e30567e..b094a0a 100644 --- a/cmd/commands/beegopro/beegopro.go +++ b/cmd/commands/beegopro/beegopro.go @@ -14,10 +14,11 @@ package beegopro import ( + "strings" + "github.com/beego/bee/cmd/commands" "github.com/beego/bee/internal/app/module/beegopro" "github.com/beego/bee/logger" - "strings" ) var CmdBeegoPro = &commands.Command{ diff --git a/cmd/commands/dev/cmd.go b/cmd/commands/dev/cmd.go new file mode 100644 index 0000000..dda319a --- /dev/null +++ b/cmd/commands/dev/cmd.go @@ -0,0 +1,56 @@ +// Copyright 2020 +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package dev + +import ( + "github.com/beego/bee/cmd/commands" + beeLogger "github.com/beego/bee/logger" +) + +var CmdDev = &commands.Command{ + CustomFlags: true, + UsageLine: "dev [command]", + Short: "Commands which used to help to develop beego and bee", + Long: ` +Commands that help developer develop, build and test beego. +- githook Prepare githooks +`, + Run: Run, +} + +func init() { + commands.AvailableCommands = append(commands.AvailableCommands, CmdDev) +} + +func Run(cmd *commands.Command, args []string) int { + if len(args) < 1 { + beeLogger.Log.Fatal("Command is missing") + } + + if len(args) >= 2 { + cmd.Flag.Parse(args[1:]) + } + + gcmd := args[0] + + switch gcmd { + + case "githook": + initGitHook() + default: + beeLogger.Log.Fatal("Unknown command") + } + return 0 +} diff --git a/cmd/commands/dev/githook.go b/cmd/commands/dev/githook.go new file mode 100644 index 0000000..be0d18a --- /dev/null +++ b/cmd/commands/dev/githook.go @@ -0,0 +1,47 @@ +// Copyright 2020 +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package dev + +import ( + "os" + + beeLogger "github.com/beego/bee/logger" +) + +var preCommit = ` +goimports -w -format-only ./ \ +ineffassign . \ +staticcheck -show-ignored -checks "-ST1017,-U1000,-ST1005,-S1034,-S1012,-SA4006,-SA6005,-SA1019,-SA1024" ./ \ +` + +// for now, we simply override pre-commit file +func initGitHook() { + // pcf => pre-commit file + pcfPath := "./.git/hooks/pre-commit" + pcf, err := os.OpenFile(pcfPath, os.O_RDWR|os.O_CREATE, 0777) + if err != nil { + beeLogger.Log.Errorf("try to create or open file failed: %s, cause: %s", pcfPath, err.Error()) + return + } + + defer pcf.Close() + _, err = pcf.Write(([]byte)(preCommit)) + + if err != nil { + beeLogger.Log.Errorf("could not init githooks: %s", err.Error()) + } else { + beeLogger.Log.Successf("The githooks has been added, the content is:\n %s ", preCommit) + } +} diff --git a/cmd/commands/dlv/dlv_amd64.go b/cmd/commands/dlv/dlv_amd64.go index 86eee8a..dc91816 100644 --- a/cmd/commands/dlv/dlv_amd64.go +++ b/cmd/commands/dlv/dlv_amd64.go @@ -28,12 +28,12 @@ import ( "github.com/beego/bee/cmd/commands/version" beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/utils" + "github.com/fsnotify/fsnotify" + "github.com/gadelkareem/delve/pkg/terminal" "github.com/gadelkareem/delve/service" "github.com/gadelkareem/delve/service/debugger" "github.com/gadelkareem/delve/service/rpc2" "github.com/gadelkareem/delve/service/rpccommon" - "github.com/gadelkareem/delve/pkg/terminal" - "github.com/fsnotify/fsnotify" ) var cmdDlv = &commands.Command{ diff --git a/cmd/commands/hprose/hprose.go b/cmd/commands/hprose/hprose.go index bdd52c8..7285260 100644 --- a/cmd/commands/hprose/hprose.go +++ b/cmd/commands/hprose/hprose.go @@ -2,11 +2,12 @@ package hprose import ( "fmt" - "github.com/beego/bee/logger/colors" "os" "path" "strings" + "github.com/beego/bee/logger/colors" + "github.com/beego/bee/cmd/commands" "github.com/beego/bee/cmd/commands/api" "github.com/beego/bee/cmd/commands/version" diff --git a/cmd/commands/update/update.go b/cmd/commands/update/update.go index 3e5a87a..2c8ff8a 100644 --- a/cmd/commands/update/update.go +++ b/cmd/commands/update/update.go @@ -32,7 +32,7 @@ func updateBee(cmd *commands.Command, args []string) int { cmdUp.Stdout = os.Stdout cmdUp.Stderr = os.Stderr if err := cmdUp.Run(); err != nil { - beeLogger.Log.Warnf("Run cmd err:%s",err) + beeLogger.Log.Warnf("Run cmd err:%s", err) } return 0 } diff --git a/config/conf.go b/config/conf.go index 4f150aa..e0a7fec 100644 --- a/config/conf.go +++ b/config/conf.go @@ -27,11 +27,10 @@ import ( const confVer = 0 const ( - Version = "2.0.0" + Version = "2.0.0" GitRemotePath = "github.com/beego/bee" ) - var Conf = struct { Version int WatchExts []string `json:"watch_ext" yaml:"watch_ext"` diff --git a/internal/app/module/beegopro/config.go b/internal/app/module/beegopro/config.go index 7fbdc2c..b305d02 100644 --- a/internal/app/module/beegopro/config.go +++ b/internal/app/module/beegopro/config.go @@ -1,11 +1,14 @@ package beegopro import ( + "io/ioutil" + "github.com/beego/bee/internal/pkg/utils" beeLogger "github.com/beego/bee/logger" - "io/ioutil" ) + var CompareExcept = []string{"@BeeGenerateTime"} + func (c *Container) GenConfig() { if utils.IsExist(c.BeegoProFile) { beeLogger.Log.Fatalf("beego pro toml exist") diff --git a/internal/app/module/beegopro/container.go b/internal/app/module/beegopro/container.go index 3046698..69c9084 100644 --- a/internal/app/module/beegopro/container.go +++ b/internal/app/module/beegopro/container.go @@ -2,6 +2,10 @@ package beegopro import ( "fmt" + "io/ioutil" + "sync" + "time" + "github.com/beego/bee/internal/pkg/git" "github.com/beego/bee/internal/pkg/system" beeLogger "github.com/beego/bee/logger" @@ -9,9 +13,6 @@ import ( "github.com/davecgh/go-spew/spew" "github.com/pelletier/go-toml" "github.com/spf13/viper" - "io/ioutil" - "sync" - "time" ) const MDateFormat = "20060102_150405" diff --git a/internal/app/module/beegopro/migration.go b/internal/app/module/beegopro/migration.go index a17a233..ec1eb08 100644 --- a/internal/app/module/beegopro/migration.go +++ b/internal/app/module/beegopro/migration.go @@ -2,11 +2,12 @@ package beegopro import ( "database/sql" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" "io/ioutil" "path/filepath" "strings" + + beeLogger "github.com/beego/bee/logger" + "github.com/beego/bee/utils" ) var SQL utils.DocValue diff --git a/internal/app/module/beegopro/parser_mysql.go b/internal/app/module/beegopro/parser_mysql.go index 08180cc..af5e80c 100644 --- a/internal/app/module/beegopro/parser_mysql.go +++ b/internal/app/module/beegopro/parser_mysql.go @@ -3,6 +3,7 @@ package beegopro import ( "database/sql" "fmt" + "github.com/beego/bee/internal/pkg/utils" beeLogger "github.com/beego/bee/logger" ) diff --git a/internal/app/module/beegopro/pongo2.go b/internal/app/module/beegopro/pongo2.go index 31453c6..24ee5b2 100644 --- a/internal/app/module/beegopro/pongo2.go +++ b/internal/app/module/beegopro/pongo2.go @@ -1,10 +1,11 @@ package beegopro import ( - "github.com/beego/bee/utils" - "github.com/flosch/pongo2" "strings" "unicode/utf8" + + "github.com/beego/bee/utils" + "github.com/flosch/pongo2" ) func init() { diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index 7ca1464..3721621 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -123,7 +123,7 @@ func (r *RenderFile) Exec(name string) { var orgContent []byte if err == nil { if org, err := os.OpenFile(r.Descriptor.DstPath, os.O_RDONLY, 0666); err == nil { - orgContent,_ = ioutil.ReadAll(org) + orgContent, _ = ioutil.ReadAll(org) org.Close() } else { beeLogger.Log.Infof("file err %s", err) @@ -151,4 +151,3 @@ func (r *RenderFile) Exec(name string) { beeLogger.Log.Infof("create file '%s' from %s", r.FlushFile, r.PackageName) } } - diff --git a/internal/app/module/beegopro/schema.go b/internal/app/module/beegopro/schema.go index c4f6a1e..9a2baac 100644 --- a/internal/app/module/beegopro/schema.go +++ b/internal/app/module/beegopro/schema.go @@ -2,15 +2,16 @@ package beegopro import ( "fmt" + "path/filepath" + "strings" + "sync" + "github.com/beego/bee/internal/pkg/command" "github.com/beego/bee/internal/pkg/system" beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/utils" "github.com/flosch/pongo2" "github.com/smartwalle/pongo2render" - "path/filepath" - "strings" - "sync" ) // store all data diff --git a/internal/app/module/beegopro/schema_model.go b/internal/app/module/beegopro/schema_model.go index 25e2c8c..22e7507 100644 --- a/internal/app/module/beegopro/schema_model.go +++ b/internal/app/module/beegopro/schema_model.go @@ -1,8 +1,9 @@ package beegopro import ( - "github.com/beego/bee/utils" "strings" + + "github.com/beego/bee/utils" ) // parse get the model info diff --git a/internal/app/module/beegopro/schema_mysql_model.go b/internal/app/module/beegopro/schema_mysql_model.go index 177aa0e..7bc2d8b 100644 --- a/internal/app/module/beegopro/schema_mysql_model.go +++ b/internal/app/module/beegopro/schema_mysql_model.go @@ -3,6 +3,7 @@ package beegopro import ( "database/sql" "errors" + "github.com/beego/bee/logger" ) diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index 604e404..22a668a 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -173,14 +173,14 @@ func getModelType(orm string) (inputType, goType, mysqlType, tag string) { return } -func FileContentChange(org,new []byte, seg string) bool { +func FileContentChange(org, new []byte, seg string) bool { if len(org) == 0 { return true } - orgContent := GetFilterContent(string(org),seg) - newContent := GetFilterContent(string(new),seg) + orgContent := GetFilterContent(string(org), seg) + newContent := GetFilterContent(string(new), seg) orgMd5 := md5.Sum([]byte(orgContent)) - newMd5:= md5.Sum([]byte(newContent)) + newMd5 := md5.Sum([]byte(newContent)) if orgMd5 != newMd5 { return true } @@ -193,7 +193,7 @@ func GetFilterContent(content string, seg string) string { for _, s := range strings.Split(content, "\n") { s = strings.TrimSpace(strings.TrimPrefix(s, seg)) var have bool - for _,except := range CompareExcept{ + for _, except := range CompareExcept { if strings.HasPrefix(s, except) { have = true } diff --git a/internal/pkg/git/repository.go b/internal/pkg/git/repository.go index d24a840..ebad8dd 100644 --- a/internal/pkg/git/repository.go +++ b/internal/pkg/git/repository.go @@ -3,13 +3,14 @@ package git import ( "errors" "fmt" - "github.com/beego/bee/internal/pkg/command" - "github.com/beego/bee/internal/pkg/utils" - beeLogger "github.com/beego/bee/logger" "path/filepath" "sort" "strconv" "strings" + + "github.com/beego/bee/internal/pkg/command" + "github.com/beego/bee/internal/pkg/utils" + beeLogger "github.com/beego/bee/logger" ) // git tag diff --git a/internal/pkg/utils/file.go b/internal/pkg/utils/file.go index 2dc51ba..5d931eb 100644 --- a/internal/pkg/utils/file.go +++ b/internal/pkg/utils/file.go @@ -1,8 +1,9 @@ package utils import ( - beeLogger "github.com/beego/bee/logger" "os" + + beeLogger "github.com/beego/bee/logger" ) // Mkdir ... diff --git a/utils/utils.go b/utils/utils.go index e9656dc..398aa1b 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -39,7 +39,7 @@ import ( ) type tagName struct { - Name string `json:"name"` + Name string `json:"name"` } func GetBeeWorkPath() string { @@ -521,7 +521,7 @@ func NoticeUpdateBee() { beeLogger.Log.Info("Getting bee latest version...") versionLast := BeeLastVersion() versionNow := config.Version - if versionLast == ""{ + if versionLast == "" { beeLogger.Log.Warn("Get latest version err") return } From 29e5fadf6ab08bd6b4367180a230eb3a3a95a3b1 Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Thu, 15 Oct 2020 21:40:16 +0800 Subject: [PATCH 27/40] Bee fix command --- .travis.yml | 2 +- cmd/commands/beefix/fix.go | 224 +++---------------------------- cmd/commands/beefix/fix1To2.go | 49 +++++++ cmd/commands/beefix/fixTo1.6.go | 231 ++++++++++++++++++++++++++++++++ go.mod | 1 + go.sum | 3 + 6 files changed, 305 insertions(+), 205 deletions(-) create mode 100644 cmd/commands/beefix/fix1To2.go create mode 100644 cmd/commands/beefix/fixTo1.6.go diff --git a/.travis.yml b/.travis.yml index eaad43e..9c5f4d7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: go go: - - 1.12.17 + - 1.14.6 install: - export PATH=$PATH:$HOME/gopath/bin - go get -u github.com/opennota/check/cmd/structcheck diff --git a/cmd/commands/beefix/fix.go b/cmd/commands/beefix/fix.go index 1345bf0..5090881 100644 --- a/cmd/commands/beefix/fix.go +++ b/cmd/commands/beefix/fix.go @@ -1,232 +1,48 @@ package beefix import ( - "fmt" - "go/parser" - "go/token" - "io/ioutil" - "os" - "path/filepath" - "regexp" "strings" "github.com/beego/bee/cmd/commands" "github.com/beego/bee/cmd/commands/version" beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" + "github.com/beego/bee/utils" ) var CmdFix = &commands.Command{ UsageLine: "fix", Short: "Fixes your application by making it compatible with newer versions of Beego", - Long: `As of {{"Beego 1.6"|bold}}, there are some backward compatibility issues. - + Long: ` The command 'fix' will try to solve those issues by upgrading your code base - to be compatible with Beego version 1.6+. + to be compatible with Beego old version + -s source version + -t target version + + example: bee fix -s 1 -t 2 means that upgrade Beego version from v1.x to v2.x `, } +var ( + source, target utils.DocValue +) + func init() { CmdFix.Run = runFix CmdFix.PreRun = func(cmd *commands.Command, args []string) { version.ShowShortVersionBanner() } + CmdFix.Flag.Var(&source, "s", "source version") + CmdFix.Flag.Var(&target, "t", "target version") commands.AvailableCommands = append(commands.AvailableCommands, CmdFix) } func runFix(cmd *commands.Command, args []string) int { - output := cmd.Out() - - beeLogger.Log.Info("Upgrading the application...") - - dir, err := os.Getwd() - if err != nil { - beeLogger.Log.Fatalf("Error while getting the current working directory: %s", err) + t := target.String() + if t == "" || t == "1.6"{ + return fixTo16(cmd, args) + } else if strings.HasPrefix(t, "2") { + // upgrade to v2 + return fix1To2() } - filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { - if info.IsDir() { - if strings.HasPrefix(info.Name(), ".") { - return filepath.SkipDir - } - return nil - } - if err != nil { - return err - } - if strings.HasSuffix(info.Name(), ".exe") { - return nil - } - err = fixFile(path) - fmt.Fprintf(output, colors.GreenBold("\tfix\t")+"%s\n", path) - if err != nil { - beeLogger.Log.Errorf("Could not fix file: %s", err) - } - return err - }) - beeLogger.Log.Success("Upgrade Done!") + beeLogger.Log.Info("The target is compatible version, do nothing") return 0 } - -var rules = []string{ - "beego.AppName", "beego.BConfig.AppName", - "beego.RunMode", "beego.BConfig.RunMode", - "beego.RecoverPanic", "beego.BConfig.RecoverPanic", - "beego.RouterCaseSensitive", "beego.BConfig.RouterCaseSensitive", - "beego.BeegoServerName", "beego.BConfig.ServerName", - "beego.EnableGzip", "beego.BConfig.EnableGzip", - "beego.ErrorsShow", "beego.BConfig.EnableErrorsShow", - "beego.CopyRequestBody", "beego.BConfig.CopyRequestBody", - "beego.MaxMemory", "beego.BConfig.MaxMemory", - "beego.Graceful", "beego.BConfig.Listen.Graceful", - "beego.HttpAddr", "beego.BConfig.Listen.HTTPAddr", - "beego.HttpPort", "beego.BConfig.Listen.HTTPPort", - "beego.ListenTCP4", "beego.BConfig.Listen.ListenTCP4", - "beego.EnableHttpListen", "beego.BConfig.Listen.EnableHTTP", - "beego.EnableHttpTLS", "beego.BConfig.Listen.EnableHTTPS", - "beego.HttpsAddr", "beego.BConfig.Listen.HTTPSAddr", - "beego.HttpsPort", "beego.BConfig.Listen.HTTPSPort", - "beego.HttpCertFile", "beego.BConfig.Listen.HTTPSCertFile", - "beego.HttpKeyFile", "beego.BConfig.Listen.HTTPSKeyFile", - "beego.EnableAdmin", "beego.BConfig.Listen.EnableAdmin", - "beego.AdminHttpAddr", "beego.BConfig.Listen.AdminAddr", - "beego.AdminHttpPort", "beego.BConfig.Listen.AdminPort", - "beego.UseFcgi", "beego.BConfig.Listen.EnableFcgi", - "beego.HttpServerTimeOut", "beego.BConfig.Listen.ServerTimeOut", - "beego.AutoRender", "beego.BConfig.WebConfig.AutoRender", - "beego.ViewsPath", "beego.BConfig.WebConfig.ViewsPath", - "beego.StaticDir", "beego.BConfig.WebConfig.StaticDir", - "beego.StaticExtensionsToGzip", "beego.BConfig.WebConfig.StaticExtensionsToGzip", - "beego.DirectoryIndex", "beego.BConfig.WebConfig.DirectoryIndex", - "beego.FlashName", "beego.BConfig.WebConfig.FlashName", - "beego.FlashSeperator", "beego.BConfig.WebConfig.FlashSeparator", - "beego.EnableDocs", "beego.BConfig.WebConfig.EnableDocs", - "beego.XSRFKEY", "beego.BConfig.WebConfig.XSRFKey", - "beego.EnableXSRF", "beego.BConfig.WebConfig.EnableXSRF", - "beego.XSRFExpire", "beego.BConfig.WebConfig.XSRFExpire", - "beego.TemplateLeft", "beego.BConfig.WebConfig.TemplateLeft", - "beego.TemplateRight", "beego.BConfig.WebConfig.TemplateRight", - "beego.SessionOn", "beego.BConfig.WebConfig.Session.SessionOn", - "beego.SessionProvider", "beego.BConfig.WebConfig.Session.SessionProvider", - "beego.SessionName", "beego.BConfig.WebConfig.Session.SessionName", - "beego.SessionGCMaxLifetime", "beego.BConfig.WebConfig.Session.SessionGCMaxLifetime", - "beego.SessionSavePath", "beego.BConfig.WebConfig.Session.SessionProviderConfig", - "beego.SessionCookieLifeTime", "beego.BConfig.WebConfig.Session.SessionCookieLifeTime", - "beego.SessionAutoSetCookie", "beego.BConfig.WebConfig.Session.SessionAutoSetCookie", - "beego.SessionDomain", "beego.BConfig.WebConfig.Session.SessionDomain", - "Ctx.Input.CopyBody(", "Ctx.Input.CopyBody(beego.BConfig.MaxMemory", - ".UrlFor(", ".URLFor(", - ".ServeJson(", ".ServeJSON(", - ".ServeXml(", ".ServeXML(", - ".ServeJsonp(", ".ServeJSONP(", - ".XsrfToken(", ".XSRFToken(", - ".CheckXsrfCookie(", ".CheckXSRFCookie(", - ".XsrfFormHtml(", ".XSRFFormHTML(", - "beego.UrlFor(", "beego.URLFor(", - "beego.GlobalDocApi", "beego.GlobalDocAPI", - "beego.Errorhandler", "beego.ErrorHandler", - "Output.Jsonp(", "Output.JSONP(", - "Output.Json(", "Output.JSON(", - "Output.Xml(", "Output.XML(", - "Input.Uri()", "Input.URI()", - "Input.Url()", "Input.URL()", - "Input.AcceptsHtml()", "Input.AcceptsHTML()", - "Input.AcceptsXml()", "Input.AcceptsXML()", - "Input.AcceptsJson()", "Input.AcceptsJSON()", - "Ctx.XsrfToken()", "Ctx.XSRFToken()", - "Ctx.CheckXsrfCookie()", "Ctx.CheckXSRFCookie()", - "session.SessionStore", "session.Store", - ".TplNames", ".TplName", - "swagger.ApiRef", "swagger.APIRef", - "swagger.ApiDeclaration", "swagger.APIDeclaration", - "swagger.Api", "swagger.API", - "swagger.ApiRef", "swagger.APIRef", - "swagger.Infomation", "swagger.Information", - "toolbox.UrlMap", "toolbox.URLMap", - "logs.LoggerInterface", "logs.Logger", - "Input.Request", "Input.Context.Request", - "Input.Params)", "Input.Params())", - "httplib.BeegoHttpSettings", "httplib.BeegoHTTPSettings", - "httplib.BeegoHttpRequest", "httplib.BeegoHTTPRequest", - ".TlsClientConfig", ".TLSClientConfig", - ".JsonBody", ".JSONBody", - ".ToJson", ".ToJSON", - ".ToXml", ".ToXML", - "beego.Html2str", "beego.HTML2str", - "beego.AssetsCss", "beego.AssetsCSS", - "orm.DR_Sqlite", "orm.DRSqlite", - "orm.DR_Postgres", "orm.DRPostgres", - "orm.DR_MySQL", "orm.DRMySQL", - "orm.DR_Oracle", "orm.DROracle", - "orm.Col_Add", "orm.ColAdd", - "orm.Col_Minus", "orm.ColMinus", - "orm.Col_Multiply", "orm.ColMultiply", - "orm.Col_Except", "orm.ColExcept", - "GenerateOperatorSql", "GenerateOperatorSQL", - "OperatorSql", "OperatorSQL", - "orm.Debug_Queries", "orm.DebugQueries", - "orm.COMMA_SPACE", "orm.CommaSpace", - ".SendOut()", ".DoRequest()", - "validation.ValidationError", "validation.Error", -} - -func fixFile(file string) error { - rp := strings.NewReplacer(rules...) - content, err := ioutil.ReadFile(file) - if err != nil { - return err - } - fixed := rp.Replace(string(content)) - - // Forword the RequestBody from the replace - // "Input.Request", "Input.Context.Request", - fixed = strings.Replace(fixed, "Input.Context.RequestBody", "Input.RequestBody", -1) - - // Regexp replace - pareg := regexp.MustCompile(`(Input.Params\[")(.*)("])`) - fixed = pareg.ReplaceAllString(fixed, "Input.Param(\"$2\")") - pareg = regexp.MustCompile(`(Input.Data\[\")(.*)(\"\])(\s)(=)(\s)(.*)`) - fixed = pareg.ReplaceAllString(fixed, "Input.SetData(\"$2\", $7)") - pareg = regexp.MustCompile(`(Input.Data\[\")(.*)(\"\])`) - fixed = pareg.ReplaceAllString(fixed, "Input.Data(\"$2\")") - // Fix the cache object Put method - pareg = regexp.MustCompile(`(\.Put\(\")(.*)(\",)(\s)(.*)(,\s*)([^\*.]*)(\))`) - if pareg.MatchString(fixed) && strings.HasSuffix(file, ".go") { - fixed = pareg.ReplaceAllString(fixed, ".Put(\"$2\", $5, $7*time.Second)") - fset := token.NewFileSet() // positions are relative to fset - f, err := parser.ParseFile(fset, file, nil, parser.ImportsOnly) - if err != nil { - panic(err) - } - // Print the imports from the file's AST. - hasTimepkg := false - for _, s := range f.Imports { - if s.Path.Value == `"time"` { - hasTimepkg = true - break - } - } - if !hasTimepkg { - fixed = strings.Replace(fixed, "import (", "import (\n\t\"time\"", 1) - } - } - // Replace the v.Apis in docs.go - if strings.Contains(file, "docs.go") { - fixed = strings.Replace(fixed, "v.Apis", "v.APIs", -1) - } - // Replace the config file - if strings.HasSuffix(file, ".conf") { - fixed = strings.Replace(fixed, "HttpCertFile", "HTTPSCertFile", -1) - fixed = strings.Replace(fixed, "HttpKeyFile", "HTTPSKeyFile", -1) - fixed = strings.Replace(fixed, "EnableHttpListen", "HTTPEnable", -1) - fixed = strings.Replace(fixed, "EnableHttpTLS", "EnableHTTPS", -1) - fixed = strings.Replace(fixed, "EnableHttpTLS", "EnableHTTPS", -1) - fixed = strings.Replace(fixed, "BeegoServerName", "ServerName", -1) - fixed = strings.Replace(fixed, "AdminHttpAddr", "AdminAddr", -1) - fixed = strings.Replace(fixed, "AdminHttpPort", "AdminPort", -1) - fixed = strings.Replace(fixed, "HttpServerTimeOut", "ServerTimeOut", -1) - } - err = os.Truncate(file, 0) - if err != nil { - return err - } - return ioutil.WriteFile(file, []byte(fixed), 0666) -} diff --git a/cmd/commands/beefix/fix1To2.go b/cmd/commands/beefix/fix1To2.go new file mode 100644 index 0000000..28365f7 --- /dev/null +++ b/cmd/commands/beefix/fix1To2.go @@ -0,0 +1,49 @@ +// Copyright 2020 +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package beefix + +import ( + "os" + "os/exec" + + beeLogger "github.com/beego/bee/logger" +) + +func fix1To2() int { + beeLogger.Log.Info("Upgrading the application...") + + cmdStr := `find ./ -name '*.go' -type f -exec sed -i '' -e 's/github.com\/astaxie\/beego/github.com\/astaxie\/beego\/adapter/g' {} \;` + err := runShell(cmdStr) + if err != nil { + return 1 + } + cmdStr = `find ./ -name '*.go' -type f -exec sed -i '' -e 's/"github.com\/astaxie\/beego\/adapter"/beego "github.com\/astaxie\/beego\/adapter"/g' {} \;` + err = runShell(cmdStr) + if err != nil { + return 1 + } + return 0 +} + +func runShell(cmdStr string) error { + c := exec.Command("sh", "-c", cmdStr) + c.Stdout = os.Stdout + err := c.Run() + if err != nil { + beeLogger.Log.Errorf("execute command [%s] failed: %s", cmdStr, err.Error()) + return err + } + return nil +} \ No newline at end of file diff --git a/cmd/commands/beefix/fixTo1.6.go b/cmd/commands/beefix/fixTo1.6.go new file mode 100644 index 0000000..8e38f67 --- /dev/null +++ b/cmd/commands/beefix/fixTo1.6.go @@ -0,0 +1,231 @@ +// Copyright 2020 +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package beefix + +import ( + "fmt" + "go/parser" + "go/token" + "io/ioutil" + "os" + "path/filepath" + "regexp" + "strings" + + "github.com/beego/bee/cmd/commands" + beeLogger "github.com/beego/bee/logger" + "github.com/beego/bee/logger/colors" +) + +// fixTo16 upgrade beego to 1.6 +func fixTo16(cmd *commands.Command, args []string) int { + output := cmd.Out() + + beeLogger.Log.Info("Upgrading the application...") + + dir, err := os.Getwd() + if err != nil { + beeLogger.Log.Fatalf("Error while getting the current working directory: %s", err) + } + + filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { + if info.IsDir() { + if strings.HasPrefix(info.Name(), ".") { + return filepath.SkipDir + } + return nil + } + if err != nil { + return err + } + if strings.HasSuffix(info.Name(), ".exe") { + return nil + } + err = fixFile(path) + fmt.Fprintf(output, colors.GreenBold("\tfix\t")+"%s\n", path) + if err != nil { + beeLogger.Log.Errorf("Could not fix file: %s", err) + } + return err + }) + beeLogger.Log.Success("Upgrade Done!") + return 0 +} + +var rules = []string{ + "beego.AppName", "beego.BConfig.AppName", + "beego.RunMode", "beego.BConfig.RunMode", + "beego.RecoverPanic", "beego.BConfig.RecoverPanic", + "beego.RouterCaseSensitive", "beego.BConfig.RouterCaseSensitive", + "beego.BeegoServerName", "beego.BConfig.ServerName", + "beego.EnableGzip", "beego.BConfig.EnableGzip", + "beego.ErrorsShow", "beego.BConfig.EnableErrorsShow", + "beego.CopyRequestBody", "beego.BConfig.CopyRequestBody", + "beego.MaxMemory", "beego.BConfig.MaxMemory", + "beego.Graceful", "beego.BConfig.Listen.Graceful", + "beego.HttpAddr", "beego.BConfig.Listen.HTTPAddr", + "beego.HttpPort", "beego.BConfig.Listen.HTTPPort", + "beego.ListenTCP4", "beego.BConfig.Listen.ListenTCP4", + "beego.EnableHttpListen", "beego.BConfig.Listen.EnableHTTP", + "beego.EnableHttpTLS", "beego.BConfig.Listen.EnableHTTPS", + "beego.HttpsAddr", "beego.BConfig.Listen.HTTPSAddr", + "beego.HttpsPort", "beego.BConfig.Listen.HTTPSPort", + "beego.HttpCertFile", "beego.BConfig.Listen.HTTPSCertFile", + "beego.HttpKeyFile", "beego.BConfig.Listen.HTTPSKeyFile", + "beego.EnableAdmin", "beego.BConfig.Listen.EnableAdmin", + "beego.AdminHttpAddr", "beego.BConfig.Listen.AdminAddr", + "beego.AdminHttpPort", "beego.BConfig.Listen.AdminPort", + "beego.UseFcgi", "beego.BConfig.Listen.EnableFcgi", + "beego.HttpServerTimeOut", "beego.BConfig.Listen.ServerTimeOut", + "beego.AutoRender", "beego.BConfig.WebConfig.AutoRender", + "beego.ViewsPath", "beego.BConfig.WebConfig.ViewsPath", + "beego.StaticDir", "beego.BConfig.WebConfig.StaticDir", + "beego.StaticExtensionsToGzip", "beego.BConfig.WebConfig.StaticExtensionsToGzip", + "beego.DirectoryIndex", "beego.BConfig.WebConfig.DirectoryIndex", + "beego.FlashName", "beego.BConfig.WebConfig.FlashName", + "beego.FlashSeperator", "beego.BConfig.WebConfig.FlashSeparator", + "beego.EnableDocs", "beego.BConfig.WebConfig.EnableDocs", + "beego.XSRFKEY", "beego.BConfig.WebConfig.XSRFKey", + "beego.EnableXSRF", "beego.BConfig.WebConfig.EnableXSRF", + "beego.XSRFExpire", "beego.BConfig.WebConfig.XSRFExpire", + "beego.TemplateLeft", "beego.BConfig.WebConfig.TemplateLeft", + "beego.TemplateRight", "beego.BConfig.WebConfig.TemplateRight", + "beego.SessionOn", "beego.BConfig.WebConfig.Session.SessionOn", + "beego.SessionProvider", "beego.BConfig.WebConfig.Session.SessionProvider", + "beego.SessionName", "beego.BConfig.WebConfig.Session.SessionName", + "beego.SessionGCMaxLifetime", "beego.BConfig.WebConfig.Session.SessionGCMaxLifetime", + "beego.SessionSavePath", "beego.BConfig.WebConfig.Session.SessionProviderConfig", + "beego.SessionCookieLifeTime", "beego.BConfig.WebConfig.Session.SessionCookieLifeTime", + "beego.SessionAutoSetCookie", "beego.BConfig.WebConfig.Session.SessionAutoSetCookie", + "beego.SessionDomain", "beego.BConfig.WebConfig.Session.SessionDomain", + "Ctx.Input.CopyBody(", "Ctx.Input.CopyBody(beego.BConfig.MaxMemory", + ".UrlFor(", ".URLFor(", + ".ServeJson(", ".ServeJSON(", + ".ServeXml(", ".ServeXML(", + ".ServeJsonp(", ".ServeJSONP(", + ".XsrfToken(", ".XSRFToken(", + ".CheckXsrfCookie(", ".CheckXSRFCookie(", + ".XsrfFormHtml(", ".XSRFFormHTML(", + "beego.UrlFor(", "beego.URLFor(", + "beego.GlobalDocApi", "beego.GlobalDocAPI", + "beego.Errorhandler", "beego.ErrorHandler", + "Output.Jsonp(", "Output.JSONP(", + "Output.Json(", "Output.JSON(", + "Output.Xml(", "Output.XML(", + "Input.Uri()", "Input.URI()", + "Input.Url()", "Input.URL()", + "Input.AcceptsHtml()", "Input.AcceptsHTML()", + "Input.AcceptsXml()", "Input.AcceptsXML()", + "Input.AcceptsJson()", "Input.AcceptsJSON()", + "Ctx.XsrfToken()", "Ctx.XSRFToken()", + "Ctx.CheckXsrfCookie()", "Ctx.CheckXSRFCookie()", + "session.SessionStore", "session.Store", + ".TplNames", ".TplName", + "swagger.ApiRef", "swagger.APIRef", + "swagger.ApiDeclaration", "swagger.APIDeclaration", + "swagger.Api", "swagger.API", + "swagger.ApiRef", "swagger.APIRef", + "swagger.Infomation", "swagger.Information", + "toolbox.UrlMap", "toolbox.URLMap", + "logs.LoggerInterface", "logs.Logger", + "Input.Request", "Input.Context.Request", + "Input.Params)", "Input.Params())", + "httplib.BeegoHttpSettings", "httplib.BeegoHTTPSettings", + "httplib.BeegoHttpRequest", "httplib.BeegoHTTPRequest", + ".TlsClientConfig", ".TLSClientConfig", + ".JsonBody", ".JSONBody", + ".ToJson", ".ToJSON", + ".ToXml", ".ToXML", + "beego.Html2str", "beego.HTML2str", + "beego.AssetsCss", "beego.AssetsCSS", + "orm.DR_Sqlite", "orm.DRSqlite", + "orm.DR_Postgres", "orm.DRPostgres", + "orm.DR_MySQL", "orm.DRMySQL", + "orm.DR_Oracle", "orm.DROracle", + "orm.Col_Add", "orm.ColAdd", + "orm.Col_Minus", "orm.ColMinus", + "orm.Col_Multiply", "orm.ColMultiply", + "orm.Col_Except", "orm.ColExcept", + "GenerateOperatorSql", "GenerateOperatorSQL", + "OperatorSql", "OperatorSQL", + "orm.Debug_Queries", "orm.DebugQueries", + "orm.COMMA_SPACE", "orm.CommaSpace", + ".SendOut()", ".DoRequest()", + "validation.ValidationError", "validation.Error", +} + +func fixFile(file string) error { + rp := strings.NewReplacer(rules...) + content, err := ioutil.ReadFile(file) + if err != nil { + return err + } + fixed := rp.Replace(string(content)) + + // Forword the RequestBody from the replace + // "Input.Request", "Input.Context.Request", + fixed = strings.Replace(fixed, "Input.Context.RequestBody", "Input.RequestBody", -1) + + // Regexp replace + pareg := regexp.MustCompile(`(Input.Params\[")(.*)("])`) + fixed = pareg.ReplaceAllString(fixed, "Input.Param(\"$2\")") + pareg = regexp.MustCompile(`(Input.Data\[\")(.*)(\"\])(\s)(=)(\s)(.*)`) + fixed = pareg.ReplaceAllString(fixed, "Input.SetData(\"$2\", $7)") + pareg = regexp.MustCompile(`(Input.Data\[\")(.*)(\"\])`) + fixed = pareg.ReplaceAllString(fixed, "Input.Data(\"$2\")") + // Fix the cache object Put method + pareg = regexp.MustCompile(`(\.Put\(\")(.*)(\",)(\s)(.*)(,\s*)([^\*.]*)(\))`) + if pareg.MatchString(fixed) && strings.HasSuffix(file, ".go") { + fixed = pareg.ReplaceAllString(fixed, ".Put(\"$2\", $5, $7*time.Second)") + fset := token.NewFileSet() // positions are relative to fset + f, err := parser.ParseFile(fset, file, nil, parser.ImportsOnly) + if err != nil { + panic(err) + } + // Print the imports from the file's AST. + hasTimepkg := false + for _, s := range f.Imports { + if s.Path.Value == `"time"` { + hasTimepkg = true + break + } + } + if !hasTimepkg { + fixed = strings.Replace(fixed, "import (", "import (\n\t\"time\"", 1) + } + } + // Replace the v.Apis in docs.go + if strings.Contains(file, "docs.go") { + fixed = strings.Replace(fixed, "v.Apis", "v.APIs", -1) + } + // Replace the config file + if strings.HasSuffix(file, ".conf") { + fixed = strings.Replace(fixed, "HttpCertFile", "HTTPSCertFile", -1) + fixed = strings.Replace(fixed, "HttpKeyFile", "HTTPSKeyFile", -1) + fixed = strings.Replace(fixed, "EnableHttpListen", "HTTPEnable", -1) + fixed = strings.Replace(fixed, "EnableHttpTLS", "EnableHTTPS", -1) + fixed = strings.Replace(fixed, "EnableHttpTLS", "EnableHTTPS", -1) + fixed = strings.Replace(fixed, "BeegoServerName", "ServerName", -1) + fixed = strings.Replace(fixed, "AdminHttpAddr", "AdminAddr", -1) + fixed = strings.Replace(fixed, "AdminHttpPort", "AdminPort", -1) + fixed = strings.Replace(fixed, "HttpServerTimeOut", "ServerTimeOut", -1) + } + err = os.Truncate(file, 0) + if err != nil { + return err + } + return ioutil.WriteFile(file, []byte(fixed), 0666) +} + diff --git a/go.mod b/go.mod index aee2524..fa7274f 100644 --- a/go.mod +++ b/go.mod @@ -13,6 +13,7 @@ require ( github.com/gorilla/websocket v1.4.2 github.com/lib/pq v1.7.0 github.com/pelletier/go-toml v1.2.0 + github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 // indirect github.com/smartwalle/pongo2render v1.0.1 github.com/spf13/viper v1.7.0 gopkg.in/yaml.v2 v2.3.0 diff --git a/go.sum b/go.sum index 35bcead..f858703 100644 --- a/go.sum +++ b/go.sum @@ -24,6 +24,7 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/astaxie/beego v1.12.1 h1:dfpuoxpzLVgclveAXe4PyNKqkzgm5zF4tgF2B3kkM2I= github.com/astaxie/beego v1.12.1/go.mod h1:kPBWpSANNbSdIqOc8SUL9h+1oyBMZhROeYsXQDbidWQ= +github.com/astaxie/beego v1.12.2 h1:CajUexhSX5ONWDiSCpeQBNVfTzOtPb9e9d+3vuU5FuU= github.com/beego/goyaml2 v0.0.0-20130207012346-5545475820dd/go.mod h1:1b+Y/CofkYwXMUU0OhQqGvsY2Bvgr4j6jfT699wyZKQ= github.com/beego/x2j v0.0.0-20131220205130-a0352aadc542/go.mod h1:kSeGC/p1AbBiEp5kat81+DSQrZenVBZXklMLaELspWU= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -198,6 +199,8 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 h1:DAYUYH5869yV94zvCES9F51oYtN5oGlwjxJJz7ZCnik= +github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg= github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw= github.com/siddontang/ledisdb v0.0.0-20181029004158-becf5f38d373/go.mod h1:mF1DpOSOUiJRMR+FDqaqu3EBqrybQtrDDszLUZ6oxPg= github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA= From fa7aee4d016fecb7a978196a720e2c460d01829b Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Mon, 2 Nov 2020 22:26:46 +0800 Subject: [PATCH 28/40] Fix beego module --- cmd/commands/new/new.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/commands/new/new.go b/cmd/commands/new/new.go index 91830d6..7fb1bb8 100644 --- a/cmd/commands/new/new.go +++ b/cmd/commands/new/new.go @@ -70,7 +70,7 @@ var maingo = `package main import ( _ "{{.Appname}}/routers" - beego "github.com/astaxie/beego/pkg/server/web" + beego "github.com/astaxie/beego/server/web" ) func main() { @@ -82,7 +82,7 @@ var router = `package routers import ( "{{.Appname}}/controllers" - beego "github.com/astaxie/beego/pkg/server/web" + beego "github.com/astaxie/beego/server/web" ) func init() { @@ -106,7 +106,7 @@ import ( "path/filepath" _ "{{.Appname}}/routers" - beego "github.com/astaxie/beego/pkg/server/web" + beego "github.com/astaxie/beego/server/web" . "github.com/smartystreets/goconvey/convey" ) @@ -140,7 +140,7 @@ func TestBeego(t *testing.T) { var controllers = `package controllers import ( - beego "github.com/astaxie/beego/pkg/server/web" + beego "github.com/astaxie/beego/server/web" ) type MainController struct { From f2a93c8c759269c04f4d6d3cd68d3621a69624de Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Thu, 5 Nov 2020 23:52:08 +0800 Subject: [PATCH 29/40] using beego to rerwite all commands --- README.md | 2 +- cmd/bee.go | 2 + cmd/commands/api/apiapp.go | 17 ++-- cmd/commands/migrate/migrate.go | 4 +- cmd/commands/version/version.go | 3 +- generate/g_appcode.go | 6 +- generate/g_controllers.go | 4 +- generate/g_hproseappcode.go | 8 +- generate/g_migration.go | 2 +- generate/g_model.go | 2 +- generate/swaggergen/g_docs.go | 6 +- go.mod | 8 +- go.sum | 142 ++++++++++++++++++++++++++++---- 13 files changed, 161 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index 04fd01c..d666867 100644 --- a/README.md +++ b/README.md @@ -355,7 +355,7 @@ Breakpoint 1 set at 0x40100f for main.main() ./main.go:8 > main.main() ./main.go:8 (hits goroutine(1):1 total:1) (PC: 0x40100f) 3: import ( 4: _ "github.com/user/myapp/routers" - 5: "github.com/astaxie/beego" + 5: beego "github.com/astaxie/beego/server/web" 6: ) 7: => 8: func main() { diff --git a/cmd/bee.go b/cmd/bee.go index 894aae9..e921c00 100644 --- a/cmd/bee.go +++ b/cmd/bee.go @@ -51,6 +51,8 @@ func IfGenerateDocs(name string, args []string) bool { var usageTemplate = `Bee is a Fast and Flexible tool for managing your Beego Web Application. +You are using bee for beego v2.x. If you are working on beego v1.x, please downgrade version to bee v1.12.0 + {{"USAGE" | headline}} {{"bee command [arguments]" | bold}} diff --git a/cmd/commands/api/apiapp.go b/cmd/commands/api/apiapp.go index f9553f6..ca2601a 100644 --- a/cmd/commands/api/apiapp.go +++ b/cmd/commands/api/apiapp.go @@ -76,7 +76,7 @@ var apiMaingo = `package main import ( _ "{{.Appname}}/routers" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/server/web" ) func main() { @@ -93,8 +93,8 @@ var apiMainconngo = `package main import ( _ "{{.Appname}}/routers" - "github.com/astaxie/beego" - "github.com/astaxie/beego/orm" + beego "github.com/astaxie/beego/server/web" + "github.com/astaxie/beego/client/orm" {{.DriverPkg}} ) @@ -129,7 +129,7 @@ package routers import ( "{{.Appname}}/controllers" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/server/web" ) func init() { @@ -298,7 +298,7 @@ import ( "{{.Appname}}/models" "encoding/json" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/server/web" ) // Operations about object @@ -391,7 +391,7 @@ import ( "{{.Appname}}/models" "encoding/json" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/server/web" ) // Operations about Users @@ -516,7 +516,8 @@ import ( "path/filepath" _ "{{.Appname}}/routers" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/server/web" + "github.com/astaxie/beego/core/logs" . "github.com/smartystreets/goconvey/convey" ) @@ -532,7 +533,7 @@ func TestGet(t *testing.T) { w := httptest.NewRecorder() beego.BeeApp.Handlers.ServeHTTP(w, r) - beego.Trace("testing", "TestGet", "Code[%d]\n%s", w.Code, w.Body.String()) + logs.Info("testing", "TestGet", "Code[%d]\n%s", w.Code, w.Body.String()) Convey("Subject: Test Station Endpoint\n", t, func() { Convey("Status Code Should Be 200", func() { diff --git a/cmd/commands/migrate/migrate.go b/cmd/commands/migrate/migrate.go index 53cb3da..a768394 100644 --- a/cmd/commands/migrate/migrate.go +++ b/cmd/commands/migrate/migrate.go @@ -366,8 +366,8 @@ const ( import( "os" - "github.com/astaxie/beego/orm" - "github.com/astaxie/beego/migration" + "github.com/astaxie/beego/client/orm" + "github.com/astaxie/beego/client/orm/migration" _ "{{DriverRepo}}" ) diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index 32862a7..c8212af 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -161,7 +161,8 @@ func GetBeegoVersion() string { } } - return "Beego is not installed. Please do consider installing it first: https://github.com/astaxie/beego" + return "Beego is not installed. Please do consider installing it first: https://github.com/astaxie/beego. " + + "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 { diff --git a/generate/g_appcode.go b/generate/g_appcode.go index 014d3a5..9a38727 100644 --- a/generate/g_appcode.go +++ b/generate/g_appcode.go @@ -1023,7 +1023,7 @@ import ( "reflect" "strings" {{timePkg}} - "github.com/astaxie/beego/orm" + "github.com/astaxie/beego/client/orm" ) {{modelStruct}} @@ -1172,7 +1172,7 @@ import ( "strconv" "strings" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/server/web" ) // {{ctrlName}}Controller operations for {{ctrlName}} @@ -1347,7 +1347,7 @@ package routers import ( "{{pkgPath}}/controllers" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/server/web" ) func init() { diff --git a/generate/g_controllers.go b/generate/g_controllers.go index d05d04a..5d238e4 100644 --- a/generate/g_controllers.go +++ b/generate/g_controllers.go @@ -78,7 +78,7 @@ func GenerateController(cname, currpath string) { var controllerTpl = `package {{packageName}} import ( - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/server/web" ) // {{controllerName}}Controller operations for {{controllerName}} @@ -166,7 +166,7 @@ import ( "strconv" "strings" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/server/web" ) // {{controllerName}}Controller operations for {{controllerName}} diff --git a/generate/g_hproseappcode.go b/generate/g_hproseappcode.go index f6d352d..730e74c 100644 --- a/generate/g_hproseappcode.go +++ b/generate/g_hproseappcode.go @@ -47,7 +47,7 @@ import ( "{{.Appname}}/models" "github.com/hprose/hprose-golang/rpc" - "github.com/astaxie/beego" + beego "github.com/astaxie/beego/server/web" ) func logInvokeHandler( @@ -90,8 +90,8 @@ import ( "{{.Appname}}/models" "github.com/hprose/hprose-golang/rpc" - "github.com/astaxie/beego" - "github.com/astaxie/beego/orm" + beego "github.com/astaxie/beego/server/web" + "github.com/astaxie/beego/client/orm" {{.DriverPkg}} ) @@ -419,7 +419,7 @@ import ( "reflect" "strings" {{timePkg}} - "github.com/astaxie/beego/orm" + "github.com/astaxie/beego/client/orm" ) {{modelStruct}} diff --git a/generate/g_migration.go b/generate/g_migration.go index adb13d0..2d2a769 100644 --- a/generate/g_migration.go +++ b/generate/g_migration.go @@ -238,7 +238,7 @@ func GenerateMigration(mname, upsql, downsql, curpath string) { const ( MigrationHeader = `package main import ( - "github.com/astaxie/beego/migration" + "github.com/astaxie/beego/client/orm/migration" ) // DO NOT MODIFY diff --git a/generate/g_model.go b/generate/g_model.go index abb6285..69c6e83 100644 --- a/generate/g_model.go +++ b/generate/g_model.go @@ -145,7 +145,7 @@ import ( "reflect" "strings" {{timePkg}} - "github.com/astaxie/beego/orm" + "github.com/astaxie/beego/client/orm" ) {{modelStruct}} diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index 48b54ad..9ab8a74 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -35,8 +35,8 @@ import ( yaml "gopkg.in/yaml.v2" - "github.com/astaxie/beego/swagger" - "github.com/astaxie/beego/utils" + "github.com/astaxie/beego/server/web/swagger" + "github.com/astaxie/beego/core/utils" beeLogger "github.com/beego/bee/logger" ) @@ -429,7 +429,7 @@ func analyseControllerPkg(localName, pkgpath string) { if isSystemPackage(pkgpath) { return } - if pkgpath == "github.com/astaxie/beego" { + if pkgpath == "github.com/astaxie/beego/server/web" { return } if localName != "" { diff --git a/go.mod b/go.mod index fa7274f..b08bd35 100644 --- a/go.mod +++ b/go.mod @@ -3,8 +3,7 @@ module github.com/beego/bee go 1.13 require ( - github.com/BurntSushi/toml v0.3.1 - github.com/astaxie/beego v1.12.1 + github.com/astaxie/beego v1.12.2-0.20201105155152-20a0de6bd075 github.com/davecgh/go-spew v1.1.1 github.com/flosch/pongo2 v0.0.0-20200529170236-5abacdfa4915 github.com/fsnotify/fsnotify v1.4.9 @@ -12,9 +11,10 @@ require ( github.com/go-sql-driver/mysql v1.5.0 github.com/gorilla/websocket v1.4.2 github.com/lib/pq v1.7.0 - github.com/pelletier/go-toml v1.2.0 - github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 // indirect + github.com/pelletier/go-toml v1.8.1 github.com/smartwalle/pongo2render v1.0.1 github.com/spf13/viper v1.7.0 gopkg.in/yaml.v2 v2.3.0 ) + +//replace github.com/astaxie/beego => ../beego diff --git a/go.sum b/go.sum index f858703..846c7be 100644 --- a/go.sum +++ b/go.sum @@ -16,40 +16,45 @@ github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/OwnLocal/goes v1.0.0/go.mod h1:8rIFjBGTue3lCU0wplczcUgt9Gxgrkkrw7etMIcn8TM= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alicebob/gopher-json v0.0.0-20180125190556-5a6b3ba71ee6/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= +github.com/alicebob/miniredis v2.5.0+incompatible/go.mod h1:8HZjEj4yU0dwhYHky+DxYx+6BMjkBbe5ONFIF1MXffk= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/astaxie/beego v1.12.1 h1:dfpuoxpzLVgclveAXe4PyNKqkzgm5zF4tgF2B3kkM2I= -github.com/astaxie/beego v1.12.1/go.mod h1:kPBWpSANNbSdIqOc8SUL9h+1oyBMZhROeYsXQDbidWQ= -github.com/astaxie/beego v1.12.2 h1:CajUexhSX5ONWDiSCpeQBNVfTzOtPb9e9d+3vuU5FuU= +github.com/astaxie/beego v1.12.2-0.20201105155152-20a0de6bd075 h1:TR1ruJJ5gOHkZh4oc2S9EHEC1Uqrso/BSewu8dQFifM= +github.com/astaxie/beego v1.12.2-0.20201105155152-20a0de6bd075/go.mod h1:Z2in5/6WygF7+WRPaCIOIdckL2TRTiOkOL3mT8+w8Tg= github.com/beego/goyaml2 v0.0.0-20130207012346-5545475820dd/go.mod h1:1b+Y/CofkYwXMUU0OhQqGvsY2Bvgr4j6jfT699wyZKQ= github.com/beego/x2j v0.0.0-20131220205130-a0352aadc542/go.mod h1:kSeGC/p1AbBiEp5kat81+DSQrZenVBZXklMLaELspWU= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= github.com/casbin/casbin v1.7.0/go.mod h1:c67qKN6Oum3UF5Q1+BByfFxkwKvhwW57ITjqwtzR1KE= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/etcd v3.3.25+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cosiner/argv v0.1.0 h1:BVDiEL32lwHukgJKP87btEPenzrrHUjajs/8yzaqcXg= github.com/cosiner/argv v0.1.0/go.mod h1:EusR6TucWKX+zFgtdUsKT2Cvg45K5rtpCcWz4hK06d8= -github.com/couchbase/go-couchbase v0.0.0-20181122212707-3e9b6e1258bb/go.mod h1:TWI8EKQMs5u5jLKW/tsb9VwauIrMIxQG1r5fMsswK5U= -github.com/couchbase/gomemcached v0.0.0-20181122193126-5125a94a666c/go.mod h1:srVSlQLB8iXBVXHgnqemxUXqN6FCvClgCMPCsjBDR7c= +github.com/couchbase/go-couchbase v0.0.0-20200519150804-63f3cdb75e0d/go.mod h1:TWI8EKQMs5u5jLKW/tsb9VwauIrMIxQG1r5fMsswK5U= +github.com/couchbase/gomemcached v0.0.0-20200526233749-ec430f949808/go.mod h1:srVSlQLB8iXBVXHgnqemxUXqN6FCvClgCMPCsjBDR7c= github.com/couchbase/goutils v0.0.0-20180530154633-e865a1461c8a/go.mod h1:BQwMFlJzDjFDG3DJUdU0KORxn88UlsOULuxLExMh3Hs= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= +github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -58,7 +63,10 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI= github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= github.com/flosch/pongo2 v0.0.0-20200529170236-5abacdfa4915 h1:rNVrewdFbSujcoKZifC6cHJfqCTbCIR7XTLHW5TqUWU= @@ -69,18 +77,22 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/gadelkareem/delve v1.4.2-0.20200619175259-dcd01330766f h1:SXR+MNQLeyoKOHwKziU6RU8wKEaGTNhL9rkHRuKND3A= github.com/gadelkareem/delve v1.4.2-0.20200619175259-dcd01330766f/go.mod h1:yRnaIw9CedrRtnrIhNVh1JLOz0cjEUWOEM5FaWEMOV0= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/glendc/gopher-json v0.0.0-20170414221815-dc4743023d0c/go.mod h1:Gja1A+xZ9BoviGJNA2E9vFkPjjsl+CoJxSXiQM1UXtw= +github.com/go-check/check v0.0.0-20180628173108-788fd7840127 h1:0gkP6mzaMqkmpcJYCFOLkIBwI7xFExG03bbkOkCvUPI= github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-redis/redis v6.14.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= -github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-redis/redis/v7 v7.4.0/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= @@ -89,19 +101,32 @@ github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFU github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-dap v0.2.0/go.mod h1:5q8aYQFnHOAZEMP+6vmq25HKYAEwE+LF5yh7JKrrhSQ= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= @@ -131,10 +156,13 @@ github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= github.com/juju/errors v0.0.0-20190930114154-d42613fe1ab9/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= @@ -142,14 +170,18 @@ github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVE github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/ledisdb/ledisdb v0.0.0-20200510135210-d35789ec47e6/go.mod h1:n931TsDuKuq+uX4v1fulaMbA/7ZLLhjc85h7chZGBCQ= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.7.0 h1:h93mCPfUSkaul3Ka/VG8uZdmW1uMHDGxzu0NWHuJmHY= github.com/lib/pq v1.7.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= @@ -157,10 +189,11 @@ github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzR github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mattn/go-colorable v0.0.0-20170327083344-ded68f7a9561 h1:isR/L+BIZ+rqODWYR/f526ygrBMGKZYFhaaFRDGvuZ8= github.com/mattn/go-colorable v0.0.0-20170327083344-ded68f7a9561/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-isatty v0.0.3 h1:ns/ykhmWi7G9O+8a448SecJU3nSMBXJfqQkl0upE1jI= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= @@ -172,44 +205,73 @@ github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0Qu github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8= +github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= +github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-toml v1.0.1/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/peterh/liner v0.0.0-20170317030525-88609521dc4b h1:8uaXtUkxiy+T/zdLWuxa/PG4so0TPZDZfafFNNSaptE= github.com/peterh/liner v0.0.0-20170317030525-88609521dc4b/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= +github.com/peterh/liner v1.0.1-0.20171122030339-3681c2a91233 h1:jmJndGFBPjNWW+MAYarU/Nl8QrQVzbw4B/AYE0LzETo= +github.com/peterh/liner v1.0.1-0.20171122030339-3681c2a91233/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.7.0/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18 h1:DAYUYH5869yV94zvCES9F51oYtN5oGlwjxJJz7ZCnik= -github.com/shiena/ansicolor v0.0.0-20200904210342-c7312218db18/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg= -github.com/siddontang/go v0.0.0-20180604090527-bdc77568d726/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw= -github.com/siddontang/ledisdb v0.0.0-20181029004158-becf5f38d373/go.mod h1:mF1DpOSOUiJRMR+FDqaqu3EBqrybQtrDDszLUZ6oxPg= +github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg= +github.com/siddontang/go v0.0.0-20170517070808-cb568a3e5cc0/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw= +github.com/siddontang/goredis v0.0.0-20150324035039-760763f78400/go.mod h1:DDcKzU3qCuvj/tPnimWSsZZzvk9qvkvrIL5naVBPh5s= github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/smartwalle/pongo2render v1.0.1 h1:rsPnDTu/+zIT5HEB5RbMjxKY5hisov26j0isZL/7YS0= github.com/smartwalle/pongo2render v1.0.1/go.mod h1:MGnTzND7nEMz7g194kjlnw8lx/V5JJlb1hr5kDXEO0I= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= @@ -230,20 +292,30 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/syndtr/goleveldb v0.0.0-20160425020131-cfa635847112/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0= github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/ugorji/go v0.0.0-20171122102828-84cb69a8af83/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ= github.com/wendal/errors v0.0.0-20130201093226-f66c77a7882b/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/yuin/gopher-lua v0.0.0-20171031051903-609c9cd26973/go.mod h1:aEV29XrmTYFr3CiRxZeGHpkvbwq+prZduBqMaascyCU= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/etcd v3.3.25+incompatible/go.mod h1:yaeTdrJi5lOmYerz05bd8+V7KubZs8YSFZfzsF9A6aI= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.starlark.net v0.0.0-20190702223751-32f345186213 h1:lkYv5AKwvvduv5XWP6szk/bvvgO6aDeUujhZQXIFTes= go.starlark.net v0.0.0-20190702223751-32f345186213/go.mod h1:c1/X6cHgvdXj6pUlmWKMkuqRnW4K8x2vwt6JAaaircg= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4 h1:QlVATYS7JBoZMVaf+cNjb90WD/beKVHnIxFKT4QaHVI= golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -252,6 +324,7 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -273,6 +346,7 @@ golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -284,7 +358,10 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -293,9 +370,11 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -310,14 +389,24 @@ golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9 h1:L2auWcuQIvxz9xSEqzESnV/QN/gNRXNApHi3fYwl2w0= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8 h1:AvbQYmiaaaza3cW3QXRyPo5kYgpFIzOAfeAAN7m3qQ4= +golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -327,17 +416,22 @@ golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3 golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191127201027-ecd32218bd7f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200117065230-39095c1d176c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -359,23 +453,41 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= +gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.5/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= From 0080f54a08de626294af32432a85403ac40f5e03 Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Tue, 10 Nov 2020 22:37:20 +0800 Subject: [PATCH 30/40] replace github.com/gadelkareem/delve with github.com/go-delve/delve --- cmd/commands/dlv/dlv_amd64.go | 12 ++++++------ go.mod | 2 +- go.sum | 2 ++ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/cmd/commands/dlv/dlv_amd64.go b/cmd/commands/dlv/dlv_amd64.go index dc91816..a127a47 100644 --- a/cmd/commands/dlv/dlv_amd64.go +++ b/cmd/commands/dlv/dlv_amd64.go @@ -28,12 +28,12 @@ import ( "github.com/beego/bee/cmd/commands/version" beeLogger "github.com/beego/bee/logger" "github.com/beego/bee/utils" + "github.com/go-delve/delve/service" + "github.com/go-delve/delve/service/debugger" + "github.com/go-delve/delve/service/rpc2" + "github.com/go-delve/delve/service/rpccommon" + "github.com/go-delve/delve/pkg/terminal" "github.com/fsnotify/fsnotify" - "github.com/gadelkareem/delve/pkg/terminal" - "github.com/gadelkareem/delve/service" - "github.com/gadelkareem/delve/service/debugger" - "github.com/gadelkareem/delve/service/rpc2" - "github.com/gadelkareem/delve/service/rpccommon" ) var cmdDlv = &commands.Command{ @@ -44,7 +44,7 @@ var cmdDlv = &commands.Command{ To debug your application using Delve, use: {{"$ bee dlv" | bold}} - For more information on Delve: https://github.com/gadelkareem/delve + For more information on Delve: https://github.com/go-delve/delve `, PreRun: func(cmd *commands.Command, args []string) { version.ShowShortVersionBanner() }, Run: runDlv, diff --git a/go.mod b/go.mod index b08bd35..760e398 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,7 @@ require ( github.com/davecgh/go-spew v1.1.1 github.com/flosch/pongo2 v0.0.0-20200529170236-5abacdfa4915 github.com/fsnotify/fsnotify v1.4.9 - github.com/gadelkareem/delve v1.4.2-0.20200619175259-dcd01330766f + github.com/go-delve/delve v1.5.0 github.com/go-sql-driver/mysql v1.5.0 github.com/gorilla/websocket v1.4.2 github.com/lib/pq v1.7.0 diff --git a/go.sum b/go.sum index 846c7be..842c244 100644 --- a/go.sum +++ b/go.sum @@ -80,6 +80,8 @@ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeME github.com/glendc/gopher-json v0.0.0-20170414221815-dc4743023d0c/go.mod h1:Gja1A+xZ9BoviGJNA2E9vFkPjjsl+CoJxSXiQM1UXtw= github.com/go-check/check v0.0.0-20180628173108-788fd7840127 h1:0gkP6mzaMqkmpcJYCFOLkIBwI7xFExG03bbkOkCvUPI= github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= +github.com/go-delve/delve v1.5.0 h1:gQsRvFdR0BGk19NROQZsAv6iG4w5QIZoJlxJeEUBb0c= +github.com/go-delve/delve v1.5.0/go.mod h1:c6b3a1Gry6x8a4LGCe/CWzrocrfaHvkUxCj3k4bvSUQ= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= From 62c20031a194aa1a0ed387540a6ef51fb5313232 Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Wed, 25 Nov 2020 20:56:37 +0800 Subject: [PATCH 31/40] update beego version --- cmd/commands/api/apiapp.go | 2 +- cmd/commands/hprose/hprose.go | 2 +- cmd/commands/new/new.go | 2 +- go.mod | 2 +- go.sum | 2 ++ utils/version.go | 17 +++++++++++++++++ 6 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 utils/version.go diff --git a/cmd/commands/api/apiapp.go b/cmd/commands/api/apiapp.go index ca2601a..13a1e41 100644 --- a/cmd/commands/api/apiapp.go +++ b/cmd/commands/api/apiapp.go @@ -586,7 +586,7 @@ func createAPI(cmd *commands.Command, args []string) int { appPath = path.Join(utils.GetBeeWorkPath(), args[0]) packPath = args[0] if beegoVersion.String() == `` { - beegoVersion.Set(`v1.12.1`) + beegoVersion.Set(utils.BEEGO_VERSION) } } diff --git a/cmd/commands/hprose/hprose.go b/cmd/commands/hprose/hprose.go index 7285260..8c7eb76 100644 --- a/cmd/commands/hprose/hprose.go +++ b/cmd/commands/hprose/hprose.go @@ -93,7 +93,7 @@ func createhprose(cmd *commands.Command, args []string) int { apppath = path.Join(utils.GetBeeWorkPath(), args[0]) packpath = args[0] if beegoVersion.String() == `` { - beegoVersion.Set(`v1.12.1`) + beegoVersion.Set(utils.BEEGO_VERSION) } } diff --git a/cmd/commands/new/new.go b/cmd/commands/new/new.go index 7fb1bb8..8461067 100644 --- a/cmd/commands/new/new.go +++ b/cmd/commands/new/new.go @@ -287,7 +287,7 @@ func CreateApp(cmd *commands.Command, args []string) int { appPath = path.Join(utils.GetBeeWorkPath(), args[0]) packPath = args[0] if beegoVersion.String() == `` { - beegoVersion.Set(`v1.12.1`) + beegoVersion.Set(utils.BEEGO_VERSION) } } diff --git a/go.mod b/go.mod index 760e398..42703e6 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/beego/bee go 1.13 require ( - github.com/astaxie/beego v1.12.2-0.20201105155152-20a0de6bd075 + github.com/astaxie/beego v1.12.4-0.20201114080429-05d8e293f7f3 github.com/davecgh/go-spew v1.1.1 github.com/flosch/pongo2 v0.0.0-20200529170236-5abacdfa4915 github.com/fsnotify/fsnotify v1.4.9 diff --git a/go.sum b/go.sum index 842c244..ac29439 100644 --- a/go.sum +++ b/go.sum @@ -27,6 +27,8 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/astaxie/beego v1.12.2-0.20201105155152-20a0de6bd075 h1:TR1ruJJ5gOHkZh4oc2S9EHEC1Uqrso/BSewu8dQFifM= github.com/astaxie/beego v1.12.2-0.20201105155152-20a0de6bd075/go.mod h1:Z2in5/6WygF7+WRPaCIOIdckL2TRTiOkOL3mT8+w8Tg= +github.com/astaxie/beego v1.12.4-0.20201114080429-05d8e293f7f3 h1:etrsSJGR/nmMRNjD2JyOYZEzDpVrkwZioyQs7y54u+o= +github.com/astaxie/beego v1.12.4-0.20201114080429-05d8e293f7f3/go.mod h1:Z2in5/6WygF7+WRPaCIOIdckL2TRTiOkOL3mT8+w8Tg= github.com/beego/goyaml2 v0.0.0-20130207012346-5545475820dd/go.mod h1:1b+Y/CofkYwXMUU0OhQqGvsY2Bvgr4j6jfT699wyZKQ= github.com/beego/x2j v0.0.0-20131220205130-a0352aadc542/go.mod h1:kSeGC/p1AbBiEp5kat81+DSQrZenVBZXklMLaELspWU= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= diff --git a/utils/version.go b/utils/version.go new file mode 100644 index 0000000..0411dbf --- /dev/null +++ b/utils/version.go @@ -0,0 +1,17 @@ +// Copyright 2020 +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package utils + +const BEEGO_VERSION = "v1.12.4-0.20201114080429-05d8e293f7f3" From bc846b254e97f75f8abbefed3246405c47fe1fc8 Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Wed, 25 Nov 2020 21:01:30 +0800 Subject: [PATCH 32/40] Update to v1.12.3 --- cmd/commands/api/apiapp.go | 2 +- cmd/commands/hprose/hprose.go | 2 +- cmd/commands/new/new.go | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/commands/api/apiapp.go b/cmd/commands/api/apiapp.go index 13a1e41..718342a 100644 --- a/cmd/commands/api/apiapp.go +++ b/cmd/commands/api/apiapp.go @@ -38,7 +38,7 @@ var CmdApiapp = &commands.Command{ now default supoort generate a go modules project. {{"Example:"|bold}} - $ bee api [appname] [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-gopath=false] [-beego=v1.12.1] + $ bee api [appname] [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-gopath=false] [-beego=v1.12.3] If 'conn' argument is empty, the command will generate an example API application. Otherwise the command will connect to your database and generate models based on the existing tables. diff --git a/cmd/commands/hprose/hprose.go b/cmd/commands/hprose/hprose.go index 8c7eb76..79e94a9 100644 --- a/cmd/commands/hprose/hprose.go +++ b/cmd/commands/hprose/hprose.go @@ -25,7 +25,7 @@ var CmdHproseapp = &commands.Command{ {{"To scaffold out your application, use:"|bold}} - $ bee hprose [appname] [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-gopath=false] [-beego=v1.12.1] + $ bee hprose [appname] [-tables=""] [-driver=mysql] [-conn="root:@tcp(127.0.0.1:3306)/test"] [-gopath=false] [-beego=v1.12.3] If 'conn' is empty, the command will generate a sample application. Otherwise the command will connect to your database and generate models based on the existing tables. diff --git a/cmd/commands/new/new.go b/cmd/commands/new/new.go index 8461067..073e043 100644 --- a/cmd/commands/new/new.go +++ b/cmd/commands/new/new.go @@ -31,12 +31,12 @@ var gopath utils.DocValue var beegoVersion utils.DocValue var CmdNew = &commands.Command{ - UsageLine: "new [appname] [-gopath=false] [-beego=v1.12.1]", + UsageLine: "new [appname] [-gopath=false] [-beego=v1.12.3]", Short: "Creates a Beego application", Long: ` Creates a Beego application for the given app name in the current directory. now default supoort generate a go modules project - The command 'new' creates a folder named [appname] [-gopath=false] [-beego=v1.12.1] and generates the following structure: + The command 'new' creates a folder named [appname] [-gopath=false] [-beego=v1.12.3] and generates the following structure: ├── main.go ├── go.mod From 32230de2eaf92cd05a34a05a10474eca853b20ec Mon Sep 17 00:00:00 2001 From: chenli <1920853199@qq.com> Date: Wed, 2 Dec 2020 23:02:26 +0800 Subject: [PATCH 33/40] fix issues #730 --- generate/g_appcode.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generate/g_appcode.go b/generate/g_appcode.go index 9a38727..a3d7118 100644 --- a/generate/g_appcode.go +++ b/generate/g_appcode.go @@ -925,7 +925,7 @@ func extractColSize(colType string) string { } func extractIntSignness(colType string) string { - regex := regexp.MustCompile(`(int|smallint|mediumint|bigint)\([0-9]+\)(.*)`) + regex := regexp.MustCompile(`(int|smallint|mediumint|bigint).*`) signRegex := regex.FindStringSubmatch(colType) return strings.Trim(signRegex[2], " ") } From e3e1a9849ffce2b686fb41eac63e7baf02e9cdc7 Mon Sep 17 00:00:00 2001 From: chenli <1920853199@qq.com> Date: Thu, 3 Dec 2020 22:01:24 +0800 Subject: [PATCH 34/40] fix --- generate/g_appcode.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generate/g_appcode.go b/generate/g_appcode.go index a3d7118..1d3f52b 100644 --- a/generate/g_appcode.go +++ b/generate/g_appcode.go @@ -927,7 +927,7 @@ func extractColSize(colType string) string { func extractIntSignness(colType string) string { regex := regexp.MustCompile(`(int|smallint|mediumint|bigint).*`) signRegex := regex.FindStringSubmatch(colType) - return strings.Trim(signRegex[2], " ") + return strings.Trim(signRegex[1], " ") } func extractDecimal(colType string) (digits string, decimals string) { From 9d68c302bd4843590c503073659e947374d0e6b0 Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Mon, 14 Dec 2020 00:44:48 +0800 Subject: [PATCH 35/40] Using beego/beego --- .goxc.json | 2 +- LICENSE | 2 +- Makefile | 2 +- README.md | 4 +- bee.json | 2 +- cmd/commands/api/apiapp.go | 18 +- cmd/commands/beefix/fix1To2.go | 2 +- cmd/commands/hprose/hprose.go | 2 +- cmd/commands/migrate/migrate.go | 4 +- cmd/commands/new/new.go | 10 +- cmd/commands/version/version.go | 2 +- generate/g_appcode.go | 6 +- generate/g_controllers.go | 4 +- generate/g_hproseappcode.go | 8 +- generate/g_migration.go | 2 +- generate/g_model.go | 2 +- generate/swaggergen/g_docs.go | 6 +- go.mod | 4 +- go.sum | 497 -------------------------------- utils/utils.go | 2 +- utils/version.go | 2 +- 21 files changed, 43 insertions(+), 540 deletions(-) delete mode 100644 go.sum diff --git a/.goxc.json b/.goxc.json index 932660d..1cfd333 100644 --- a/.goxc.json +++ b/.goxc.json @@ -11,4 +11,4 @@ } }, "ConfigVersion": "0.9" -} \ No newline at end of file +} diff --git a/LICENSE b/LICENSE index 8405e89..37ec93a 100644 --- a/LICENSE +++ b/LICENSE @@ -188,4 +188,4 @@ third-party archives. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file + limitations under the License. diff --git a/Makefile b/Makefile index d626070..ea71c95 100644 --- a/Makefile +++ b/Makefile @@ -26,4 +26,4 @@ publish: cd bin/$(VERSION) xgo -v -x --targets="windows/*,darwin/*,linux/386,linux/amd64,linux/arm-5,linux/arm64" -out bee_$(VERSION) github.com/beego/bee cd .. - ghr -u beego -r bee $(VERSION) $(VERSION) \ No newline at end of file + ghr -u beego -r bee $(VERSION) $(VERSION) diff --git a/README.md b/README.md index d666867..eddc67d 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Bee is a command-line tool facilitating development of Beego-based application. ## Requirements -- Go version >= 1.12. +- Go version >= 1.12 ## Installation @@ -355,7 +355,7 @@ Breakpoint 1 set at 0x40100f for main.main() ./main.go:8 > main.main() ./main.go:8 (hits goroutine(1):1 total:1) (PC: 0x40100f) 3: import ( 4: _ "github.com/user/myapp/routers" - 5: beego "github.com/astaxie/beego/server/web" + 5: beego "github.com/beego/beego/server/web" 6: ) 7: => 8: func main() { diff --git a/bee.json b/bee.json index f314542..4c693c7 100644 --- a/bee.json +++ b/bee.json @@ -15,4 +15,4 @@ "driver": "mysql" }, "enable_reload": false -} \ No newline at end of file +} diff --git a/cmd/commands/api/apiapp.go b/cmd/commands/api/apiapp.go index 718342a..5e3f829 100644 --- a/cmd/commands/api/apiapp.go +++ b/cmd/commands/api/apiapp.go @@ -76,7 +76,7 @@ var apiMaingo = `package main import ( _ "{{.Appname}}/routers" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) func main() { @@ -93,8 +93,8 @@ var apiMainconngo = `package main import ( _ "{{.Appname}}/routers" - beego "github.com/astaxie/beego/server/web" - "github.com/astaxie/beego/client/orm" + beego "github.com/beego/beego/server/web" + "github.com/beego/beego/client/orm" {{.DriverPkg}} ) @@ -113,7 +113,7 @@ module %s go %s -require github.com/astaxie/beego %s +require github.com/beego/beego %s require github.com/smartystreets/goconvey v1.6.4 ` @@ -129,7 +129,7 @@ package routers import ( "{{.Appname}}/controllers" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) func init() { @@ -298,7 +298,7 @@ import ( "{{.Appname}}/models" "encoding/json" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) // Operations about object @@ -391,7 +391,7 @@ import ( "{{.Appname}}/models" "encoding/json" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) // Operations about Users @@ -516,8 +516,8 @@ import ( "path/filepath" _ "{{.Appname}}/routers" - beego "github.com/astaxie/beego/server/web" - "github.com/astaxie/beego/core/logs" + beego "github.com/beego/beego/server/web" + "github.com/beego/beego/core/logs" . "github.com/smartystreets/goconvey/convey" ) diff --git a/cmd/commands/beefix/fix1To2.go b/cmd/commands/beefix/fix1To2.go index 28365f7..d40e013 100644 --- a/cmd/commands/beefix/fix1To2.go +++ b/cmd/commands/beefix/fix1To2.go @@ -46,4 +46,4 @@ func runShell(cmdStr string) error { return err } return nil -} \ No newline at end of file +} diff --git a/cmd/commands/hprose/hprose.go b/cmd/commands/hprose/hprose.go index 79e94a9..730325c 100644 --- a/cmd/commands/hprose/hprose.go +++ b/cmd/commands/hprose/hprose.go @@ -49,7 +49,7 @@ module %s go %s -require github.com/astaxie/beego %s +require github.com/beego/beego %s require github.com/smartystreets/goconvey v1.6.4 ` diff --git a/cmd/commands/migrate/migrate.go b/cmd/commands/migrate/migrate.go index a768394..6088bac 100644 --- a/cmd/commands/migrate/migrate.go +++ b/cmd/commands/migrate/migrate.go @@ -366,8 +366,8 @@ const ( import( "os" - "github.com/astaxie/beego/client/orm" - "github.com/astaxie/beego/client/orm/migration" + "github.com/beego/beego/client/orm" + "github.com/beego/beego/client/orm/migration" _ "{{DriverRepo}}" ) diff --git a/cmd/commands/new/new.go b/cmd/commands/new/new.go index 073e043..96b400e 100644 --- a/cmd/commands/new/new.go +++ b/cmd/commands/new/new.go @@ -70,7 +70,7 @@ var maingo = `package main import ( _ "{{.Appname}}/routers" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) func main() { @@ -82,7 +82,7 @@ var router = `package routers import ( "{{.Appname}}/controllers" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) func init() { @@ -93,7 +93,7 @@ var goMod = `module %s go %s -require github.com/astaxie/beego %s +require github.com/beego/beego %s require github.com/smartystreets/goconvey v1.6.4 ` var test = `package test @@ -106,7 +106,7 @@ import ( "path/filepath" _ "{{.Appname}}/routers" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" . "github.com/smartystreets/goconvey/convey" ) @@ -140,7 +140,7 @@ func TestBeego(t *testing.T) { var controllers = `package controllers import ( - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) type MainController struct { diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index c8212af..e3d002d 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -161,7 +161,7 @@ func GetBeegoVersion() string { } } - return "Beego is not installed. Please do consider installing it first: https://github.com/astaxie/beego. " + + return "Beego is not installed. Please do consider installing it first: https://github.com/beego/beego. " + "If you are using go mod, and you don't install the beego under $GOPATH/src/github.com/astaxie, just ignore this." } diff --git a/generate/g_appcode.go b/generate/g_appcode.go index 9a38727..ab719c5 100644 --- a/generate/g_appcode.go +++ b/generate/g_appcode.go @@ -1023,7 +1023,7 @@ import ( "reflect" "strings" {{timePkg}} - "github.com/astaxie/beego/client/orm" + "github.com/beego/beego/client/orm" ) {{modelStruct}} @@ -1172,7 +1172,7 @@ import ( "strconv" "strings" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) // {{ctrlName}}Controller operations for {{ctrlName}} @@ -1347,7 +1347,7 @@ package routers import ( "{{pkgPath}}/controllers" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) func init() { diff --git a/generate/g_controllers.go b/generate/g_controllers.go index 5d238e4..82821d9 100644 --- a/generate/g_controllers.go +++ b/generate/g_controllers.go @@ -78,7 +78,7 @@ func GenerateController(cname, currpath string) { var controllerTpl = `package {{packageName}} import ( - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) // {{controllerName}}Controller operations for {{controllerName}} @@ -166,7 +166,7 @@ import ( "strconv" "strings" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) // {{controllerName}}Controller operations for {{controllerName}} diff --git a/generate/g_hproseappcode.go b/generate/g_hproseappcode.go index 730e74c..edb0313 100644 --- a/generate/g_hproseappcode.go +++ b/generate/g_hproseappcode.go @@ -47,7 +47,7 @@ import ( "{{.Appname}}/models" "github.com/hprose/hprose-golang/rpc" - beego "github.com/astaxie/beego/server/web" + beego "github.com/beego/beego/server/web" ) func logInvokeHandler( @@ -90,8 +90,8 @@ import ( "{{.Appname}}/models" "github.com/hprose/hprose-golang/rpc" - beego "github.com/astaxie/beego/server/web" - "github.com/astaxie/beego/client/orm" + beego "github.com/beego/beego/server/web" + "github.com/beego/beego/client/orm" {{.DriverPkg}} ) @@ -419,7 +419,7 @@ import ( "reflect" "strings" {{timePkg}} - "github.com/astaxie/beego/client/orm" + "github.com/beego/beego/client/orm" ) {{modelStruct}} diff --git a/generate/g_migration.go b/generate/g_migration.go index 2d2a769..12fc701 100644 --- a/generate/g_migration.go +++ b/generate/g_migration.go @@ -238,7 +238,7 @@ func GenerateMigration(mname, upsql, downsql, curpath string) { const ( MigrationHeader = `package main import ( - "github.com/astaxie/beego/client/orm/migration" + "github.com/beego/beego/client/orm/migration" ) // DO NOT MODIFY diff --git a/generate/g_model.go b/generate/g_model.go index 69c6e83..747eafc 100644 --- a/generate/g_model.go +++ b/generate/g_model.go @@ -145,7 +145,7 @@ import ( "reflect" "strings" {{timePkg}} - "github.com/astaxie/beego/client/orm" + "github.com/beego/beego/client/orm" ) {{modelStruct}} diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index 9ab8a74..84c7f10 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -35,8 +35,8 @@ import ( yaml "gopkg.in/yaml.v2" - "github.com/astaxie/beego/server/web/swagger" - "github.com/astaxie/beego/core/utils" + "github.com/beego/beego/server/web/swagger" + "github.com/beego/beego/core/utils" beeLogger "github.com/beego/bee/logger" ) @@ -429,7 +429,7 @@ func analyseControllerPkg(localName, pkgpath string) { if isSystemPackage(pkgpath) { return } - if pkgpath == "github.com/astaxie/beego/server/web" { + if pkgpath == "github.com/beego/beego/server/web" { return } if localName != "" { diff --git a/go.mod b/go.mod index 42703e6..cf1a84a 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/beego/bee go 1.13 require ( - github.com/astaxie/beego v1.12.4-0.20201114080429-05d8e293f7f3 + github.com/beego/beego v1.12.4-0.20201213162117-e2a859d1564a github.com/davecgh/go-spew v1.1.1 github.com/flosch/pongo2 v0.0.0-20200529170236-5abacdfa4915 github.com/fsnotify/fsnotify v1.4.9 @@ -17,4 +17,4 @@ require ( gopkg.in/yaml.v2 v2.3.0 ) -//replace github.com/astaxie/beego => ../beego +//replace github.com/beego/beego => ../beego diff --git a/go.sum b/go.sum deleted file mode 100644 index ac29439..0000000 --- a/go.sum +++ /dev/null @@ -1,497 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alicebob/gopher-json v0.0.0-20180125190556-5a6b3ba71ee6/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc= -github.com/alicebob/miniredis v2.5.0+incompatible/go.mod h1:8HZjEj4yU0dwhYHky+DxYx+6BMjkBbe5ONFIF1MXffk= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/astaxie/beego v1.12.2-0.20201105155152-20a0de6bd075 h1:TR1ruJJ5gOHkZh4oc2S9EHEC1Uqrso/BSewu8dQFifM= -github.com/astaxie/beego v1.12.2-0.20201105155152-20a0de6bd075/go.mod h1:Z2in5/6WygF7+WRPaCIOIdckL2TRTiOkOL3mT8+w8Tg= -github.com/astaxie/beego v1.12.4-0.20201114080429-05d8e293f7f3 h1:etrsSJGR/nmMRNjD2JyOYZEzDpVrkwZioyQs7y54u+o= -github.com/astaxie/beego v1.12.4-0.20201114080429-05d8e293f7f3/go.mod h1:Z2in5/6WygF7+WRPaCIOIdckL2TRTiOkOL3mT8+w8Tg= -github.com/beego/goyaml2 v0.0.0-20130207012346-5545475820dd/go.mod h1:1b+Y/CofkYwXMUU0OhQqGvsY2Bvgr4j6jfT699wyZKQ= -github.com/beego/x2j v0.0.0-20131220205130-a0352aadc542/go.mod h1:kSeGC/p1AbBiEp5kat81+DSQrZenVBZXklMLaELspWU= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/bradfitz/gomemcache v0.0.0-20180710155616-bc664df96737/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60= -github.com/casbin/casbin v1.7.0/go.mod h1:c67qKN6Oum3UF5Q1+BByfFxkwKvhwW57ITjqwtzR1KE= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/golz4 v0.0.0-20150217214814-ef862a3cdc58/go.mod h1:EOBUe0h4xcZ5GoxqC5SDxFQ8gwyZPKQoEzownBlhI80= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/etcd v3.3.25+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cosiner/argv v0.1.0 h1:BVDiEL32lwHukgJKP87btEPenzrrHUjajs/8yzaqcXg= -github.com/cosiner/argv v0.1.0/go.mod h1:EusR6TucWKX+zFgtdUsKT2Cvg45K5rtpCcWz4hK06d8= -github.com/couchbase/go-couchbase v0.0.0-20200519150804-63f3cdb75e0d/go.mod h1:TWI8EKQMs5u5jLKW/tsb9VwauIrMIxQG1r5fMsswK5U= -github.com/couchbase/gomemcached v0.0.0-20200526233749-ec430f949808/go.mod h1:srVSlQLB8iXBVXHgnqemxUXqN6FCvClgCMPCsjBDR7c= -github.com/couchbase/goutils v0.0.0-20180530154633-e865a1461c8a/go.mod h1:BQwMFlJzDjFDG3DJUdU0KORxn88UlsOULuxLExMh3Hs= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= -github.com/creack/pty v1.1.9 h1:uDmaGzcdjhF4i/plgjmEsriH11Y0o7RKapEf/LDaM3w= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cupcake/rdb v0.0.0-20161107195141-43ba34106c76/go.mod h1:vYwsqCOLxGiisLwp9rITslkFNpZD5rz43tf41QFkTWY= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/edsrzf/mmap-go v0.0.0-20170320065105-0bce6a688712/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/elastic/go-elasticsearch/v6 v6.8.5/go.mod h1:UwaDJsD3rWLM5rKNFzv9hgox93HoX8utj1kxD9aFUcI= -github.com/elazarl/go-bindata-assetfs v1.0.0/go.mod h1:v+YaWX3bdea5J/mo8dSETolEo7R71Vk1u8bnjau5yw4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA= -github.com/flosch/pongo2 v0.0.0-20200529170236-5abacdfa4915 h1:rNVrewdFbSujcoKZifC6cHJfqCTbCIR7XTLHW5TqUWU= -github.com/flosch/pongo2 v0.0.0-20200529170236-5abacdfa4915/go.mod h1:fB4mx6dzqFinCxIf3a7Mf5yLk+18Bia9mPAnuejcvDA= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/gadelkareem/delve v1.4.2-0.20200619175259-dcd01330766f h1:SXR+MNQLeyoKOHwKziU6RU8wKEaGTNhL9rkHRuKND3A= -github.com/gadelkareem/delve v1.4.2-0.20200619175259-dcd01330766f/go.mod h1:yRnaIw9CedrRtnrIhNVh1JLOz0cjEUWOEM5FaWEMOV0= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/glendc/gopher-json v0.0.0-20170414221815-dc4743023d0c/go.mod h1:Gja1A+xZ9BoviGJNA2E9vFkPjjsl+CoJxSXiQM1UXtw= -github.com/go-check/check v0.0.0-20180628173108-788fd7840127 h1:0gkP6mzaMqkmpcJYCFOLkIBwI7xFExG03bbkOkCvUPI= -github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98= -github.com/go-delve/delve v1.5.0 h1:gQsRvFdR0BGk19NROQZsAv6iG4w5QIZoJlxJeEUBb0c= -github.com/go-delve/delve v1.5.0/go.mod h1:c6b3a1Gry6x8a4LGCe/CWzrocrfaHvkUxCj3k4bvSUQ= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-redis/redis v6.14.2+incompatible/go.mod h1:NAIEuMOZ/fxfXJIrKDQDz8wamY7mA7PouImQ2Jvg6kA= -github.com/go-redis/redis/v7 v7.4.0/go.mod h1:JDNMw23GTyLNC4GZu9njt15ctBQVn7xjRfnwdHj/Dcg= -github.com/go-sql-driver/mysql v1.5.0 h1:ozyZYNQW3x3HtqT1jira07DN2PArx2v7/mN66gGcHOs= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/gomodule/redigo v2.0.0+incompatible/go.mod h1:B4C85qUVwatsJoIUNIfCRsp7qO0iAmpGFZ4EELWSbC4= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-dap v0.2.0/go.mod h1:5q8aYQFnHOAZEMP+6vmq25HKYAEwE+LF5yh7JKrrhSQ= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= -github.com/juju/errors v0.0.0-20190930114154-d42613fe1ab9/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q= -github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= -github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3 h1:CE8S1cTafDpPvMhIxNJKvHsGVBgn1xWYf1NbHQhywc8= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/ledisdb/ledisdb v0.0.0-20200510135210-d35789ec47e6/go.mod h1:n931TsDuKuq+uX4v1fulaMbA/7ZLLhjc85h7chZGBCQ= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.7.0 h1:h93mCPfUSkaul3Ka/VG8uZdmW1uMHDGxzu0NWHuJmHY= -github.com/lib/pq v1.7.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/mattn/go-colorable v0.0.0-20170327083344-ded68f7a9561 h1:isR/L+BIZ+rqODWYR/f526ygrBMGKZYFhaaFRDGvuZ8= -github.com/mattn/go-colorable v0.0.0-20170327083344-ded68f7a9561/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.0.9 h1:UVL0vNpWh04HeJXV0KLcaT7r06gOH2l4OW6ddYRUIY4= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-isatty v0.0.3 h1:ns/ykhmWi7G9O+8a448SecJU3nSMBXJfqQkl0upE1jI= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-sqlite3 v2.0.3+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= -github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-toml v1.0.1/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.8.1 h1:1Nf83orprkJyknT6h7zbuEGUEjcyVlCxSUGTENmNCRM= -github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= -github.com/peterh/liner v0.0.0-20170317030525-88609521dc4b h1:8uaXtUkxiy+T/zdLWuxa/PG4so0TPZDZfafFNNSaptE= -github.com/peterh/liner v0.0.0-20170317030525-88609521dc4b/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= -github.com/peterh/liner v1.0.1-0.20171122030339-3681c2a91233 h1:jmJndGFBPjNWW+MAYarU/Nl8QrQVzbw4B/AYE0LzETo= -github.com/peterh/liner v1.0.1-0.20171122030339-3681c2a91233/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.0/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg= -github.com/siddontang/go v0.0.0-20170517070808-cb568a3e5cc0/go.mod h1:3yhqj7WBBfRhbBlzyOC3gUxftwsU0u8gqevxwIHQpMw= -github.com/siddontang/goredis v0.0.0-20150324035039-760763f78400/go.mod h1:DDcKzU3qCuvj/tPnimWSsZZzvk9qvkvrIL5naVBPh5s= -github.com/siddontang/rdb v0.0.0-20150307021120-fc89ed2e418d/go.mod h1:AMEsy7v5z92TR1JKMkLLoaOQk++LVnOKL3ScbJ8GNGA= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0 h1:UBcNElsrwanuuMsnGSlYmtmgbb23qDR5dG+6X6Oo89I= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/smartwalle/pongo2render v1.0.1 h1:rsPnDTu/+zIT5HEB5RbMjxKY5hisov26j0isZL/7YS0= -github.com/smartwalle/pongo2render v1.0.1/go.mod h1:MGnTzND7nEMz7g194kjlnw8lx/V5JJlb1hr5kDXEO0I= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.0-20170417170307-b6cb39589372/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/pflag v0.0.0-20170417173400-9e4c21054fa1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/viper v1.7.0 h1:xVKxvI7ouOI5I+U9s2eeiUfMaWBVoXA3AWskkrqK0VM= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/ssdb/gossdb v0.0.0-20180723034631-88f6b59b84ec/go.mod h1:QBvMkMya+gXctz3kmljlUCu/yB3GZ6oee+dUozsezQE= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/syndtr/goleveldb v0.0.0-20160425020131-cfa635847112/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0= -github.com/syndtr/goleveldb v0.0.0-20181127023241-353a9fca669c/go.mod h1:Z4AUp2Km+PwemOoO/VB5AOx9XSsIItzFjoJlOSiYmn0= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/ugorji/go v0.0.0-20171122102828-84cb69a8af83/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ= -github.com/wendal/errors v0.0.0-20130201093226-f66c77a7882b/go.mod h1:Q12BUT7DqIlHRmgv3RskH+UCM/4eqVMgI0EMmlSpAXc= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/yuin/gopher-lua v0.0.0-20171031051903-609c9cd26973/go.mod h1:aEV29XrmTYFr3CiRxZeGHpkvbwq+prZduBqMaascyCU= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/etcd v3.3.25+incompatible/go.mod h1:yaeTdrJi5lOmYerz05bd8+V7KubZs8YSFZfzsF9A6aI= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.starlark.net v0.0.0-20190702223751-32f345186213 h1:lkYv5AKwvvduv5XWP6szk/bvvgO6aDeUujhZQXIFTes= -go.starlark.net v0.0.0-20190702223751-32f345186213/go.mod h1:c1/X6cHgvdXj6pUlmWKMkuqRnW4K8x2vwt6JAaaircg= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.15.0/go.mod h1:Mb2vm2krFEG5DV0W9qcHBYFtp/Wku1cvYaqPsS/WYfc= -golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4 h1:QlVATYS7JBoZMVaf+cNjb90WD/beKVHnIxFKT4QaHVI= -golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9 h1:L2auWcuQIvxz9xSEqzESnV/QN/gNRXNApHi3fYwl2w0= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8 h1:AvbQYmiaaaza3cW3QXRyPo5kYgpFIzOAfeAAN7m3qQ4= -golang.org/x/sys v0.0.0-20200824131525-c12d262b63d8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191127201027-ecd32218bd7f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200117065230-39095c1d176c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/ini.v1 v1.51.0 h1:AQvPpx3LzTDM0AjnIRlVFwFFGC+npRopjZxLJj6gdno= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.5/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/utils/utils.go b/utils/utils.go index 398aa1b..fb2e505 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -88,7 +88,7 @@ func IsInGOPATH(thePath string) bool { // IsBeegoProject checks whether the current path is a Beego application or not func IsBeegoProject(thePath string) bool { mainFiles := []string{} - hasBeegoRegex := regexp.MustCompile(`(?s)package main.*?import.*?\(.*?github.com/astaxie/beego".*?\).*func main()`) + hasBeegoRegex := regexp.MustCompile(`(?s)package main.*?import.*?\(.*?github.com/beego/beego".*?\).*func main()`) c := make(chan error) // Walk the application path tree to look for main files. // Main files must satisfy the 'hasBeegoRegex' regular expression. diff --git a/utils/version.go b/utils/version.go index 0411dbf..a4a0a86 100644 --- a/utils/version.go +++ b/utils/version.go @@ -14,4 +14,4 @@ package utils -const BEEGO_VERSION = "v1.12.4-0.20201114080429-05d8e293f7f3" +const BEEGO_VERSION = "v1.12.4-0.20201213162117-e2a859d1564a" From cdb41fad3f329e67431cdb29b36de4acd3f0359e Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Mon, 14 Dec 2020 13:08:47 +0800 Subject: [PATCH 36/40] using beego v2 --- README.md | 2 +- cmd/commands/api/apiapp.go | 18 +++++++++--------- cmd/commands/hprose/hprose.go | 2 +- cmd/commands/migrate/migrate.go | 4 ++-- cmd/commands/new/new.go | 10 +++++----- cmd/commands/version/version.go | 2 +- generate/g_appcode.go | 6 +++--- generate/g_controllers.go | 4 ++-- generate/g_hproseappcode.go | 8 ++++---- generate/g_migration.go | 2 +- generate/g_model.go | 2 +- generate/swaggergen/g_docs.go | 6 +++--- go.mod | 4 ++-- internal/app/module/beegopro/container.go | 2 +- utils/utils.go | 2 +- utils/version.go | 2 +- 16 files changed, 38 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index eddc67d..9387bfd 100644 --- a/README.md +++ b/README.md @@ -355,7 +355,7 @@ Breakpoint 1 set at 0x40100f for main.main() ./main.go:8 > main.main() ./main.go:8 (hits goroutine(1):1 total:1) (PC: 0x40100f) 3: import ( 4: _ "github.com/user/myapp/routers" - 5: beego "github.com/beego/beego/server/web" + 5: beego "github.com/beego/beego/v2/server/web" 6: ) 7: => 8: func main() { diff --git a/cmd/commands/api/apiapp.go b/cmd/commands/api/apiapp.go index 5e3f829..4bf6bba 100644 --- a/cmd/commands/api/apiapp.go +++ b/cmd/commands/api/apiapp.go @@ -76,7 +76,7 @@ var apiMaingo = `package main import ( _ "{{.Appname}}/routers" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) func main() { @@ -93,8 +93,8 @@ var apiMainconngo = `package main import ( _ "{{.Appname}}/routers" - beego "github.com/beego/beego/server/web" - "github.com/beego/beego/client/orm" + beego "github.com/beego/beego/v2/server/web" + "github.com/beego/beego/v2/client/orm" {{.DriverPkg}} ) @@ -113,7 +113,7 @@ module %s go %s -require github.com/beego/beego %s +require github.com/beego/beego/v2 %s require github.com/smartystreets/goconvey v1.6.4 ` @@ -129,7 +129,7 @@ package routers import ( "{{.Appname}}/controllers" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) func init() { @@ -298,7 +298,7 @@ import ( "{{.Appname}}/models" "encoding/json" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) // Operations about object @@ -391,7 +391,7 @@ import ( "{{.Appname}}/models" "encoding/json" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) // Operations about Users @@ -516,8 +516,8 @@ import ( "path/filepath" _ "{{.Appname}}/routers" - beego "github.com/beego/beego/server/web" - "github.com/beego/beego/core/logs" + beego "github.com/beego/beego/v2/server/web" + "github.com/beego/beego/v2/core/logs" . "github.com/smartystreets/goconvey/convey" ) diff --git a/cmd/commands/hprose/hprose.go b/cmd/commands/hprose/hprose.go index 730325c..ba97b03 100644 --- a/cmd/commands/hprose/hprose.go +++ b/cmd/commands/hprose/hprose.go @@ -49,7 +49,7 @@ module %s go %s -require github.com/beego/beego %s +require github.com/beego/beego/v2 %s require github.com/smartystreets/goconvey v1.6.4 ` diff --git a/cmd/commands/migrate/migrate.go b/cmd/commands/migrate/migrate.go index 6088bac..50cf58b 100644 --- a/cmd/commands/migrate/migrate.go +++ b/cmd/commands/migrate/migrate.go @@ -366,8 +366,8 @@ const ( import( "os" - "github.com/beego/beego/client/orm" - "github.com/beego/beego/client/orm/migration" + "github.com/beego/beego/v2/client/orm" + "github.com/beego/beego/v2/client/orm/migration" _ "{{DriverRepo}}" ) diff --git a/cmd/commands/new/new.go b/cmd/commands/new/new.go index 96b400e..c179100 100644 --- a/cmd/commands/new/new.go +++ b/cmd/commands/new/new.go @@ -70,7 +70,7 @@ var maingo = `package main import ( _ "{{.Appname}}/routers" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) func main() { @@ -82,7 +82,7 @@ var router = `package routers import ( "{{.Appname}}/controllers" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) func init() { @@ -93,7 +93,7 @@ var goMod = `module %s go %s -require github.com/beego/beego %s +require github.com/beego/beego/v2 %s require github.com/smartystreets/goconvey v1.6.4 ` var test = `package test @@ -106,7 +106,7 @@ import ( "path/filepath" _ "{{.Appname}}/routers" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" . "github.com/smartystreets/goconvey/convey" ) @@ -140,7 +140,7 @@ func TestBeego(t *testing.T) { var controllers = `package controllers import ( - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) type MainController struct { diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index e3d002d..7d30fbc 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -161,7 +161,7 @@ func GetBeegoVersion() string { } } - return "Beego is not installed. Please do consider installing it first: https://github.com/beego/beego. " + + 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." } diff --git a/generate/g_appcode.go b/generate/g_appcode.go index ab719c5..3de7d5a 100644 --- a/generate/g_appcode.go +++ b/generate/g_appcode.go @@ -1023,7 +1023,7 @@ import ( "reflect" "strings" {{timePkg}} - "github.com/beego/beego/client/orm" + "github.com/beego/beego/v2/client/orm" ) {{modelStruct}} @@ -1172,7 +1172,7 @@ import ( "strconv" "strings" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) // {{ctrlName}}Controller operations for {{ctrlName}} @@ -1347,7 +1347,7 @@ package routers import ( "{{pkgPath}}/controllers" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) func init() { diff --git a/generate/g_controllers.go b/generate/g_controllers.go index 82821d9..2d92416 100644 --- a/generate/g_controllers.go +++ b/generate/g_controllers.go @@ -78,7 +78,7 @@ func GenerateController(cname, currpath string) { var controllerTpl = `package {{packageName}} import ( - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) // {{controllerName}}Controller operations for {{controllerName}} @@ -166,7 +166,7 @@ import ( "strconv" "strings" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) // {{controllerName}}Controller operations for {{controllerName}} diff --git a/generate/g_hproseappcode.go b/generate/g_hproseappcode.go index edb0313..eb5f84c 100644 --- a/generate/g_hproseappcode.go +++ b/generate/g_hproseappcode.go @@ -47,7 +47,7 @@ import ( "{{.Appname}}/models" "github.com/hprose/hprose-golang/rpc" - beego "github.com/beego/beego/server/web" + beego "github.com/beego/beego/v2/server/web" ) func logInvokeHandler( @@ -90,8 +90,8 @@ import ( "{{.Appname}}/models" "github.com/hprose/hprose-golang/rpc" - beego "github.com/beego/beego/server/web" - "github.com/beego/beego/client/orm" + beego "github.com/beego/beego/v2/server/web" + "github.com/beego/beego/v2/client/orm" {{.DriverPkg}} ) @@ -419,7 +419,7 @@ import ( "reflect" "strings" {{timePkg}} - "github.com/beego/beego/client/orm" + "github.com/beego/beego/v2/client/orm" ) {{modelStruct}} diff --git a/generate/g_migration.go b/generate/g_migration.go index 12fc701..0fd005b 100644 --- a/generate/g_migration.go +++ b/generate/g_migration.go @@ -238,7 +238,7 @@ func GenerateMigration(mname, upsql, downsql, curpath string) { const ( MigrationHeader = `package main import ( - "github.com/beego/beego/client/orm/migration" + "github.com/beego/beego/v2/client/orm/migration" ) // DO NOT MODIFY diff --git a/generate/g_model.go b/generate/g_model.go index 747eafc..dcafd3e 100644 --- a/generate/g_model.go +++ b/generate/g_model.go @@ -145,7 +145,7 @@ import ( "reflect" "strings" {{timePkg}} - "github.com/beego/beego/client/orm" + "github.com/beego/beego/v2/client/orm" ) {{modelStruct}} diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index 84c7f10..52c7876 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -35,8 +35,8 @@ import ( yaml "gopkg.in/yaml.v2" - "github.com/beego/beego/server/web/swagger" - "github.com/beego/beego/core/utils" + "github.com/beego/beego/v2/server/web/swagger" + "github.com/beego/beego/v2/core/utils" beeLogger "github.com/beego/bee/logger" ) @@ -429,7 +429,7 @@ func analyseControllerPkg(localName, pkgpath string) { if isSystemPackage(pkgpath) { return } - if pkgpath == "github.com/beego/beego/server/web" { + if pkgpath == "github.com/beego/beego/v2/server/web" { return } if localName != "" { diff --git a/go.mod b/go.mod index cf1a84a..864f00c 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/beego/bee go 1.13 require ( - github.com/beego/beego v1.12.4-0.20201213162117-e2a859d1564a + github.com/beego/beego/v2 v2.0.0 github.com/davecgh/go-spew v1.1.1 github.com/flosch/pongo2 v0.0.0-20200529170236-5abacdfa4915 github.com/fsnotify/fsnotify v1.4.9 @@ -17,4 +17,4 @@ require ( gopkg.in/yaml.v2 v2.3.0 ) -//replace github.com/beego/beego => ../beego +//replace github.com/beego/beego/v2 => ../beego diff --git a/internal/app/module/beegopro/container.go b/internal/app/module/beegopro/container.go index 69c9084..616d456 100644 --- a/internal/app/module/beegopro/container.go +++ b/internal/app/module/beegopro/container.go @@ -30,7 +30,7 @@ var DefaultBeegoPro = &Container{ ApiPrefix: "/api", EnableModule: nil, Models: make(map[string]TextModel), - GitRemotePath: "https://github.com/beego/beego-pro.git", + GitRemotePath: "https://github.com/beego/beego/v2-pro.git", Branch: "master", GitLocalPath: system.BeegoHome + "/beego-pro", EnableFormat: true, diff --git a/utils/utils.go b/utils/utils.go index fb2e505..0e788ca 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -88,7 +88,7 @@ func IsInGOPATH(thePath string) bool { // IsBeegoProject checks whether the current path is a Beego application or not func IsBeegoProject(thePath string) bool { mainFiles := []string{} - hasBeegoRegex := regexp.MustCompile(`(?s)package main.*?import.*?\(.*?github.com/beego/beego".*?\).*func main()`) + hasBeegoRegex := regexp.MustCompile(`(?s)package main.*?import.*?\(.*?github.com/beego/beego/v2".*?\).*func main()`) c := make(chan error) // Walk the application path tree to look for main files. // Main files must satisfy the 'hasBeegoRegex' regular expression. diff --git a/utils/version.go b/utils/version.go index a4a0a86..111c8b3 100644 --- a/utils/version.go +++ b/utils/version.go @@ -14,4 +14,4 @@ package utils -const BEEGO_VERSION = "v1.12.4-0.20201213162117-e2a859d1564a" +const BEEGO_VERSION = "v2.0.0" From c693549cc69318349b5c611910e4c51e2a7b142e Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Mon, 14 Dec 2020 13:13:50 +0800 Subject: [PATCH 37/40] Fix pro path --- internal/app/module/beegopro/container.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/app/module/beegopro/container.go b/internal/app/module/beegopro/container.go index 616d456..69c9084 100644 --- a/internal/app/module/beegopro/container.go +++ b/internal/app/module/beegopro/container.go @@ -30,7 +30,7 @@ var DefaultBeegoPro = &Container{ ApiPrefix: "/api", EnableModule: nil, Models: make(map[string]TextModel), - GitRemotePath: "https://github.com/beego/beego/v2-pro.git", + GitRemotePath: "https://github.com/beego/beego-pro.git", Branch: "master", GitLocalPath: system.BeegoHome + "/beego-pro", EnableFormat: true, From c93bda1d3c17358056feb7f608546754a60bd074 Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Mon, 14 Dec 2020 16:25:27 +0800 Subject: [PATCH 38/40] Fix Bee --- cmd/commands/beefix/fix1To2.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/commands/beefix/fix1To2.go b/cmd/commands/beefix/fix1To2.go index d40e013..41e4bb8 100644 --- a/cmd/commands/beefix/fix1To2.go +++ b/cmd/commands/beefix/fix1To2.go @@ -24,12 +24,12 @@ import ( func fix1To2() int { beeLogger.Log.Info("Upgrading the application...") - cmdStr := `find ./ -name '*.go' -type f -exec sed -i '' -e 's/github.com\/astaxie\/beego/github.com\/astaxie\/beego\/adapter/g' {} \;` + cmdStr := `find ./ -name '*.go' -type f -exec sed -i '' -e 's/github.com\/astaxie\/beego/github.com\/beego\/beego\/v2\/adapter/g' {} \;` err := runShell(cmdStr) if err != nil { return 1 } - cmdStr = `find ./ -name '*.go' -type f -exec sed -i '' -e 's/"github.com\/astaxie\/beego\/adapter"/beego "github.com\/astaxie\/beego\/adapter"/g' {} \;` + cmdStr = `find ./ -name '*.go' -type f -exec sed -i '' -e 's/"github.com\/beego\/beego\/v2\/adapter"/beego "github.com\/beego\/beego\/v2\/adapter"/g' {} \;` err = runShell(cmdStr) if err != nil { return 1 From ebb2fee3fccdbd4be8b991b276d9ade4178681c6 Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Mon, 14 Dec 2020 17:06:10 +0800 Subject: [PATCH 39/40] Using 2.0.1 --- config/conf.go | 2 +- go.mod | 2 +- utils/version.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/config/conf.go b/config/conf.go index e0a7fec..7c03dcd 100644 --- a/config/conf.go +++ b/config/conf.go @@ -27,7 +27,7 @@ import ( const confVer = 0 const ( - Version = "2.0.0" + Version = "2.0.1" GitRemotePath = "github.com/beego/bee" ) diff --git a/go.mod b/go.mod index 864f00c..962910b 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/beego/bee go 1.13 require ( - github.com/beego/beego/v2 v2.0.0 + github.com/beego/beego/v2 v2.0.1 github.com/davecgh/go-spew v1.1.1 github.com/flosch/pongo2 v0.0.0-20200529170236-5abacdfa4915 github.com/fsnotify/fsnotify v1.4.9 diff --git a/utils/version.go b/utils/version.go index 111c8b3..035df59 100644 --- a/utils/version.go +++ b/utils/version.go @@ -14,4 +14,4 @@ package utils -const BEEGO_VERSION = "v2.0.0" +const BEEGO_VERSION = "v2.0.1" From 06e09b0f87294c22c05ecabd3cc99653808c583b Mon Sep 17 00:00:00 2001 From: Ming Deng Date: Wed, 16 Dec 2020 13:20:41 +0800 Subject: [PATCH 40/40] upgrade version to 2 --- Makefile | 2 +- README.md | 4 +- cmd/bee.go | 38 +++++++++---------- cmd/commands/api/apiapp.go | 12 +++--- cmd/commands/bale/bale.go | 10 ++--- cmd/commands/beefix/fix.go | 10 ++--- cmd/commands/beefix/fix1To2.go | 18 +++++++-- cmd/commands/beefix/fixTo1.6.go | 9 ++--- cmd/commands/beegopro/beegopro.go | 6 +-- cmd/commands/command.go | 4 +- cmd/commands/dev/cmd.go | 4 +- cmd/commands/dev/githook.go | 2 +- cmd/commands/dlv/dlv_amd64.go | 12 +++--- cmd/commands/dockerize/dockerize.go | 8 ++-- cmd/commands/generate/generate.go | 14 +++---- cmd/commands/hprose/hprose.go | 14 +++---- cmd/commands/migrate/migrate.go | 10 ++--- cmd/commands/new/new.go | 10 ++--- cmd/commands/pack/pack.go | 8 ++-- cmd/commands/rs/rs.go | 12 +++--- cmd/commands/run/docs.go | 2 +- cmd/commands/run/reload.go | 2 +- cmd/commands/run/run.go | 10 ++--- cmd/commands/run/watch.go | 8 ++-- cmd/commands/server/server.go | 8 ++-- cmd/commands/update/update.go | 8 ++-- cmd/commands/version/banner.go | 2 +- cmd/commands/version/version.go | 10 ++--- config/conf.go | 4 +- generate/g.go | 2 +- generate/g_appcode.go | 6 +-- generate/g_controllers.go | 6 +-- generate/g_hproseappcode.go | 6 +-- generate/g_migration.go | 6 +-- generate/g_model.go | 6 +-- generate/g_scaffold.go | 6 +-- generate/g_views.go | 6 +-- generate/swaggergen/g_docs.go | 4 +- go.mod | 2 +- gosimple.ignore | 6 +-- internal/app/module/beegopro/config.go | 4 +- internal/app/module/beegopro/container.go | 8 ++-- internal/app/module/beegopro/migration.go | 4 +- internal/app/module/beegopro/parser_mysql.go | 4 +- internal/app/module/beegopro/pongo2.go | 2 +- internal/app/module/beegopro/render.go | 4 +- internal/app/module/beegopro/schema.go | 8 ++-- internal/app/module/beegopro/schema_model.go | 2 +- .../app/module/beegopro/schema_mysql_model.go | 2 +- .../app/module/beegopro/schema_text_model.go | 2 +- internal/app/module/beegopro/util.go | 4 +- internal/pkg/git/repository.go | 6 +-- internal/pkg/utils/file.go | 2 +- logger/logger.go | 2 +- main.go | 8 ++-- staticcheck.ignore | 2 +- utils/notification.go | 2 +- utils/utils.go | 8 ++-- utils/version.go | 2 +- 59 files changed, 202 insertions(+), 191 deletions(-) diff --git a/Makefile b/Makefile index ea71c95..603e0b4 100644 --- a/Makefile +++ b/Makefile @@ -24,6 +24,6 @@ clean: publish: mkdir -p bin/$(VERSION) cd bin/$(VERSION) - xgo -v -x --targets="windows/*,darwin/*,linux/386,linux/amd64,linux/arm-5,linux/arm64" -out bee_$(VERSION) github.com/beego/bee + xgo -v -x --targets="windows/*,darwin/*,linux/386,linux/amd64,linux/arm-5,linux/arm64" -out bee_$(VERSION) github.com/beego/bee/v2 cd .. ghr -u beego -r bee $(VERSION) $(VERSION) diff --git a/README.md b/README.md index 9387bfd..1e667f7 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ Bee is a command-line tool facilitating development of Beego-based application. To install `bee` use the `go get` command: ```bash -go get github.com/beego/bee +go get github.com/beego/bee/v2 ``` Then you can add `bee` binary to PATH environment variable in your `~/.bashrc` or `~/.bash_profile` file: @@ -28,7 +28,7 @@ export PATH=$PATH:/bin > If you already have `bee` installed, updating `bee` is simple: ```bash -go get -u github.com/beego/bee +go get -u github.com/beego/bee/v2 ``` ## Basic commands diff --git a/cmd/bee.go b/cmd/bee.go index e921c00..3ead4cb 100644 --- a/cmd/bee.go +++ b/cmd/bee.go @@ -16,25 +16,25 @@ package cmd import ( - "github.com/beego/bee/cmd/commands" - _ "github.com/beego/bee/cmd/commands/api" - _ "github.com/beego/bee/cmd/commands/bale" - _ "github.com/beego/bee/cmd/commands/beefix" - _ "github.com/beego/bee/cmd/commands/beegopro" - _ "github.com/beego/bee/cmd/commands/dev" - _ "github.com/beego/bee/cmd/commands/dlv" - _ "github.com/beego/bee/cmd/commands/dockerize" - _ "github.com/beego/bee/cmd/commands/generate" - _ "github.com/beego/bee/cmd/commands/hprose" - _ "github.com/beego/bee/cmd/commands/migrate" - _ "github.com/beego/bee/cmd/commands/new" - _ "github.com/beego/bee/cmd/commands/pack" - _ "github.com/beego/bee/cmd/commands/rs" - _ "github.com/beego/bee/cmd/commands/run" - _ "github.com/beego/bee/cmd/commands/server" - _ "github.com/beego/bee/cmd/commands/update" - _ "github.com/beego/bee/cmd/commands/version" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + _ "github.com/beego/bee/v2/cmd/commands/api" + _ "github.com/beego/bee/v2/cmd/commands/bale" + _ "github.com/beego/bee/v2/cmd/commands/beefix" + _ "github.com/beego/bee/v2/cmd/commands/beegopro" + _ "github.com/beego/bee/v2/cmd/commands/dev" + _ "github.com/beego/bee/v2/cmd/commands/dlv" + _ "github.com/beego/bee/v2/cmd/commands/dockerize" + _ "github.com/beego/bee/v2/cmd/commands/generate" + _ "github.com/beego/bee/v2/cmd/commands/hprose" + _ "github.com/beego/bee/v2/cmd/commands/migrate" + _ "github.com/beego/bee/v2/cmd/commands/new" + _ "github.com/beego/bee/v2/cmd/commands/pack" + _ "github.com/beego/bee/v2/cmd/commands/rs" + _ "github.com/beego/bee/v2/cmd/commands/run" + _ "github.com/beego/bee/v2/cmd/commands/server" + _ "github.com/beego/bee/v2/cmd/commands/update" + _ "github.com/beego/bee/v2/cmd/commands/version" + "github.com/beego/bee/v2/utils" ) func IfGenerateDocs(name string, args []string) bool { diff --git a/cmd/commands/api/apiapp.go b/cmd/commands/api/apiapp.go index 4bf6bba..8cc9633 100644 --- a/cmd/commands/api/apiapp.go +++ b/cmd/commands/api/apiapp.go @@ -20,13 +20,13 @@ import ( path "path/filepath" "strings" - "github.com/beego/bee/logger/colors" + "github.com/beego/bee/v2/logger/colors" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - "github.com/beego/bee/generate" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + "github.com/beego/bee/v2/generate" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" ) var CmdApiapp = &commands.Command{ diff --git a/cmd/commands/bale/bale.go b/cmd/commands/bale/bale.go index 8ba9641..87361ea 100644 --- a/cmd/commands/bale/bale.go +++ b/cmd/commands/bale/bale.go @@ -24,11 +24,11 @@ import ( "runtime" "strings" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - "github.com/beego/bee/config" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + "github.com/beego/bee/v2/config" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" ) var CmdBale = &commands.Command{ diff --git a/cmd/commands/beefix/fix.go b/cmd/commands/beefix/fix.go index 5090881..59efab7 100644 --- a/cmd/commands/beefix/fix.go +++ b/cmd/commands/beefix/fix.go @@ -3,10 +3,10 @@ package beefix import ( "strings" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" ) var CmdFix = &commands.Command{ @@ -36,7 +36,7 @@ func init() { func runFix(cmd *commands.Command, args []string) int { t := target.String() - if t == "" || t == "1.6"{ + if t == "" || t == "1.6" { return fixTo16(cmd, args) } else if strings.HasPrefix(t, "2") { // upgrade to v2 diff --git a/cmd/commands/beefix/fix1To2.go b/cmd/commands/beefix/fix1To2.go index 41e4bb8..f4c7e80 100644 --- a/cmd/commands/beefix/fix1To2.go +++ b/cmd/commands/beefix/fix1To2.go @@ -1,4 +1,4 @@ -// Copyright 2020 +// Copyright 2020 // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -18,20 +18,32 @@ import ( "os" "os/exec" - beeLogger "github.com/beego/bee/logger" + beeLogger "github.com/beego/bee/v2/logger" ) func fix1To2() int { beeLogger.Log.Info("Upgrading the application...") - cmdStr := `find ./ -name '*.go' -type f -exec sed -i '' -e 's/github.com\/astaxie\/beego/github.com\/beego\/beego\/v2\/adapter/g' {} \;` + cmdStr := `go get -u github.com/beego/beego/v2@develop` err := runShell(cmdStr) if err != nil { + beeLogger.Log.Error(err.Error()) + beeLogger.Log.Error(`fetch v2.0.1 failed. Please try to run: export GO111MODULE=on +and if your network is not stable, please try to use proxy, for example: export GOPROXY=https://goproxy.cn;' +`) + return 1 + } + + cmdStr = `find ./ -name '*.go' -type f -exec sed -i '' -e 's/github.com\/astaxie\/beego/github.com\/beego\/beego\/v2\/adapter/g' {} \;` + err = runShell(cmdStr) + if err != nil { + beeLogger.Log.Error(err.Error()) return 1 } cmdStr = `find ./ -name '*.go' -type f -exec sed -i '' -e 's/"github.com\/beego\/beego\/v2\/adapter"/beego "github.com\/beego\/beego\/v2\/adapter"/g' {} \;` err = runShell(cmdStr) if err != nil { + beeLogger.Log.Error(err.Error()) return 1 } return 0 diff --git a/cmd/commands/beefix/fixTo1.6.go b/cmd/commands/beefix/fixTo1.6.go index 8e38f67..b49e57b 100644 --- a/cmd/commands/beefix/fixTo1.6.go +++ b/cmd/commands/beefix/fixTo1.6.go @@ -1,4 +1,4 @@ -// Copyright 2020 +// Copyright 2020 // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -24,9 +24,9 @@ import ( "regexp" "strings" - "github.com/beego/bee/cmd/commands" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" + "github.com/beego/bee/v2/cmd/commands" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" ) // fixTo16 upgrade beego to 1.6 @@ -228,4 +228,3 @@ func fixFile(file string) error { } return ioutil.WriteFile(file, []byte(fixed), 0666) } - diff --git a/cmd/commands/beegopro/beegopro.go b/cmd/commands/beegopro/beegopro.go index b094a0a..3407fe6 100644 --- a/cmd/commands/beegopro/beegopro.go +++ b/cmd/commands/beegopro/beegopro.go @@ -16,9 +16,9 @@ package beegopro import ( "strings" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/internal/app/module/beegopro" - "github.com/beego/bee/logger" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/internal/app/module/beegopro" + "github.com/beego/bee/v2/logger" ) var CmdBeegoPro = &commands.Command{ diff --git a/cmd/commands/command.go b/cmd/commands/command.go index 95a1891..16f4a1c 100644 --- a/cmd/commands/command.go +++ b/cmd/commands/command.go @@ -6,8 +6,8 @@ import ( "os" "strings" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" ) // Command is the unit of execution diff --git a/cmd/commands/dev/cmd.go b/cmd/commands/dev/cmd.go index dda319a..bddc6e9 100644 --- a/cmd/commands/dev/cmd.go +++ b/cmd/commands/dev/cmd.go @@ -15,8 +15,8 @@ package dev import ( - "github.com/beego/bee/cmd/commands" - beeLogger "github.com/beego/bee/logger" + "github.com/beego/bee/v2/cmd/commands" + beeLogger "github.com/beego/bee/v2/logger" ) var CmdDev = &commands.Command{ diff --git a/cmd/commands/dev/githook.go b/cmd/commands/dev/githook.go index be0d18a..0f14e38 100644 --- a/cmd/commands/dev/githook.go +++ b/cmd/commands/dev/githook.go @@ -17,7 +17,7 @@ package dev import ( "os" - beeLogger "github.com/beego/bee/logger" + beeLogger "github.com/beego/bee/v2/logger" ) var preCommit = ` diff --git a/cmd/commands/dlv/dlv_amd64.go b/cmd/commands/dlv/dlv_amd64.go index a127a47..38ad28a 100644 --- a/cmd/commands/dlv/dlv_amd64.go +++ b/cmd/commands/dlv/dlv_amd64.go @@ -24,16 +24,16 @@ import ( "strings" "time" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" + "github.com/fsnotify/fsnotify" + "github.com/go-delve/delve/pkg/terminal" "github.com/go-delve/delve/service" "github.com/go-delve/delve/service/debugger" "github.com/go-delve/delve/service/rpc2" "github.com/go-delve/delve/service/rpccommon" - "github.com/go-delve/delve/pkg/terminal" - "github.com/fsnotify/fsnotify" ) var cmdDlv = &commands.Command{ diff --git a/cmd/commands/dockerize/dockerize.go b/cmd/commands/dockerize/dockerize.go index 3aad82e..10b013e 100644 --- a/cmd/commands/dockerize/dockerize.go +++ b/cmd/commands/dockerize/dockerize.go @@ -22,10 +22,10 @@ import ( "strings" "text/template" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" ) const dockerBuildTemplate = `FROM {{.BaseImage}} diff --git a/cmd/commands/generate/generate.go b/cmd/commands/generate/generate.go index d8bee28..d780ee5 100644 --- a/cmd/commands/generate/generate.go +++ b/cmd/commands/generate/generate.go @@ -17,13 +17,13 @@ import ( "os" "strings" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - "github.com/beego/bee/config" - "github.com/beego/bee/generate" - "github.com/beego/bee/generate/swaggergen" - "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + "github.com/beego/bee/v2/config" + "github.com/beego/bee/v2/generate" + "github.com/beego/bee/v2/generate/swaggergen" + "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" ) var CmdGenerate = &commands.Command{ diff --git a/cmd/commands/hprose/hprose.go b/cmd/commands/hprose/hprose.go index ba97b03..8ac756a 100644 --- a/cmd/commands/hprose/hprose.go +++ b/cmd/commands/hprose/hprose.go @@ -6,14 +6,14 @@ import ( "path" "strings" - "github.com/beego/bee/logger/colors" + "github.com/beego/bee/v2/logger/colors" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/api" - "github.com/beego/bee/cmd/commands/version" - "github.com/beego/bee/generate" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/api" + "github.com/beego/bee/v2/cmd/commands/version" + "github.com/beego/bee/v2/generate" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" ) var CmdHproseapp = &commands.Command{ diff --git a/cmd/commands/migrate/migrate.go b/cmd/commands/migrate/migrate.go index 50cf58b..36073e1 100644 --- a/cmd/commands/migrate/migrate.go +++ b/cmd/commands/migrate/migrate.go @@ -23,12 +23,12 @@ import ( "strings" "time" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - "github.com/beego/bee/config" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + "github.com/beego/bee/v2/config" + "github.com/beego/bee/v2/utils" - beeLogger "github.com/beego/bee/logger" + beeLogger "github.com/beego/bee/v2/logger" ) var CmdMigrate = &commands.Command{ diff --git a/cmd/commands/new/new.go b/cmd/commands/new/new.go index c179100..ed05450 100644 --- a/cmd/commands/new/new.go +++ b/cmd/commands/new/new.go @@ -20,11 +20,11 @@ import ( path "path/filepath" "strings" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" ) var gopath utils.DocValue diff --git a/cmd/commands/pack/pack.go b/cmd/commands/pack/pack.go index 36540ea..88deae2 100644 --- a/cmd/commands/pack/pack.go +++ b/cmd/commands/pack/pack.go @@ -18,10 +18,10 @@ import ( "syscall" "time" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" ) var CmdPack = &commands.Command{ diff --git a/cmd/commands/rs/rs.go b/cmd/commands/rs/rs.go index c520bee..3c8ecd4 100644 --- a/cmd/commands/rs/rs.go +++ b/cmd/commands/rs/rs.go @@ -24,12 +24,12 @@ import ( "strings" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - "github.com/beego/bee/config" - "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + "github.com/beego/bee/v2/config" + "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" ) var cmdRs = &commands.Command{ diff --git a/cmd/commands/run/docs.go b/cmd/commands/run/docs.go index f7b13f3..6ad382a 100644 --- a/cmd/commands/run/docs.go +++ b/cmd/commands/run/docs.go @@ -7,7 +7,7 @@ import ( "os" "strings" - beeLogger "github.com/beego/bee/logger" + beeLogger "github.com/beego/bee/v2/logger" ) var ( diff --git a/cmd/commands/run/reload.go b/cmd/commands/run/reload.go index 4cd731a..2981f89 100644 --- a/cmd/commands/run/reload.go +++ b/cmd/commands/run/reload.go @@ -18,7 +18,7 @@ import ( "net/http" "time" - beeLogger "github.com/beego/bee/logger" + beeLogger "github.com/beego/bee/v2/logger" "github.com/gorilla/websocket" ) diff --git a/cmd/commands/run/run.go b/cmd/commands/run/run.go index 9eec587..03b28cf 100644 --- a/cmd/commands/run/run.go +++ b/cmd/commands/run/run.go @@ -20,11 +20,11 @@ import ( "runtime" "strings" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - "github.com/beego/bee/config" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + "github.com/beego/bee/v2/config" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" ) var CmdRun = &commands.Command{ diff --git a/cmd/commands/run/watch.go b/cmd/commands/run/watch.go index 5aae690..ba950f4 100644 --- a/cmd/commands/run/watch.go +++ b/cmd/commands/run/watch.go @@ -24,10 +24,10 @@ import ( "sync" "time" - "github.com/beego/bee/config" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/config" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" "github.com/fsnotify/fsnotify" ) diff --git a/cmd/commands/server/server.go b/cmd/commands/server/server.go index 8c06574..1c68c3e 100644 --- a/cmd/commands/server/server.go +++ b/cmd/commands/server/server.go @@ -17,13 +17,13 @@ package apiapp import ( "net/http" - beeLogger "github.com/beego/bee/logger" + beeLogger "github.com/beego/bee/v2/logger" "os" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/cmd/commands/version" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/cmd/commands/version" + "github.com/beego/bee/v2/utils" ) var CmdServer = &commands.Command{ diff --git a/cmd/commands/update/update.go b/cmd/commands/update/update.go index 2c8ff8a..57255d6 100644 --- a/cmd/commands/update/update.go +++ b/cmd/commands/update/update.go @@ -5,16 +5,16 @@ import ( "os" "os/exec" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/config" - beeLogger "github.com/beego/bee/logger" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/config" + beeLogger "github.com/beego/bee/v2/logger" ) var CmdUpdate = &commands.Command{ UsageLine: "update", Short: "Update Bee", Long: ` -Automatic run command "go get -u github.com/beego/bee" for selfupdate +Automatic run command "go get -u github.com/beego/bee/v2" for selfupdate `, Run: updateBee, } diff --git a/cmd/commands/version/banner.go b/cmd/commands/version/banner.go index 0ab367d..2b2618e 100644 --- a/cmd/commands/version/banner.go +++ b/cmd/commands/version/banner.go @@ -9,7 +9,7 @@ import ( "time" - beeLogger "github.com/beego/bee/logger" + beeLogger "github.com/beego/bee/v2/logger" ) // RuntimeInfo holds information about the current runtime. diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index 7d30fbc..3518bc5 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -16,11 +16,11 @@ import ( "gopkg.in/yaml.v2" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/config" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/config" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" ) const verboseVersionBanner string = `%s%s______ diff --git a/config/conf.go b/config/conf.go index 7c03dcd..5478186 100644 --- a/config/conf.go +++ b/config/conf.go @@ -21,14 +21,14 @@ import ( "gopkg.in/yaml.v2" - beeLogger "github.com/beego/bee/logger" + beeLogger "github.com/beego/bee/v2/logger" ) const confVer = 0 const ( Version = "2.0.1" - GitRemotePath = "github.com/beego/bee" + GitRemotePath = "github.com/beego/bee/v2" ) var Conf = struct { diff --git a/generate/g.go b/generate/g.go index 691acc7..764932d 100644 --- a/generate/g.go +++ b/generate/g.go @@ -14,7 +14,7 @@ package generate -import "github.com/beego/bee/utils" +import "github.com/beego/bee/v2/utils" var SQLDriver utils.DocValue var SQLConn utils.DocValue diff --git a/generate/g_appcode.go b/generate/g_appcode.go index 3de7d5a..d884364 100644 --- a/generate/g_appcode.go +++ b/generate/g_appcode.go @@ -25,9 +25,9 @@ import ( "regexp" "strings" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" _ "github.com/go-sql-driver/mysql" _ "github.com/lib/pq" ) diff --git a/generate/g_controllers.go b/generate/g_controllers.go index 2d92416..e603415 100644 --- a/generate/g_controllers.go +++ b/generate/g_controllers.go @@ -20,9 +20,9 @@ import ( "path" "strings" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" ) func GenerateController(cname, currpath string) { diff --git a/generate/g_hproseappcode.go b/generate/g_hproseappcode.go index eb5f84c..63f8a8d 100644 --- a/generate/g_hproseappcode.go +++ b/generate/g_hproseappcode.go @@ -24,9 +24,9 @@ import ( "path" "strings" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" _ "github.com/go-sql-driver/mysql" _ "github.com/lib/pq" ) diff --git a/generate/g_migration.go b/generate/g_migration.go index 0fd005b..890bae5 100644 --- a/generate/g_migration.go +++ b/generate/g_migration.go @@ -21,9 +21,9 @@ import ( "strings" "time" - "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" ) const ( diff --git a/generate/g_model.go b/generate/g_model.go index dcafd3e..96dd4a0 100644 --- a/generate/g_model.go +++ b/generate/g_model.go @@ -21,9 +21,9 @@ import ( "path" "strings" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" ) func GenerateModel(mname, fields, currpath string) { diff --git a/generate/g_scaffold.go b/generate/g_scaffold.go index d752789..42ec8a2 100644 --- a/generate/g_scaffold.go +++ b/generate/g_scaffold.go @@ -3,9 +3,9 @@ package generate import ( "strings" - "github.com/beego/bee/cmd/commands/migrate" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd/commands/migrate" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" ) func GenerateScaffold(sname, fields, currpath, driver, conn string) { diff --git a/generate/g_views.go b/generate/g_views.go index 95d99bd..8a67f5b 100644 --- a/generate/g_views.go +++ b/generate/g_views.go @@ -19,9 +19,9 @@ import ( "os" "path" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" - "github.com/beego/bee/utils" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" + "github.com/beego/bee/v2/utils" ) // recipe diff --git a/generate/swaggergen/g_docs.go b/generate/swaggergen/g_docs.go index 52c7876..2c6311a 100644 --- a/generate/swaggergen/g_docs.go +++ b/generate/swaggergen/g_docs.go @@ -35,9 +35,9 @@ import ( yaml "gopkg.in/yaml.v2" - "github.com/beego/beego/v2/server/web/swagger" + beeLogger "github.com/beego/bee/v2/logger" "github.com/beego/beego/v2/core/utils" - beeLogger "github.com/beego/bee/logger" + "github.com/beego/beego/v2/server/web/swagger" ) const ( diff --git a/go.mod b/go.mod index 962910b..aa446cb 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/beego/bee +module github.com/beego/bee/v2 go 1.13 diff --git a/gosimple.ignore b/gosimple.ignore index 4619dba..2a98f7c 100644 --- a/gosimple.ignore +++ b/gosimple.ignore @@ -1,3 +1,3 @@ -github.com/beego/bee/cmd/commands/run/*.go:S1024 -github.com/beego/bee/cmd/commands/dlv/*.go:S1024 -github.com/beego/bee/utils/*.go:S1026 +github.com/beego/bee/v2/cmd/commands/run/*.go:S1024 +github.com/beego/bee/v2/cmd/commands/dlv/*.go:S1024 +github.com/beego/bee/v2/utils/*.go:S1026 diff --git a/internal/app/module/beegopro/config.go b/internal/app/module/beegopro/config.go index b305d02..fe781e7 100644 --- a/internal/app/module/beegopro/config.go +++ b/internal/app/module/beegopro/config.go @@ -3,8 +3,8 @@ package beegopro import ( "io/ioutil" - "github.com/beego/bee/internal/pkg/utils" - beeLogger "github.com/beego/bee/logger" + "github.com/beego/bee/v2/internal/pkg/utils" + beeLogger "github.com/beego/bee/v2/logger" ) var CompareExcept = []string{"@BeeGenerateTime"} diff --git a/internal/app/module/beegopro/container.go b/internal/app/module/beegopro/container.go index 69c9084..f12b70f 100644 --- a/internal/app/module/beegopro/container.go +++ b/internal/app/module/beegopro/container.go @@ -6,10 +6,10 @@ import ( "sync" "time" - "github.com/beego/bee/internal/pkg/git" - "github.com/beego/bee/internal/pkg/system" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/internal/pkg/git" + "github.com/beego/bee/v2/internal/pkg/system" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" "github.com/davecgh/go-spew/spew" "github.com/pelletier/go-toml" "github.com/spf13/viper" diff --git a/internal/app/module/beegopro/migration.go b/internal/app/module/beegopro/migration.go index ec1eb08..a2cf409 100644 --- a/internal/app/module/beegopro/migration.go +++ b/internal/app/module/beegopro/migration.go @@ -6,8 +6,8 @@ import ( "path/filepath" "strings" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" ) var SQL utils.DocValue diff --git a/internal/app/module/beegopro/parser_mysql.go b/internal/app/module/beegopro/parser_mysql.go index af5e80c..2e96bfc 100644 --- a/internal/app/module/beegopro/parser_mysql.go +++ b/internal/app/module/beegopro/parser_mysql.go @@ -4,8 +4,8 @@ import ( "database/sql" "fmt" - "github.com/beego/bee/internal/pkg/utils" - beeLogger "github.com/beego/bee/logger" + "github.com/beego/bee/v2/internal/pkg/utils" + beeLogger "github.com/beego/bee/v2/logger" ) type MysqlParser struct { diff --git a/internal/app/module/beegopro/pongo2.go b/internal/app/module/beegopro/pongo2.go index 24ee5b2..13c14e4 100644 --- a/internal/app/module/beegopro/pongo2.go +++ b/internal/app/module/beegopro/pongo2.go @@ -4,7 +4,7 @@ import ( "strings" "unicode/utf8" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/utils" "github.com/flosch/pongo2" ) diff --git a/internal/app/module/beegopro/render.go b/internal/app/module/beegopro/render.go index 3721621..b030815 100644 --- a/internal/app/module/beegopro/render.go +++ b/internal/app/module/beegopro/render.go @@ -11,8 +11,8 @@ import ( "github.com/flosch/pongo2" "github.com/smartwalle/pongo2render" - "github.com/beego/bee/internal/pkg/system" - beeLogger "github.com/beego/bee/logger" + "github.com/beego/bee/v2/internal/pkg/system" + beeLogger "github.com/beego/bee/v2/logger" ) // render diff --git a/internal/app/module/beegopro/schema.go b/internal/app/module/beegopro/schema.go index 9a2baac..8d0f2d3 100644 --- a/internal/app/module/beegopro/schema.go +++ b/internal/app/module/beegopro/schema.go @@ -6,10 +6,10 @@ import ( "strings" "sync" - "github.com/beego/bee/internal/pkg/command" - "github.com/beego/bee/internal/pkg/system" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/internal/pkg/command" + "github.com/beego/bee/v2/internal/pkg/system" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/utils" "github.com/flosch/pongo2" "github.com/smartwalle/pongo2render" ) diff --git a/internal/app/module/beegopro/schema_model.go b/internal/app/module/beegopro/schema_model.go index 22e7507..6d36acf 100644 --- a/internal/app/module/beegopro/schema_model.go +++ b/internal/app/module/beegopro/schema_model.go @@ -3,7 +3,7 @@ package beegopro import ( "strings" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/utils" ) // parse get the model info diff --git a/internal/app/module/beegopro/schema_mysql_model.go b/internal/app/module/beegopro/schema_mysql_model.go index 7bc2d8b..4fca376 100644 --- a/internal/app/module/beegopro/schema_mysql_model.go +++ b/internal/app/module/beegopro/schema_mysql_model.go @@ -4,7 +4,7 @@ import ( "database/sql" "errors" - "github.com/beego/bee/logger" + "github.com/beego/bee/v2/logger" ) type TableSchema struct { diff --git a/internal/app/module/beegopro/schema_text_model.go b/internal/app/module/beegopro/schema_text_model.go index 3483d8f..898e7f5 100644 --- a/internal/app/module/beegopro/schema_text_model.go +++ b/internal/app/module/beegopro/schema_text_model.go @@ -1,7 +1,7 @@ package beegopro import ( - beeLogger "github.com/beego/bee/logger" + beeLogger "github.com/beego/bee/v2/logger" ) type TextModel struct { diff --git a/internal/app/module/beegopro/util.go b/internal/app/module/beegopro/util.go index 22a668a..7cf1bae 100644 --- a/internal/app/module/beegopro/util.go +++ b/internal/app/module/beegopro/util.go @@ -11,8 +11,8 @@ import ( "strings" "time" - "github.com/beego/bee/internal/pkg/utils" - beeLogger "github.com/beego/bee/logger" + "github.com/beego/bee/v2/internal/pkg/utils" + beeLogger "github.com/beego/bee/v2/logger" ) // write to file diff --git a/internal/pkg/git/repository.go b/internal/pkg/git/repository.go index ebad8dd..83c1179 100644 --- a/internal/pkg/git/repository.go +++ b/internal/pkg/git/repository.go @@ -8,9 +8,9 @@ import ( "strconv" "strings" - "github.com/beego/bee/internal/pkg/command" - "github.com/beego/bee/internal/pkg/utils" - beeLogger "github.com/beego/bee/logger" + "github.com/beego/bee/v2/internal/pkg/command" + "github.com/beego/bee/v2/internal/pkg/utils" + beeLogger "github.com/beego/bee/v2/logger" ) // git tag diff --git a/internal/pkg/utils/file.go b/internal/pkg/utils/file.go index 5d931eb..72015e6 100644 --- a/internal/pkg/utils/file.go +++ b/internal/pkg/utils/file.go @@ -3,7 +3,7 @@ package utils import ( "os" - beeLogger "github.com/beego/bee/logger" + beeLogger "github.com/beego/bee/v2/logger" ) // Mkdir ... diff --git a/logger/logger.go b/logger/logger.go index beb5bc5..5cc1fa8 100644 --- a/logger/logger.go +++ b/logger/logger.go @@ -24,7 +24,7 @@ import ( "text/template" "time" - "github.com/beego/bee/logger/colors" + "github.com/beego/bee/v2/logger/colors" ) var errInvalidLogLevel = errors.New("logger: invalid log level") diff --git a/main.go b/main.go index 251ee51..2222ca9 100644 --- a/main.go +++ b/main.go @@ -18,10 +18,10 @@ import ( "log" "os" - "github.com/beego/bee/cmd" - "github.com/beego/bee/cmd/commands" - "github.com/beego/bee/config" - "github.com/beego/bee/utils" + "github.com/beego/bee/v2/cmd" + "github.com/beego/bee/v2/cmd/commands" + "github.com/beego/bee/v2/config" + "github.com/beego/bee/v2/utils" ) func main() { diff --git a/staticcheck.ignore b/staticcheck.ignore index 70d9589..858e4ce 100644 --- a/staticcheck.ignore +++ b/staticcheck.ignore @@ -1 +1 @@ -github.com/beego/bee/generate/swaggergen/*.go:SA1024 +github.com/beego/bee/v2/generate/swaggergen/*.go:SA1024 diff --git a/utils/notification.go b/utils/notification.go index b19b49f..d42249a 100644 --- a/utils/notification.go +++ b/utils/notification.go @@ -21,7 +21,7 @@ import ( "runtime" - "github.com/beego/bee/config" + "github.com/beego/bee/v2/config" ) const appName = "Beego" diff --git a/utils/utils.go b/utils/utils.go index 0e788ca..cee89d9 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -32,10 +32,10 @@ import ( "time" "unicode" - "github.com/beego/bee/config" - "github.com/beego/bee/internal/pkg/system" - beeLogger "github.com/beego/bee/logger" - "github.com/beego/bee/logger/colors" + "github.com/beego/bee/v2/config" + "github.com/beego/bee/v2/internal/pkg/system" + beeLogger "github.com/beego/bee/v2/logger" + "github.com/beego/bee/v2/logger/colors" ) type tagName struct { diff --git a/utils/version.go b/utils/version.go index 035df59..05da3dc 100644 --- a/utils/version.go +++ b/utils/version.go @@ -1,4 +1,4 @@ -// Copyright 2020 +// Copyright 2020 // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License.