diff --git a/tools/goctl/goctl.go b/tools/goctl/goctl.go index 506226ab..48ea1ccf 100644 --- a/tools/goctl/goctl.go +++ b/tools/goctl/goctl.go @@ -367,6 +367,10 @@ var ( Name: "out, o", Usage: "the target path of proto", }, + cli.StringFlag{ + Name: "home", + Usage: "the goctl home path of the template", + }, }, Action: rpc.RPCTemplate, }, diff --git a/tools/goctl/rpc/cli/cli.go b/tools/goctl/rpc/cli/cli.go index 690ba4cd..ad576b49 100644 --- a/tools/goctl/rpc/cli/cli.go +++ b/tools/goctl/rpc/cli/cli.go @@ -79,6 +79,12 @@ func RPCNew(c *cli.Context) error { // RPCTemplate is the entry for generate rpc template func RPCTemplate(c *cli.Context) error { protoFile := c.String("o") + home := c.String("home") + + if len(home) > 0 { + util.RegisterGoctlHome(home) + } + if len(protoFile) == 0 { return errors.New("missing -o") }