88 lines
1.9 KiB
Go
88 lines
1.9 KiB
Go
package cmd
|
|
|
|
import (
|
|
"complie-erlang/config"
|
|
"complie-erlang/parser/zm_lib"
|
|
"complie-erlang/worker"
|
|
"fmt"
|
|
"github.com/spf13/cobra"
|
|
"log"
|
|
)
|
|
|
|
type modSet struct {
|
|
author string
|
|
}
|
|
|
|
func (m *modSet) run(cmd *cobra.Command, args []string) {
|
|
if len(args) == 0 {
|
|
_ = cmd.Help()
|
|
return
|
|
}
|
|
modName := args[0]
|
|
modArgs := args[1:]
|
|
|
|
var DefaultArgs []config.DefaultArg
|
|
|
|
DefaultArgs = append(DefaultArgs, config.DefaultArg{
|
|
Key: "Author",
|
|
Value: m.author,
|
|
})
|
|
|
|
if err := worker.ModWorkerRun(modName, modArgs, DefaultArgs); err != nil {
|
|
log.Printf("[error] mod worker run error: %v", err)
|
|
}
|
|
|
|
fmt.Printf("ok \n")
|
|
}
|
|
|
|
func init() {
|
|
var singleSet = new(modSet)
|
|
var singleCmd = &cobra.Command{
|
|
Use: "mod",
|
|
Short: "根据约定模板生成 多个文件构建 功能模版",
|
|
Long: `
|
|
- 根据约定模板生成
|
|
|
|
mod activity activity_test
|
|
mod func test1
|
|
|
|
`,
|
|
Run: singleSet.run,
|
|
}
|
|
|
|
_ = zm_lib.PersistentFlagsStringVar(singleCmd, &singleSet.author, globalCache, "author", "st,sutong@youkia.net", "作者")
|
|
|
|
rootCmd.AddCommand(singleCmd)
|
|
}
|
|
|
|
/*
|
|
template_dir: "./templates/*.tpl" ## 模版 目录
|
|
plugin: "plugin" ## 源代码文件夹地址
|
|
mod_configs:
|
|
- name: "func"
|
|
worker: "proto"
|
|
proto_name: "../gpb/game/pro_%s.proto"
|
|
make_dir:
|
|
- path: "game/src/%s"
|
|
name: "src"
|
|
out_files:
|
|
- base_dir: "game/src/%s"
|
|
file_name: "%s_port.erl"
|
|
content_template: "ErlangPort"
|
|
- name: "activity"
|
|
worker: "proto"
|
|
proto_name: "../gpb/game/pro_activity_%s.proto"
|
|
make_dir:
|
|
- path: "game/activity/mods/single_server/%s/src"
|
|
name: "src"
|
|
- path: "game/activity/mods/single_server/%s/.cfg"
|
|
name: "cfg"
|
|
out_files:
|
|
- base_dir: "src"
|
|
file_name: "%s_port.erl"
|
|
content_template: "ActivityErlangPort"
|
|
- base_dir: "src"
|
|
file_name: "%s.erl"
|
|
content_template: "ActivityErlang"
|
|
*/
|