cmd.go 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package rpc
  2. import (
  3. "github.com/spf13/cobra"
  4. "github.com/zeromicro/go-zero/tools/goctl/config"
  5. "github.com/zeromicro/go-zero/tools/goctl/internal/cobrax"
  6. "github.com/zeromicro/go-zero/tools/goctl/rpc/cli"
  7. )
  8. var (
  9. // Cmd describes a rpc command.
  10. Cmd = cobrax.NewCommand("rpc", cobrax.WithRunE(func(command *cobra.Command, strings []string) error {
  11. return cli.RPCTemplate(true)
  12. }))
  13. templateCmd = cobrax.NewCommand("template", cobrax.WithRunE(func(command *cobra.Command, strings []string) error {
  14. return cli.RPCTemplate(false)
  15. }))
  16. newCmd = cobrax.NewCommand("new", cobrax.WithRunE(cli.RPCNew), cobrax.WithArgs(cobra.MatchAll(cobra.ExactArgs(1), cobra.OnlyValidArgs)))
  17. protocCmd = cobrax.NewCommand("protoc", cobrax.WithRunE(cli.ZRPC), cobrax.WithArgs(cobra.MatchAll(cobra.ExactArgs(1), cobra.OnlyValidArgs)))
  18. )
  19. func init() {
  20. var (
  21. rpcCmdFlags = Cmd.Flags()
  22. newCmdFlags = newCmd.Flags()
  23. protocCmdFlags = protocCmd.Flags()
  24. templateCmdFlags = templateCmd.Flags()
  25. )
  26. rpcCmdFlags.StringVar(&cli.VarStringOutput, "o")
  27. rpcCmdFlags.StringVar(&cli.VarStringHome, "home")
  28. rpcCmdFlags.StringVar(&cli.VarStringRemote, "remote")
  29. rpcCmdFlags.StringVar(&cli.VarStringBranch, "branch")
  30. newCmdFlags.StringSliceVar(&cli.VarStringSliceGoOpt, "go_opt")
  31. newCmdFlags.StringSliceVar(&cli.VarStringSliceGoGRPCOpt, "go-grpc_opt")
  32. newCmdFlags.StringVarWithDefaultValue(&cli.VarStringStyle, "style", config.DefaultFormat)
  33. newCmdFlags.BoolVar(&cli.VarBoolIdea, "idea")
  34. newCmdFlags.StringVar(&cli.VarStringHome, "home")
  35. newCmdFlags.StringVar(&cli.VarStringRemote, "remote")
  36. newCmdFlags.StringVar(&cli.VarStringBranch, "branch")
  37. newCmdFlags.BoolVarP(&cli.VarBoolVerbose, "verbose", "v")
  38. newCmdFlags.MarkHidden("go_opt")
  39. newCmdFlags.MarkHidden("go-grpc_opt")
  40. newCmdFlags.BoolVarPWithDefaultValue(&cli.VarBoolClient, "client", "c", true)
  41. protocCmdFlags.BoolVarP(&cli.VarBoolMultiple, "multiple", "m")
  42. protocCmdFlags.StringSliceVar(&cli.VarStringSliceGoOut, "go_out")
  43. protocCmdFlags.StringSliceVar(&cli.VarStringSliceGoGRPCOut, "go-grpc_out")
  44. protocCmdFlags.StringSliceVar(&cli.VarStringSliceGoOpt, "go_opt")
  45. protocCmdFlags.StringSliceVar(&cli.VarStringSliceGoGRPCOpt, "go-grpc_opt")
  46. protocCmdFlags.StringSliceVar(&cli.VarStringSlicePlugin, "plugin")
  47. protocCmdFlags.StringSliceVarP(&cli.VarStringSliceProtoPath, "proto_path", "I")
  48. protocCmdFlags.StringVar(&cli.VarStringStyle, "style")
  49. protocCmdFlags.StringVar(&cli.VarStringZRPCOut, "zrpc_out")
  50. protocCmdFlags.StringVar(&cli.VarStringHome, "home")
  51. protocCmdFlags.StringVar(&cli.VarStringRemote, "remote")
  52. protocCmdFlags.StringVar(&cli.VarStringBranch, "branch")
  53. protocCmdFlags.BoolVarP(&cli.VarBoolVerbose, "verbose", "v")
  54. protocCmdFlags.MarkHidden("go_out")
  55. protocCmdFlags.MarkHidden("go-grpc_out")
  56. protocCmdFlags.MarkHidden("go_opt")
  57. protocCmdFlags.MarkHidden("go-grpc_opt")
  58. protocCmdFlags.MarkHidden("plugin")
  59. protocCmdFlags.MarkHidden("proto_path")
  60. protocCmdFlags.BoolVarPWithDefaultValue(&cli.VarBoolClient, "client", "c", true)
  61. templateCmdFlags.StringVar(&cli.VarStringOutput, "o")
  62. templateCmdFlags.StringVar(&cli.VarStringHome, "home")
  63. templateCmdFlags.StringVar(&cli.VarStringRemote, "remote")
  64. templateCmdFlags.StringVar(&cli.VarStringBranch, "branch")
  65. Cmd.AddCommand(newCmd, protocCmd, templateCmd)
  66. }