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" */