diff --git a/cmd/commands/beegopro/beegopro.go b/cmd/commands/beegopro/beegopro.go index 52a5d7e..554f0fa 100644 --- a/cmd/commands/beegopro/beegopro.go +++ b/cmd/commands/beegopro/beegopro.go @@ -32,6 +32,7 @@ func init() { CmdBeegoPro.Flag.Var(&beegopro.SQL, "sql", "sql file path") CmdBeegoPro.Flag.Var(&beegopro.SQLMode, "sqlmode", "sql mode") CmdBeegoPro.Flag.Var(&beegopro.SQLModePath, "sqlpath", "sql mode path") + CmdBeegoPro.Flag.Var(&beegopro.GitRemotePath, "url", "git remote path") commands.AvailableCommands = append(commands.AvailableCommands, CmdBeegoPro) } diff --git a/cmd/commands/version/version.go b/cmd/commands/version/version.go index c23a588..238e7a7 100644 --- a/cmd/commands/version/version.go +++ b/cmd/commands/version/version.go @@ -131,7 +131,7 @@ func GetBeegoVersion() string { return "" } for _, wg := range wgopath { - wg, _ = path.EvalSymlinks(path.Join(wg, "src", "github.com", "astaxie", "beego")) + wg, _ = path.EvalSymlinks(path.Join(wg, "src", "github.com", "beego", "beego")) filename := path.Join(wg, "beego.go") _, err := os.Stat(filename) if err != nil { @@ -163,7 +163,7 @@ func GetBeegoVersion() string { } 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." + "If you are using go mod, and you don't install the beego under $GOPATH/src/github.com/beego, just ignore this." } func GetGoVersion() string { diff --git a/internal/app/module/beegopro/container.go b/internal/app/module/beegopro/container.go index 4dbb877..21bed30 100644 --- a/internal/app/module/beegopro/container.go +++ b/internal/app/module/beegopro/container.go @@ -3,6 +3,7 @@ package beegopro import ( "fmt" "io/ioutil" + "strings" "sync" "time" @@ -15,6 +16,8 @@ import ( "github.com/spf13/viper" ) +var GitRemotePath utils.DocValue + const MDateFormat = "20060102_150405" var DefaultBeegoPro = &Container{ @@ -30,9 +33,10 @@ var DefaultBeegoPro = &Container{ ApiPrefix: "/api", EnableModule: nil, Models: make(map[string]TextModel), - GitRemotePath: "https://github.com/beego/beego-pro.git", - Branch: "master", - GitLocalPath: system.BeegoHome + "/beego-pro", + GitRemotePath: "", + //GitRemotePath: "https://github.com/beego/beego-pro.git", + Branch: "master", + //GitLocalPath: system.BeegoHome + "/beego-pro", EnableFormat: true, SourceGen: "text", EnableGitPull: true, @@ -72,7 +76,6 @@ func (c *Container) initUserOption() { beeLogger.Log.Fatalf("read beego pro config content, err: %s", err.Error()) return } - err = viper.Unmarshal(&c.UserOption) if err != nil { beeLogger.Log.Fatalf("beego pro config unmarshal error, err: %s", err.Error()) @@ -100,10 +103,10 @@ func (c *Container) initUserOption() { if c.UserOption.Debug { fmt.Println("c.modules", c.EnableModules) } - } func (c *Container) initTemplateOption() { + c.GetLocalPath() if c.UserOption.EnableGitPull && (c.GenerateTimeUnix-c.Timestamp.GitCacheLastRefresh > c.UserOption.RefreshGitTime) { err := git.CloneORPullRepo(c.UserOption.GitRemotePath, c.UserOption.GitLocalPath) if err != nil { @@ -225,4 +228,24 @@ func (c *Container) InitToml() { return } beeLogger.Log.Success("Successfully created file beegopro.toml") -} \ No newline at end of file +} + +//form https://github.com/beego/beego-pro.git +//get beego/beego-pro +func (c *Container) GetLocalPath() { + if c.UserOption.GitLocalPath != "" { + return + } + if GitRemotePath != "" { + c.UserOption.GitRemotePath = GitRemotePath.String() + } + if c.UserOption.GitRemotePath == "" { + c.UserOption.GitRemotePath = "https://github.com/beego/beego-pro.git" + } + url := c.UserOption.GitRemotePath + url = strings.TrimPrefix(url, "http://") + url = strings.TrimPrefix(url, "https://") + url = strings.TrimRight(url, ".git") + index := strings.Index(url, "/") + c.UserOption.GitLocalPath = system.BeegoHome + url[index:] +}