Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var CMD = func() *cli.Command { var name string // 名称 var addr string // 监听地址 var instanceID int // 实例ID return &cli.Command{ Name: "service", Usage: "create a gPRC service", Action: func(ctx *cli.Context) error { if name == "" { return errors.New("must a name") } if err := os.MkdirAll(filepath.Join("internal", "pb", "proto"), os.ModePerm); err != nil { return err } if err := createProtoFile(name); err != nil { return err } protocCmd := exec.Command("protoc", "--go_out=./internal/", "--go-grpc_out=./internal/", fmt.Sprintf("./internal/pb/proto/%s.service.proto", name)) _, err := protocCmd.Output() if err != nil { return err } if err := os.MkdirAll(filepath.Join("internal", "service", name), os.ModePerm); err != nil { return err } if err := os.MkdirAll(filepath.Join("internal", "service", name, "server"), os.ModePerm); err != nil { return err } if err := os.MkdirAll(filepath.Join("internal", "service", name, "client"), os.ModePerm); err != nil { return err } if err := createMainFile(name, addr, instanceID); err != nil { return err } if err := createServerFile(name); err != nil { return err } if err := createClientFile(name); err != nil { return err } gomodCmd := exec.Command("go", "mod", "tidy") _, err = gomodCmd.Output() if err != nil { return err } return nil }, Flags: []cli.Flag{ &cli.StringFlag{ Name: "name, n", Usage: "game server name", Destination: &name, }, &cli.StringFlag{ Name: "addr, a", Usage: "game server listen address", Destination: &addr, Value: "127.0.0.1:8080", }, &cli.IntFlag{ Name: "id, i", Usage: "game server intance id", Destination: &instanceID, Value: 1, }, }, } }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.