|
|
@@ -2,10 +2,12 @@ package cmd |
|
|
|
|
|
|
|
import ( |
|
|
|
"fmt" |
|
|
|
"github.com/gookit/color" |
|
|
|
"github.com/urfave/cli/v2" |
|
|
|
"golib.gaore.com/GaoreGo/beegoinit-cmd/utils" |
|
|
|
"os" |
|
|
|
"path" |
|
|
|
"strings" |
|
|
|
) |
|
|
|
|
|
|
|
var gitignore = `# Created by .ignore support plugin (hsz.mobi) |
|
|
@@ -35,25 +37,52 @@ gen |
|
|
|
# Dependency directories (remove the comment below to include it) |
|
|
|
# vendor/` |
|
|
|
|
|
|
|
var tree = ` |
|
|
|
. |
|
|
|
var tree = `. |
|
|
|
├── applications |
|
|
|
│ ├── _common |
|
|
|
│ ├── api |
|
|
|
| | ├── base.go |
|
|
|
│ | └── index.go |
|
|
|
│ └── init.go |
|
|
|
├── cli |
|
|
|
│ └── test |
|
|
|
├── conf |
|
|
|
│ └──app.conf |
|
|
|
├── main.go |
|
|
|
├── runtime |
|
|
|
│ └── logs |
|
|
|
├── static |
|
|
|
| └── js |
|
|
|
| └── css |
|
|
|
├── main.go |
|
|
|
├── Makefile |
|
|
|
└── README.md |
|
|
|
` |
|
|
|
|
|
|
|
var appconf = `appname = {{ packageName }} |
|
|
|
|
|
|
|
httpaddr = "${CENTER_HTTP_HOST||127.0.0.1}" |
|
|
|
|
|
|
|
httpport = "${CENTER_HTTP_PORT||8080}" |
|
|
|
|
|
|
|
runmode ="${CENTER_RUNMODE||prod}" |
|
|
|
|
|
|
|
copyrequestbody = true |
|
|
|
|
|
|
|
sessionon = true |
|
|
|
|
|
|
|
customviewdir = "views" |
|
|
|
|
|
|
|
custommodules = "api,web,openapi,admin" |
|
|
|
|
|
|
|
RouterCaseSensitive = false |
|
|
|
|
|
|
|
EnableGzip = true |
|
|
|
|
|
|
|
enablexsrf = true |
|
|
|
|
|
|
|
xsrfkey = 61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o |
|
|
|
|
|
|
|
xsrfexpire = 21600 |
|
|
|
` |
|
|
|
|
|
|
|
var initfun = ` |
|
|
|
package applications |
|
|
|
|
|
|
@@ -64,8 +93,8 @@ import ( |
|
|
|
router "golib.gaore.com/GaoreGo/beegoinit/routers" |
|
|
|
"golib.gaore.com/GaoreGo/grconfig" |
|
|
|
"golib.gaore.com/GaoreGo/grlogs" |
|
|
|
common "jedi.gaore.com/applications/_common/controllers" |
|
|
|
api "jedi.gaore.com/applications/api/controllers" |
|
|
|
common "{{ packageName }}/applications/_common/controllers" |
|
|
|
api "{{ packageName }}/applications/api/controllers" |
|
|
|
"strings" |
|
|
|
) |
|
|
|
|
|
|
@@ -156,7 +185,7 @@ import ( |
|
|
|
"github.com/astaxie/beego" |
|
|
|
"github.com/astaxie/beego/toolbox" |
|
|
|
_ "golib.gaore.com/GaoreGo/beegoinit" |
|
|
|
_ "jedi.gaore.com/applications" |
|
|
|
_ "{{ packageName }}/applications" |
|
|
|
) |
|
|
|
|
|
|
|
func main() { |
|
|
@@ -172,27 +201,47 @@ func New(c *cli.Context) error { |
|
|
|
|
|
|
|
var appPath string |
|
|
|
var packPath string |
|
|
|
var packageName string |
|
|
|
var err error |
|
|
|
|
|
|
|
if packPath == "." { |
|
|
|
packPath = path.Base(appPath) |
|
|
|
} |
|
|
|
|
|
|
|
fmt.Println(tree) |
|
|
|
appPath = "." |
|
|
|
|
|
|
|
appPath = c.String("apppath") |
|
|
|
if appPath == "" { |
|
|
|
if appPath, err = os.Getwd(); err != nil { |
|
|
|
return err |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
packageName = c.String("package") |
|
|
|
if packageName == "" { |
|
|
|
packageName = path.Base(appPath) |
|
|
|
} |
|
|
|
|
|
|
|
color.Yellow.Println("Now current working directory is :", appPath) |
|
|
|
color.Yellow.Println("Now package name is default to :", packageName) |
|
|
|
|
|
|
|
os.Mkdir(path.Join(appPath, "static"), 0755) |
|
|
|
os.Mkdir(path.Join(appPath, "conf"), 0755) |
|
|
|
os.Mkdir(path.Join(appPath, "cli"), 0755) |
|
|
|
os.MkdirAll(path.Join(appPath, "runtime", "logs"), 0755) |
|
|
|
os.MkdirAll(path.Join(appPath, "applications", "_common", "controllers"), 0755) |
|
|
|
os.MkdirAll(path.Join(appPath, "applications", "_common", "views"), 0755) |
|
|
|
os.MkdirAll(path.Join(appPath, "applications", "api", "controlelrs"), 0755) |
|
|
|
os.MkdirAll(path.Join(appPath, "applications", "api", "controllers"), 0755) |
|
|
|
|
|
|
|
utils.WriteToFile(path.Join(appPath, "main.go"), mainfun) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "init.go"), initfun) |
|
|
|
utils.WriteToFile(path.Join(appPath, "main1.go"), strings.ReplaceAll(mainfun, "{{ packageName }}", packageName)) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "init.go"), strings.ReplaceAll(initfun, "{{ packageName }}", packageName)) |
|
|
|
utils.WriteToFile(path.Join(appPath, "conf", "app.conf"), strings.ReplaceAll(appconf, "{{ packageName }}", packageName)) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "_common", "views", "404.tpl"), indextpl) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "_common", "views", "403.tpl"), indextpl) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "_common", "controllers", "error.go"), errcontroller) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "api", "controllers", "base.go"), basecontroller) |
|
|
|
utils.WriteToFile(path.Join(appPath, "applications", "api", "controllers", "index.go"), indexcontroller) |
|
|
|
|
|
|
|
color.Yellow.Println("Finish ...") |
|
|
|
return nil |
|
|
|
} |