-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathmain.go
59 lines (49 loc) · 1.28 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package main
import (
"flag"
"fmt"
"github.com/gw123/GMQ/bootstarp"
"github.com/gw123/GMQ/common/helper"
"github.com/gw123/GMQ/core"
//"net/http"
//_ "net/http/pprof"
)
func main() {
moduleName := flag.String("newModule", "", "模块名称 eg:RedisModule")
serviceName := flag.String("newService", "", "service名称 eg:UserService")
configFile := flag.String("c", "config.yml", "配置文件")
dir := flag.String("dir", "", "输出位置 默认在当前的modules下面")
flag.Parse()
if *moduleName != "" {
err := helper.MakeModule(*moduleName, *dir)
if err != nil {
panic(err)
} else {
fmt.Println("created " + *moduleName + " success!")
}
return
}
if *serviceName != "" {
err := helper.MakeService(*serviceName, *dir)
if err != nil {
panic(err)
} else {
fmt.Println("created " + *serviceName + " success!")
}
return
}
bootstarp.SetConfigFile(*configFile)
config := bootstarp.GetConfig()
appInstance := core.NewApp(config)
//migrage tabels 迁移数据库
err := bootstarp.AutoMigrate(appInstance)
if err != nil {
appInstance.Error("App", err.Error())
}
//LoadServices 加载服务
bootstarp.LoadServices(appInstance)
//LoadModuleProvider 加载模块
bootstarp.LoadModuleProvider(appInstance)
appInstance.Start()
select {}
}