package cmd import ( "complie-erlang/worker" "fmt" "github.com/spf13/cobra" "log" ) type modSet struct{} func (m *modSet) run(cmd *cobra.Command, args []string) { if len(args) == 0 { _ = cmd.Help() return } modName := args[0] modArgs := args[1:] if err := worker.ModWorkerRun(modName, modArgs); 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.proto mod func test1.proto `, Run: singleSet.run, } 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" */