project init

This commit is contained in:
liangzy 2020-08-31 15:13:00 +08:00
parent bca3a2be1e
commit d3e3eb0102

View File

@ -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
}