ソースを参照

feat: 更新api

SongZihuan 1 年間 前
コミット
68d5e5b1ca
65 ファイル変更265 行追加263 行削除
  1. 1 1
      README.md
  2. 1 1
      go.mod
  3. 1 1
      tools/goctlwt/api/apigen/gen.go
  4. 1 1
      tools/goctlwt/api/apigen/template.go
  5. 1 1
      tools/goctlwt/api/format/format_test.go
  6. 1 1
      tools/goctlwt/api/gogen/gen.go
  7. 1 1
      tools/goctlwt/api/gogen/genroutes.go
  8. 1 1
      tools/goctlwt/api/gogen/template.go
  9. 1 1
      tools/goctlwt/api/new/newservice.go
  10. 1 1
      tools/goctlwt/api/new/template.go
  11. 1 1
      tools/goctlwt/api/parser/g4/gen/api/apiparser_parser1.go
  12. 1 1
      tools/goctlwt/api/parser/g4/gen/api/apiparser_parser2.go
  13. 1 1
      tools/goctlwt/api/parser/g4/gen/api/apiparser_parser3.go
  14. 1 1
      tools/goctlwt/api/parser/g4/gen/api/apiparser_parser4.go
  15. 1 1
      tools/goctlwt/api/parser/g4/gen/api/apiparser_parser5.go
  16. 1 1
      tools/goctlwt/api/parser/g4/gen/api/apiparser_parser6.go
  17. 1 1
      tools/goctlwt/api/parser/g4/gen/api/apiparser_parser7.go
  18. 1 1
      tools/goctlwt/api/parser/g4/gen/api/apiparser_parser8.go
  19. 1 1
      tools/goctlwt/api/parser/g4/gen/api/apiparser_visitor.go
  20. 2 2
      tools/goctlwt/api/parser/g4/gen/api/file_splitor_test.go
  21. 3 3
      tools/goctlwt/api/parser/parser.go
  22. 3 3
      tools/goctlwt/bug/issue.go
  23. 1 1
      tools/goctlwt/compare/cmd/cmd.go
  24. 1 1
      tools/goctlwt/compare/compare.go
  25. 91 91
      tools/goctlwt/compare/testdata/testcase.go
  26. 6 6
      tools/goctlwt/compare/testdata/testdata.go
  27. 3 3
      tools/goctlwt/config/readme.md
  28. 1 1
      tools/goctlwt/docker/docker.go
  29. 14 14
      tools/goctlwt/env/check.go
  30. 1 1
      tools/goctlwt/example/rpc/hello/client/greet/greet.go
  31. 1 1
      tools/goctlwt/example/rpc/hello/internal/server/greet/greetserver.go
  32. 1 1
      tools/goctlwt/example/rpc/hi/client/event/event.go
  33. 1 1
      tools/goctlwt/example/rpc/hi/client/greet/greet.go
  34. 1 1
      tools/goctlwt/example/rpc/hi/internal/server/event/eventserver.go
  35. 1 1
      tools/goctlwt/example/rpc/hi/internal/server/greet/greetserver.go
  36. 1 1
      tools/goctlwt/gateway/template.go
  37. 4 2
      tools/goctlwt/go.mod
  38. 48 48
      tools/goctlwt/go.sum
  39. 1 1
      tools/goctlwt/goctlwt.go
  40. 4 4
      tools/goctlwt/internal/errorx/errorx.go
  41. 3 3
      tools/goctlwt/internal/version/version.go
  42. 1 1
      tools/goctlwt/kube/kube.go
  43. 1 1
      tools/goctlwt/migrate/mod.go
  44. 2 2
      tools/goctlwt/model/mongo/mongo.go
  45. 2 2
      tools/goctlwt/model/mongo/readme.md
  46. 8 8
      tools/goctlwt/model/sql/README.MD
  47. 1 1
      tools/goctlwt/model/sql/command/command.go
  48. 2 2
      tools/goctlwt/model/sql/command/migrationnotes/v1.3.4.go
  49. 1 1
      tools/goctlwt/model/sql/command/migrationnotes/v1.3.4_test.go
  50. 1 1
      tools/goctlwt/pkg/env/env.go
  51. 1 1
      tools/goctlwt/plugin/plugin.go
  52. 1 1
      tools/goctlwt/quickstart/micro.go
  53. 9 9
      tools/goctlwt/rpc/README.md
  54. 2 2
      tools/goctlwt/rpc/cli/cli.go
  55. 1 1
      tools/goctlwt/rpc/cli/zrpc.go
  56. 1 1
      tools/goctlwt/rpc/generator/genpb.go
  57. 1 1
      tools/goctlwt/rpc/generator/template.go
  58. 1 1
      tools/goctlwt/test/integration/model/mongo/Dockerfile
  59. 4 4
      tools/goctlwt/test/integration/model/mongo/mongo.sh
  60. 1 1
      tools/goctlwt/test/main.sh
  61. 1 1
      tools/goctlwt/update/config/config.go
  62. 1 1
      tools/goctlwt/update/update.go
  63. 3 3
      tools/goctlwt/upgrade/upgrade.go
  64. 1 1
      tools/goctlwt/util/head.go
  65. 7 7
      tools/goctlwt/util/pathx/file.go

+ 1 - 1
README.md

@@ -4,5 +4,5 @@
 新增若干功能  
 
 ## 开源项目
-[go-zero](https://github.com/zeromicro/go-zero)  
+[go-zero](https://github.com/wuntsong-org/go-zero-plus)  
 [go-zero-superh](https://github.com/SuperH-0630/go-zero)  

+ 1 - 1
go.mod

@@ -123,4 +123,4 @@ require (
 	sigs.k8s.io/yaml v1.3.0 // indirect
 )
 
-replace github.com/zeromicro/go-zero => ./
+replace github.com/wuntsong-org/go-zero-plus => ./

+ 1 - 1
tools/goctlwt/api/apigen/gen.go

@@ -20,7 +20,7 @@ var apiTemplate string
 var (
 	// VarStringOutput describes the output.
 	VarStringOutput string
-	// VarStringHome describes the goctlwt home.
+	// VarStringHome describes the goctl home.
 	VarStringHome string
 	// VarStringRemote describes the remote git repository.
 	VarStringRemote string

+ 1 - 1
tools/goctlwt/api/apigen/template.go

@@ -39,7 +39,7 @@ func RevertTemplate(name string) error {
 	return pathx.CreateTemplate(category, name, content)
 }
 
-// Update updates the template files to the templates built in current goctlwt.
+// Update updates the template files to the templates built in current goctl.
 func Update() error {
 	err := Clean()
 	if err != nil {

+ 1 - 1
tools/goctlwt/api/format/format_test.go

@@ -62,7 +62,7 @@ func TestFormat(t *testing.T) {
 }
 
 func Test_apiFormatReader_issue1721(t *testing.T) {
-	dir, err := os.MkdirTemp("", "goctlwt-api-format")
+	dir, err := os.MkdirTemp("", "goctl-api-format")
 	require.NoError(t, err)
 	defer os.RemoveAll(dir)
 	subDir := path.Join(dir, "sub")

+ 1 - 1
tools/goctlwt/api/gogen/gen.go

@@ -26,7 +26,7 @@ import (
 const tmpFile = "%s-%d"
 
 var (
-	tmpDir = path.Join(os.TempDir(), "goctlwt")
+	tmpDir = path.Join(os.TempDir(), "goctl")
 	// VarStringDir describes the directory.
 	VarStringDir string
 	// VarStringAPI describes the API.

+ 1 - 1
tools/goctlwt/api/gogen/genroutes.go

@@ -21,7 +21,7 @@ import (
 const (
 	jwtTransKey    = "jwtTransition"
 	routesFilename = "routes"
-	routesTemplate = `// Code generated by goctlwt. DO NOT EDIT.
+	routesTemplate = `// Code generated by goctl. DO NOT EDIT.
 package handler
 
 import (

+ 1 - 1
tools/goctlwt/api/gogen/template.go

@@ -57,7 +57,7 @@ func RevertTemplate(name string) error {
 	return pathx.CreateTemplate(category, name, content)
 }
 
-// Update updates the template files to the templates built in current goctlwt.
+// Update updates the template files to the templates built in current goctl.
 func Update() error {
 	err := Clean()
 	if err != nil {

+ 1 - 1
tools/goctlwt/api/new/newservice.go

@@ -19,7 +19,7 @@ import (
 var apiTemplate string
 
 var (
-	// VarStringHome describes the goctlwt home.
+	// VarStringHome describes the goctl home.
 	VarStringHome string
 	// VarStringRemote describes the remote git repository.
 	VarStringRemote string

+ 1 - 1
tools/goctlwt/api/new/template.go

@@ -39,7 +39,7 @@ func RevertTemplate(name string) error {
 	return pathx.CreateTemplate(category, name, content)
 }
 
-// Update updates the template files to the templates built in current goctlwt.
+// Update updates the template files to the templates built in current goctl.
 func Update() error {
 	err := Clean()
 	if err != nil {

+ 1 - 1
tools/goctlwt/api/parser/g4/gen/api/apiparser_parser1.go

@@ -8,7 +8,7 @@ import (
 
 // Part 1
 // The apiparser_parser.go file was split into multiple files because it
-// was too large and caused a possible memory overflow during goctlwt installation.
+// was too large and caused a possible memory overflow during goctl installation.
 
 func (s *SyntaxLitContext) STRING() antlr.TerminalNode {
 	return s.GetToken(ApiParserParserSTRING, 0)

+ 1 - 1
tools/goctlwt/api/parser/g4/gen/api/apiparser_parser2.go

@@ -8,7 +8,7 @@ import (
 
 // Part 2
 // The apiparser_parser.go file was split into multiple files because it
-// was too large and caused a possible memory overflow during goctlwt installation.
+// was too large and caused a possible memory overflow during goctl installation.
 
 type InfoSpecContext struct {
 	*antlr.BaseParserRuleContext

+ 1 - 1
tools/goctlwt/api/parser/g4/gen/api/apiparser_parser3.go

@@ -8,7 +8,7 @@ import (
 
 // Part 3
 // The apiparser_parser.go file was split into multiple files because it
-// was too large and caused a possible memory overflow during goctlwt installation.
+// was too large and caused a possible memory overflow during goctl installation.
 
 // ITypeBlockBodyContext is an interface to support dynamic dispatch.
 type ITypeBlockBodyContext interface {

+ 1 - 1
tools/goctlwt/api/parser/g4/gen/api/apiparser_parser4.go

@@ -8,7 +8,7 @@ import (
 
 // Part 4
 // The apiparser_parser.go file was split into multiple files because it
-// was too large and caused a possible memory overflow during goctlwt installation.
+// was too large and caused a possible memory overflow during goctl installation.
 
 // ITypeBlockAliasContext is an interface to support dynamic dispatch.
 type ITypeBlockAliasContext interface {

+ 1 - 1
tools/goctlwt/api/parser/g4/gen/api/apiparser_parser5.go

@@ -8,7 +8,7 @@ import (
 
 // Part 5
 // The apiparser_parser.go file was split into multiple files because it
-// was too large and caused a possible memory overflow during goctlwt installation.
+// was too large and caused a possible memory overflow during goctl installation.
 
 func (p *ApiParserParser) DataType() (localctx IDataTypeContext) {
 	localctx = NewDataTypeContext(p, p.GetParserRuleContext(), p.GetState())

+ 1 - 1
tools/goctlwt/api/parser/g4/gen/api/apiparser_parser6.go

@@ -8,7 +8,7 @@ import (
 
 // Part 6
 // The apiparser_parser.go file was split into multiple files because it
-// was too large and caused a possible memory overflow during goctlwt installation.
+// was too large and caused a possible memory overflow during goctl installation.
 
 type AtServerContext struct {
 	*antlr.BaseParserRuleContext

+ 1 - 1
tools/goctlwt/api/parser/g4/gen/api/apiparser_parser7.go

@@ -8,7 +8,7 @@ import (
 
 // Part 7
 // The apiparser_parser.go file was split into multiple files because it
-// was too large and caused a possible memory overflow during goctlwt installation.
+// was too large and caused a possible memory overflow during goctl installation.
 
 // IAtHandlerContext is an interface to support dynamic dispatch.
 type IAtHandlerContext interface {

+ 1 - 1
tools/goctlwt/api/parser/g4/gen/api/apiparser_parser8.go

@@ -9,7 +9,7 @@ import (
 
 // Part 8
 // The apiparser_parser.go file was split into multiple files because it
-// was too large and caused a possible memory overflow during goctlwt installation.
+// was too large and caused a possible memory overflow during goctl installation.
 
 func (s *KvLitContext) Accept(visitor antlr.ParseTreeVisitor) any {
 	switch t := visitor.(type) {

+ 1 - 1
tools/goctlwt/api/parser/g4/gen/api/apiparser_visitor.go

@@ -1,4 +1,4 @@
-// Code generated from C:/Users/keson/GolandProjects/go-zero/tools/goctlwt/api/parser/g4\ApiParser.g4 by ANTLR 4.9. DO NOT EDIT.
+// Code generated from C:/Users/keson/GolandProjects/go-zero/tools/goctl/api/parser/g4\ApiParser.g4 by ANTLR 4.9. DO NOT EDIT.
 
 package api // ApiParser
 import "github.com/zeromicro/antlr"

+ 2 - 2
tools/goctlwt/api/parser/g4/gen/api/file_splitor_test.go

@@ -1,7 +1,7 @@
 // DO NOT EDIT.
 // Tool: split apiparser_parser.go
 // The apiparser_parser.go file was split into multiple files because it
-// was too large and caused a possible memory overflow during goctlwt installation.
+// was too large and caused a possible memory overflow during goctl installation.
 package api
 
 import (
@@ -42,7 +42,7 @@ import "github.com/zeromicro/antlr"
 
 // Part %s
 // The apiparser_parser.go file was split into multiple files because it
-// was too large and caused a possible memory overflow during goctlwt installation.
+// was too large and caused a possible memory overflow during goctl installation.
 `, part))
 		}
 

+ 3 - 3
tools/goctlwt/api/parser/parser.go

@@ -17,7 +17,7 @@ type parser struct {
 	spec *spec.ApiSpec
 }
 
-// Depreacted: use tools/goctlwt/pkg/parser/api/parser/parser.go:18 instead,
+// Depreacted: use tools/goctl/pkg/parser/api/parser/parser.go:18 instead,
 // it will be removed in the future.
 // Parse parses the api file.
 func Parse(filename string) (*spec.ApiSpec, error) {
@@ -63,14 +63,14 @@ func parseContent(content string, skipCheckTypeDeclaration bool, filename ...str
 	return apiSpec, nil
 }
 
-// Depreacted: use tools/goctlwt/pkg/parser/api/parser/parser.go:18 instead,
+// Depreacted: use tools/goctl/pkg/parser/api/parser/parser.go:18 instead,
 // it will be removed in the future.
 // ParseContent parses the api content
 func ParseContent(content string, filename ...string) (*spec.ApiSpec, error) {
 	return parseContent(content, false, filename...)
 }
 
-// Depreacted: use tools/goctlwt/pkg/parser/api/parser/parser.go:18 instead,
+// Depreacted: use tools/goctl/pkg/parser/api/parser/parser.go:18 instead,
 // it will be removed in the future.
 // ParseContentWithParserSkipCheckTypeDeclaration parses the api content with skip check type declaration
 func ParseContentWithParserSkipCheckTypeDeclaration(content string, filename ...string) (*spec.ApiSpec, error) {

+ 3 - 3
tools/goctlwt/bug/issue.go

@@ -3,14 +3,14 @@ package bug
 const issueTemplate = `
 <!-- Please answer these questions before submitting your issue. Thanks! -->
 
-### What category of issue (<code>goctlwt</code> or <code>sdk</code>)?
+### What category of issue (<code>goctl</code> or <code>sdk</code>)?
 
 ### What type of issue (<code>feature</code>|<code>bug</code>|<code>suggestion</code>)?
 
-### What version of Goctl are you using (<code>goctlwt --version</code>)?
+### What version of Goctl are you using (<code>goctl --version</code>)?
 
 <pre>
-$ goctlwt --version
+$ goctl --version
 %s
 </pre>
 

+ 1 - 1
tools/goctlwt/compare/cmd/cmd.go

@@ -8,7 +8,7 @@ import (
 
 var rootCmd = &cobra.Command{
 	Use:   "compare",
-	Short: "Compare the goctlwt commands generated results between urfave and cobra",
+	Short: "Compare the goctl commands generated results between urfave and cobra",
 	Args:  cobra.MatchAll(cobra.ExactArgs(1), cobra.OnlyValidArgs),
 	Run: func(cmd *cobra.Command, args []string) {
 		dir := args[0]

+ 1 - 1
tools/goctlwt/compare/compare.go

@@ -2,7 +2,7 @@ package main
 
 import "github.com/wuntsong-org/go-zero-plus/tools/goctlwt/compare/cmd"
 
-// EXPERIMENTAL: compare goctlwt generated code results between old and new, it will be removed in the feature.
+// EXPERIMENTAL: compare goctl generated code results between old and new, it will be removed in the feature.
 // TODO: BEFORE RUNNING: export DSN=$datasource, the database must be gozero, and there has no limit for tables.
 // TODO: AFTER RUNNING: diff --recursive old_fs new_fs
 

+ 91 - 91
tools/goctlwt/compare/testdata/testcase.go

@@ -14,457 +14,457 @@ var (
 		{
 			IsDir: true,
 			Path:  "version",
-			Cmd:   "goctlwt --version",
+			Cmd:   "goctl --version",
 		},
 		{
 			IsDir: true,
 			Path:  "api/sample_file/local",
-			Cmd:   "goctlwt api --o sample.api",
+			Cmd:   "goctl api --o sample.api",
 		},
 		{
 			IsDir: true,
 			Path:  "api/sample_file/local/assign",
-			Cmd:   "goctlwt api --o=sample.api",
+			Cmd:   "goctl api --o=sample.api",
 		},
 		{
 			IsDir: true,
 			Path:  "api/sample_file/local/assign/shorthand",
-			Cmd:   "goctlwt api -o=sample.api",
+			Cmd:   "goctl api -o=sample.api",
 		},
 		{
 			IsDir: true,
 			Path:  "api/sample_file/remote",
-			Cmd:   "goctlwt api --o sample.api --remote https://github.com/wuntsong-org/go-zero-plus-template --branch main",
+			Cmd:   "goctl api --o sample.api --remote https://github.com/wuntsong-org/go-zero-plus-template --branch main",
 		},
 		{
 			IsDir: true,
 			Path:  "api/sample_file/remote/shorthand",
-			Cmd:   "goctlwt api -o sample.api -remote https://github.com/wuntsong-org/go-zero-plus-template -branch main",
+			Cmd:   "goctl api -o sample.api -remote https://github.com/wuntsong-org/go-zero-plus-template -branch main",
 		},
 		{
 			IsDir: true,
 			Path:  "api/sample_file/remote/assign",
-			Cmd:   "goctlwt api --o=sample.api --remote https://github.com/wuntsong-org/go-zero-plus-template --branch=main",
+			Cmd:   "goctl api --o=sample.api --remote https://github.com/wuntsong-org/go-zero-plus-template --branch=main",
 		},
 		{
 			IsDir: true,
 			Path:  "api/sample_file/remote/assign/shorthand",
-			Cmd:   "goctlwt api -o=sample.api -remote https://github.com/wuntsong-org/go-zero-plus-template -branch=main",
+			Cmd:   "goctl api -o=sample.api -remote https://github.com/wuntsong-org/go-zero-plus-template -branch=main",
 		},
 		{
 			IsDir: true,
 			Path:  "api/dart/legacy/true",
-			Cmd:   "goctlwt api --o sample.api && goctlwt api dart --api sample.api --dir . --hostname 127.0.0.1 --legacy true",
+			Cmd:   "goctl api --o sample.api && goctl api dart --api sample.api --dir . --hostname 127.0.0.1 --legacy true",
 		},
 		{
 			IsDir: true,
 			Path:  "api/dart/legacy/true/shorthand",
-			Cmd:   "goctlwt api -o sample.api && goctlwt api dart -api sample.api -dir . -hostname 127.0.0.1 -legacy true",
+			Cmd:   "goctl api -o sample.api && goctl api dart -api sample.api -dir . -hostname 127.0.0.1 -legacy true",
 		},
 		{
 			IsDir: true,
 			Path:  "api/dart/legacy/true/assign",
-			Cmd:   "goctlwt api --o=sample.api && goctlwt api dart --api=sample.api --dir=. --hostname=127.0.0.1 --legacy=true",
+			Cmd:   "goctl api --o=sample.api && goctl api dart --api=sample.api --dir=. --hostname=127.0.0.1 --legacy=true",
 		},
 		{
 			IsDir: true,
 			Path:  "api/dart/legacy/true/assign/shorthand",
-			Cmd:   "goctlwt api -o=sample.api && goctlwt api dart -api=sample.api -dir=. -hostname=127.0.0.1 -legacy=true",
+			Cmd:   "goctl api -o=sample.api && goctl api dart -api=sample.api -dir=. -hostname=127.0.0.1 -legacy=true",
 		},
 		{
 			IsDir: true,
 			Path:  "api/dart/legacy/false",
-			Cmd:   "goctlwt api --o sample.api && goctlwt api dart --api sample.api --dir . --hostname 127.0.0.1 --legacy true",
+			Cmd:   "goctl api --o sample.api && goctl api dart --api sample.api --dir . --hostname 127.0.0.1 --legacy true",
 		},
 		{
 			IsDir: true,
 			Path:  "api/dart/legacy/false/shorthand",
-			Cmd:   "goctlwt api -o sample.api && goctlwt api dart -api sample.api -dir . -hostname 127.0.0.1 -legacy true",
+			Cmd:   "goctl api -o sample.api && goctl api dart -api sample.api -dir . -hostname 127.0.0.1 -legacy true",
 		},
 		{
 			IsDir: true,
 			Path:  "api/dart/legacy/false/assign",
-			Cmd:   "goctlwt api --o=sample.api && goctlwt api dart --api=sample.api --dir=. --hostname=127.0.0.1 --legacy=true",
+			Cmd:   "goctl api --o=sample.api && goctl api dart --api=sample.api --dir=. --hostname=127.0.0.1 --legacy=true",
 		},
 		{
 			IsDir: true,
 			Path:  "api/dart/legacy/false/assign/shorthand",
-			Cmd:   "goctlwt api -o=sample.api && goctlwt api dart -api=sample.api -dir=. -hostname=127.0.0.1 -legacy=true",
+			Cmd:   "goctl api -o=sample.api && goctl api dart -api=sample.api -dir=. -hostname=127.0.0.1 -legacy=true",
 		},
 		{
 			IsDir: true,
 			Path:  "api/doc",
-			Cmd:   "goctlwt api --o sample.api && goctlwt api doc --dir . --o .",
+			Cmd:   "goctl api --o sample.api && goctl api doc --dir . --o .",
 		},
 		{
 			IsDir: true,
 			Path:  "api/doc/shorthand",
-			Cmd:   "goctlwt api -o sample.api && goctlwt api doc -dir . -o .",
+			Cmd:   "goctl api -o sample.api && goctl api doc -dir . -o .",
 		},
 		{
 			IsDir: true,
 			Path:  "api/doc/assign",
-			Cmd:   "goctlwt api --o=sample.api && goctlwt api doc --dir=. --o=.",
+			Cmd:   "goctl api --o=sample.api && goctl api doc --dir=. --o=.",
 		},
 		{
 			IsDir: true,
 			Path:  "api/doc/assign/shorthand",
-			Cmd:   "goctlwt api -o=sample.api && goctlwt api doc -dir=. -o=.",
+			Cmd:   "goctl api -o=sample.api && goctl api doc -dir=. -o=.",
 		},
 		{
 			Path:    "api/format/unformat.api",
 			Content: unformatApi,
-			Cmd:     "goctlwt api format --dir . --iu",
+			Cmd:     "goctl api format --dir . --iu",
 		},
 		{
 			Path:    "api/format/shorthand/unformat.api",
 			Content: unformatApi,
-			Cmd:     "goctlwt api format -dir . -iu",
+			Cmd:     "goctl api format -dir . -iu",
 		},
 		{
 			Path:    "api/format/assign/unformat.api",
 			Content: unformatApi,
-			Cmd:     "goctlwt api format --dir=. --iu",
+			Cmd:     "goctl api format --dir=. --iu",
 		},
 		{
 			Path:    "api/format/assign/shorthand/unformat.api",
 			Content: unformatApi,
-			Cmd:     "goctlwt api format -dir=. -iu",
+			Cmd:     "goctl api format -dir=. -iu",
 		},
 		{
 			IsDir: true,
 			Path:  "api/go/style/default",
-			Cmd:   "goctlwt api --o sample.api && goctlwt api go --api sample.api --dir .",
+			Cmd:   "goctl api --o sample.api && goctl api go --api sample.api --dir .",
 		},
 		{
 			IsDir: true,
 			Path:  "api/go/style/default/shorthand",
-			Cmd:   "goctlwt api -o sample.api && goctlwt api go -api sample.api -dir .",
+			Cmd:   "goctl api -o sample.api && goctl api go -api sample.api -dir .",
 		},
 		{
 			IsDir: true,
 			Path:  "api/go/style/assign/default",
-			Cmd:   "goctlwt api --o=sample.api && goctlwt api go --api=sample.api --dir=.",
+			Cmd:   "goctl api --o=sample.api && goctl api go --api=sample.api --dir=.",
 		},
 		{
 			IsDir: true,
 			Path:  "api/go/style/assign/default/shorthand",
-			Cmd:   "goctlwt api -o=sample.api && goctlwt api go -api=sample.api -dir=.",
+			Cmd:   "goctl api -o=sample.api && goctl api go -api=sample.api -dir=.",
 		},
 		{
 			IsDir: true,
 			Path:  "api/go/style/goZero",
-			Cmd:   "goctlwt api --o sample.api && goctlwt api go --api sample.api --dir . --style goZero",
+			Cmd:   "goctl api --o sample.api && goctl api go --api sample.api --dir . --style goZero",
 		},
 		{
 			IsDir: true,
 			Path:  "api/go/style/goZero/shorthand",
-			Cmd:   "goctlwt api -o sample.api && goctlwt api go -api sample.api -dir . -style goZero",
+			Cmd:   "goctl api -o sample.api && goctl api go -api sample.api -dir . -style goZero",
 		},
 		{
 			IsDir: true,
 			Path:  "api/go/style/goZero/assign",
-			Cmd:   "goctlwt api --o=sample.api && goctlwt api go --api=sample.api --dir=. --style=goZero",
+			Cmd:   "goctl api --o=sample.api && goctl api go --api=sample.api --dir=. --style=goZero",
 		},
 		{
 			IsDir: true,
 			Path:  "api/go/style/goZero/assign/shorthand",
-			Cmd:   "goctlwt api -o=sample.api && goctlwt api go -api=sample.api -dir=. -style=goZero",
+			Cmd:   "goctl api -o=sample.api && goctl api go -api=sample.api -dir=. -style=goZero",
 		},
 		{
 			IsDir: true,
 			Path:  "api/java",
-			Cmd:   "goctlwt api --o sample.api && goctlwt api java --api sample.api --dir .",
+			Cmd:   "goctl api --o sample.api && goctl api java --api sample.api --dir .",
 		},
 		{
 			IsDir: true,
 			Path:  "api/java/shorthand",
-			Cmd:   "goctlwt api -o sample.api && goctlwt api java -api sample.api -dir .",
+			Cmd:   "goctl api -o sample.api && goctl api java -api sample.api -dir .",
 		},
 		{
 			IsDir: true,
 			Path:  "api/java/assign",
-			Cmd:   "goctlwt api --o=sample.api && goctlwt api java --api=sample.api --dir=.",
+			Cmd:   "goctl api --o=sample.api && goctl api java --api=sample.api --dir=.",
 		},
 		{
 			IsDir: true,
 			Path:  "api/java/shorthand/assign",
-			Cmd:   "goctlwt api -o=sample.api && goctlwt api java -api=sample.api -dir=.",
+			Cmd:   "goctl api -o=sample.api && goctl api java -api=sample.api -dir=.",
 		},
 		{
 			IsDir: true,
 			Path:  "api/new/style/default",
-			Cmd:   "goctlwt api new greet",
+			Cmd:   "goctl api new greet",
 		},
 		{
 			IsDir: true,
 			Path:  "api/new/style/goZero",
-			Cmd:   "goctlwt api new greet --style goZero",
+			Cmd:   "goctl api new greet --style goZero",
 		},
 		{
 			IsDir: true,
 			Path:  "api/new/style/goZero/assign",
-			Cmd:   "goctlwt api new greet --style=goZero",
+			Cmd:   "goctl api new greet --style=goZero",
 		},
 		{
 			IsDir: true,
 			Path:  "api/new/style/goZero/shorthand",
-			Cmd:   "goctlwt api new greet -style goZero",
+			Cmd:   "goctl api new greet -style goZero",
 		},
 		{
 			IsDir: true,
 			Path:  "api/new/style/goZero/shorthand/assign",
-			Cmd:   "goctlwt api new greet -style=goZero",
+			Cmd:   "goctl api new greet -style=goZero",
 		},
 		{
 			IsDir: true,
 			Path:  "api/ts",
-			Cmd:   "goctlwt api --o sample.api && goctlwt api ts --api sample.api --dir . --unwrap --webapi .",
+			Cmd:   "goctl api --o sample.api && goctl api ts --api sample.api --dir . --unwrap --webapi .",
 		},
 		{
 			IsDir: true,
 			Path:  "api/ts/shorthand",
-			Cmd:   "goctlwt api -o sample.api && goctlwt api ts -api sample.api -dir . -unwrap -webapi .",
+			Cmd:   "goctl api -o sample.api && goctl api ts -api sample.api -dir . -unwrap -webapi .",
 		},
 		{
 			IsDir: true,
 			Path:  "api/ts/assign",
-			Cmd:   "goctlwt api --o=sample.api && goctlwt api ts --api=sample.api --dir=. --unwrap --webapi=.",
+			Cmd:   "goctl api --o=sample.api && goctl api ts --api=sample.api --dir=. --unwrap --webapi=.",
 		},
 		{
 			IsDir: true,
 			Path:  "api/ts/shorthand/assign",
-			Cmd:   "goctlwt api -o=sample.api && goctlwt api ts -api=sample.api -dir=. -unwrap -webapi=.",
+			Cmd:   "goctl api -o=sample.api && goctl api ts -api=sample.api -dir=. -unwrap -webapi=.",
 		},
 		{
 			IsDir: true,
 			Path:  "api/validate",
-			Cmd:   "goctlwt api --o sample.api && goctlwt api validate --api sample.api",
+			Cmd:   "goctl api --o sample.api && goctl api validate --api sample.api",
 		},
 		{
 			IsDir: true,
 			Path:  "api/validate/shorthand",
-			Cmd:   "goctlwt api -o sample.api && goctlwt api validate -api sample.api",
+			Cmd:   "goctl api -o sample.api && goctl api validate -api sample.api",
 		},
 		{
 			IsDir: true,
 			Path:  "api/validate/assign",
-			Cmd:   "goctlwt api --o=sample.api && goctlwt api validate --api=sample.api",
+			Cmd:   "goctl api --o=sample.api && goctl api validate --api=sample.api",
 		},
 		{
 			IsDir: true,
 			Path:  "api/validate/shorthand/assign",
-			Cmd:   "goctlwt api -o=sample.api && goctlwt api validate -api=sample.api",
+			Cmd:   "goctl api -o=sample.api && goctl api validate -api=sample.api",
 		},
 		{
 			IsDir: true,
 			Path:  "env/show",
-			Cmd:   "goctlwt env > env.txt",
+			Cmd:   "goctl env > env.txt",
 		},
 		{
 			IsDir: true,
 			Path:  "env/check",
-			Cmd:   "goctlwt env check -f -v",
+			Cmd:   "goctl env check -f -v",
 		},
 		{
 			IsDir: true,
 			Path:  "env/install",
-			Cmd:   "goctlwt env install -v",
+			Cmd:   "goctl env install -v",
 		},
 		{
 			IsDir: true,
 			Path:  "kube",
-			Cmd:   "goctlwt kube deploy --image alpine --name foo --namespace foo --o foo.yaml --port 8888",
+			Cmd:   "goctl kube deploy --image alpine --name foo --namespace foo --o foo.yaml --port 8888",
 		},
 		{
 			IsDir: true,
 			Path:  "kube/shorthand",
-			Cmd:   "goctlwt kube deploy -image alpine -name foo -namespace foo -o foo.yaml -port 8888",
+			Cmd:   "goctl kube deploy -image alpine -name foo -namespace foo -o foo.yaml -port 8888",
 		},
 		{
 			IsDir: true,
 			Path:  "kube/assign",
-			Cmd:   "goctlwt kube deploy --image=alpine --name=foo --namespace=foo --o=foo.yaml --port=8888",
+			Cmd:   "goctl kube deploy --image=alpine --name=foo --namespace=foo --o=foo.yaml --port=8888",
 		},
 		{
 			IsDir: true,
 			Path:  "kube/shorthand/assign",
-			Cmd:   "goctlwt kube deploy -image=alpine -name=foo -namespace=foo -o=foo.yaml -port=8888",
+			Cmd:   "goctl kube deploy -image=alpine -name=foo -namespace=foo -o=foo.yaml -port=8888",
 		},
 		{
 			IsDir: true,
 			Path:  "model/mongo/cache",
-			Cmd:   "goctlwt model mongo --dir . --type user --style goZero -c",
+			Cmd:   "goctl model mongo --dir . --type user --style goZero -c",
 		},
 		{
 			IsDir: true,
 			Path:  "model/mongo/cache/shorthand",
-			Cmd:   "goctlwt model mongo -dir . -type user -style goZero -c",
+			Cmd:   "goctl model mongo -dir . -type user -style goZero -c",
 		},
 		{
 			IsDir: true,
 			Path:  "model/mongo/cache/assign",
-			Cmd:   "goctlwt model mongo --dir=. --type=user --style=goZero -c",
+			Cmd:   "goctl model mongo --dir=. --type=user --style=goZero -c",
 		},
 		{
 			IsDir: true,
 			Path:  "model/mongo/cache/shorthand/assign",
-			Cmd:   "goctlwt model mongo -dir=. -type=user -style=goZero -c",
+			Cmd:   "goctl model mongo -dir=. -type=user -style=goZero -c",
 		},
 		{
 			IsDir: true,
 			Path:  "model/mongo/nocache",
-			Cmd:   "goctlwt model mongo --dir . --type user",
+			Cmd:   "goctl model mongo --dir . --type user",
 		},
 		{
 			IsDir: true,
 			Path:  "model/mongo/nocache/shorthand",
-			Cmd:   "goctlwt model mongo -dir . -type user",
+			Cmd:   "goctl model mongo -dir . -type user",
 		},
 		{
 			IsDir: true,
 			Path:  "model/mongo/nocache/assign",
-			Cmd:   "goctlwt model mongo --dir=. --type=user",
+			Cmd:   "goctl model mongo --dir=. --type=user",
 		},
 		{
 			IsDir: true,
 			Path:  "model/mongo/nocache/shorthand/assign",
-			Cmd:   "goctlwt model mongo -dir=. -type=user",
+			Cmd:   "goctl model mongo -dir=. -type=user",
 		},
 		{
 			Content: userSql,
 			Path:    "model/mysql/ddl/user.sql",
-			Cmd:     "goctlwt model mysql ddl --database user --dir cache --src user.sql -c",
+			Cmd:     "goctl model mysql ddl --database user --dir cache --src user.sql -c",
 		},
 		{
 			Content: userSql,
 			Path:    "model/mysql/ddl/shorthand/user.sql",
-			Cmd:     "goctlwt model mysql ddl -database user -dir cache -src user.sql -c",
+			Cmd:     "goctl model mysql ddl -database user -dir cache -src user.sql -c",
 		},
 		{
 			Content: userSql,
 			Path:    "model/mysql/ddl/assign/user.sql",
-			Cmd:     "goctlwt model mysql ddl --database=user --dir=cache --src=user.sql -c",
+			Cmd:     "goctl model mysql ddl --database=user --dir=cache --src=user.sql -c",
 		},
 		{
 			Content: userSql,
 			Path:    "model/mysql/ddl/shorthand/assign/user.sql",
-			Cmd:     "goctlwt model mysql ddl -database=user -dir=cache -src=user.sql -c",
+			Cmd:     "goctl model mysql ddl -database=user -dir=cache -src=user.sql -c",
 		},
 		{
 			Content: userSql,
 			Path:    "model/mysql/ddl/user.sql",
-			Cmd:     "goctlwt model mysql ddl --database user --dir nocache --src user.sql",
+			Cmd:     "goctl model mysql ddl --database user --dir nocache --src user.sql",
 		},
 		{
 			Content: userSql,
 			Path:    "model/mysql/ddl/shorthand/user.sql",
-			Cmd:     "goctlwt model mysql ddl -database user -dir nocache -src user.sql",
+			Cmd:     "goctl model mysql ddl -database user -dir nocache -src user.sql",
 		},
 		{
 			Content: userSql,
 			Path:    "model/mysql/ddl/assign/user.sql",
-			Cmd:     "goctlwt model mysql ddl --database=user --dir=nocache --src=user.sql",
+			Cmd:     "goctl model mysql ddl --database=user --dir=nocache --src=user.sql",
 		},
 		{
 			Content: userSql,
 			Path:    "model/mysql/ddl/shorthand/assign/user.sql",
-			Cmd:     "goctlwt model mysql ddl -database=user -dir=nocache -src=user.sql",
+			Cmd:     "goctl model mysql ddl -database=user -dir=nocache -src=user.sql",
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource",
-			Cmd:   `goctlwt model mysql datasource --url $DSN --dir cache --table "*" -c`,
+			Cmd:   `goctl model mysql datasource --url $DSN --dir cache --table "*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource/shorthand",
-			Cmd:   `goctlwt model mysql datasource -url $DSN -dir cache -table "*" -c`,
+			Cmd:   `goctl model mysql datasource -url $DSN -dir cache -table "*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource/shorthand2",
-			Cmd:   `goctlwt model mysql datasource -url $DSN -dir cache -t "*" -c`,
+			Cmd:   `goctl model mysql datasource -url $DSN -dir cache -t "*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource/assign",
-			Cmd:   `goctlwt model mysql datasource --url=$DSN --dir=cache --table="*" -c`,
+			Cmd:   `goctl model mysql datasource --url=$DSN --dir=cache --table="*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource/shorthand/assign",
-			Cmd:   `goctlwt model mysql datasource -url=$DSN -dir=cache -table="*" -c`,
+			Cmd:   `goctl model mysql datasource -url=$DSN -dir=cache -table="*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource/shorthand2/assign",
-			Cmd:   `goctlwt model mysql datasource -url=$DSN -dir=cache -t="*" -c`,
+			Cmd:   `goctl model mysql datasource -url=$DSN -dir=cache -t="*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource",
-			Cmd:   `goctlwt model mysql datasource --url $DSN --dir nocache --table "*" -c`,
+			Cmd:   `goctl model mysql datasource --url $DSN --dir nocache --table "*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource/shorthand",
-			Cmd:   `goctlwt model mysql datasource -url $DSN -dir nocache -table "*" -c`,
+			Cmd:   `goctl model mysql datasource -url $DSN -dir nocache -table "*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource/shorthand2",
-			Cmd:   `goctlwt model mysql datasource -url $DSN -dir nocache -t "*" -c`,
+			Cmd:   `goctl model mysql datasource -url $DSN -dir nocache -t "*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource/assign",
-			Cmd:   `goctlwt model mysql datasource --url=$DSN --dir=nocache --table="*" -c`,
+			Cmd:   `goctl model mysql datasource --url=$DSN --dir=nocache --table="*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource/shorthand/assign",
-			Cmd:   `goctlwt model mysql datasource -url=$DSN -dir=nocache -table="*" -c`,
+			Cmd:   `goctl model mysql datasource -url=$DSN -dir=nocache -table="*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "model/mysql/datasource/shorthand2/assign",
-			Cmd:   `goctlwt model mysql datasource -url=$DSN -dir=nocache -t="*" -c`,
+			Cmd:   `goctl model mysql datasource -url=$DSN -dir=nocache -t="*" -c`,
 		},
 		{
 			IsDir: true,
 			Path:  "rpc/new",
-			Cmd:   "goctlwt rpc new greet",
+			Cmd:   "goctl rpc new greet",
 		},
 		{
 			IsDir: true,
 			Path:  "rpc/template",
-			Cmd:   "goctlwt rpc template --o greet.proto",
+			Cmd:   "goctl rpc template --o greet.proto",
 		},
 		{
 			IsDir: true,
 			Path:  "rpc/template/shorthand",
-			Cmd:   "goctlwt rpc template -o greet.proto",
+			Cmd:   "goctl rpc template -o greet.proto",
 		},
 		{
 			IsDir: true,
 			Path:  "rpc/template/assign",
-			Cmd:   "goctlwt rpc template --o=greet.proto",
+			Cmd:   "goctl rpc template --o=greet.proto",
 		},
 		{
 			IsDir: true,
 			Path:  "rpc/template/shorthand/assign",
-			Cmd:   "goctlwt rpc template -o=greet.proto",
+			Cmd:   "goctl rpc template -o=greet.proto",
 		},
 		{
 			IsDir: true,
 			Path:  "rpc/protoc",
-			Cmd:   "goctlwt rpc template --o greet.proto && goctlwt rpc protoc greet.proto --go_out . --go-grpc_out . --zrpc_out .",
+			Cmd:   "goctl rpc template --o greet.proto && goctl rpc protoc greet.proto --go_out . --go-grpc_out . --zrpc_out .",
 		},
 		{
 			IsDir: true,
 			Path:  "rpc/protoc/assign",
-			Cmd:   "goctlwt rpc template --o=greet.proto && goctlwt rpc protoc greet.proto --go_out=. --go-grpc_out=. --zrpc_out=.",
+			Cmd:   "goctl rpc template --o=greet.proto && goctl rpc protoc greet.proto --go_out=. --go-grpc_out=. --zrpc_out=.",
 		},
 	}
 )

+ 6 - 6
tools/goctlwt/compare/testdata/testdata.go

@@ -31,8 +31,8 @@ func (f File) execute(goctl string) error {
 		printDir = filepath.Dir(printDir)
 		dir = filepath.Dir(dir)
 	}
-	printCommand := strings.ReplaceAll(fmt.Sprintf("cd %s && %s", printDir, f.Cmd), "goctlwt", filepath.Base(goctl))
-	command := strings.ReplaceAll(fmt.Sprintf("cd %s && %s", dir, f.Cmd), "goctlwt", goctl)
+	printCommand := strings.ReplaceAll(fmt.Sprintf("cd %s && %s", printDir, f.Cmd), "goctl", filepath.Base(goctl))
+	command := strings.ReplaceAll(fmt.Sprintf("cd %s && %s", dir, f.Cmd), "goctl", goctl)
 	fmt.Println(color.LightGreen.Render(printCommand))
 	cmd := exec.Command("sh", "-c", command)
 	cmd.Env = os.Environ()
@@ -101,14 +101,14 @@ func mustGetTestData(baseDir string) (Files, Files) {
 
 func MustRun(baseDir string) {
 	oldFiles, newFiles := mustGetTestData(baseDir)
-	goctlOld, err := exec.LookPath("goctlwt.old")
+	goctlOld, err := exec.LookPath("goctl.old")
 	must(err)
-	goctlNew, err := exec.LookPath("goctlwt")
+	goctlNew, err := exec.LookPath("goctl")
 	must(err)
-	fmt.Println(color.LightBlue.Render("========================goctlwt.old======================="))
+	fmt.Println(color.LightBlue.Render("========================goctl.old======================="))
 	must(oldFiles.execute(goctlOld))
 	fmt.Println()
-	fmt.Println(color.LightBlue.Render("========================goctlwt.new======================="))
+	fmt.Println(color.LightBlue.Render("========================goctl.new======================="))
 	must(newFiles.execute(goctlNew))
 }
 

+ 3 - 3
tools/goctlwt/config/readme.md

@@ -37,13 +37,13 @@
 # 使用方法
 目前可通过在生成api、rpc、model时通过`--style`参数指定format格式,如:
 ```shell script
-goctlwt api go test.api -dir . -style gozero
+goctl api go test.api -dir . -style gozero
 ```
 ```shell script
- goctlwt rpc proto -src test.proto -dir . -style go_zero
+ goctl rpc proto -src test.proto -dir . -style go_zero
 ```
 ```shell script
-goctlwt model mysql datasource -url="" -table="*" -dir ./snake -style GoZero
+goctl model mysql datasource -url="" -table="*" -dir ./snake -style GoZero
 ```
 
 # 默认值

+ 1 - 1
tools/goctlwt/docker/docker.go

@@ -38,7 +38,7 @@ type Docker struct {
 	Timezone    string
 }
 
-// dockerCommand provides the entry for goctlwt docker
+// dockerCommand provides the entry for goctl docker
 func dockerCommand(_ *cobra.Command, _ []string) (err error) {
 	defer func() {
 		if err == nil {

+ 14 - 14
tools/goctlwt/env/check.go

@@ -44,46 +44,46 @@ func check(_ *cobra.Command, _ []string) error {
 func Prepare(install, force, verbose bool) error {
 	log := console.NewColorConsole(verbose)
 	pending := true
-	log.Info("[goctlwt-env]: preparing to check env")
+	log.Info("[goctl-env]: preparing to check env")
 	defer func() {
 		if p := recover(); p != nil {
 			log.Error("%+v", p)
 			return
 		}
 		if pending {
-			log.Success("\n[goctlwt-env]: congratulations! your goctlwt environment is ready!")
+			log.Success("\n[goctl-env]: congratulations! your goctl environment is ready!")
 		} else {
 			log.Error(`
-[goctlwt-env]: check env finish, some dependencies is not found in PATH, you can execute
-command 'goctlwt env check --install' to install it, for details, please execute command 
-'goctlwt env check --help'`)
+[goctl-env]: check env finish, some dependencies is not found in PATH, you can execute
+command 'goctl env check --install' to install it, for details, please execute command 
+'goctl env check --help'`)
 		}
 	}()
 	for _, e := range bins {
 		time.Sleep(200 * time.Millisecond)
 		log.Info("")
-		log.Info("[goctlwt-env]: looking up %q", e.name)
+		log.Info("[goctl-env]: looking up %q", e.name)
 		if e.exists {
-			log.Success("[goctlwt-env]: %q is installed", e.name)
+			log.Success("[goctl-env]: %q is installed", e.name)
 			continue
 		}
-		log.Warning("[goctlwt-env]: %q is not found in PATH", e.name)
+		log.Warning("[goctl-env]: %q is not found in PATH", e.name)
 		if install {
 			install := func() {
-				log.Info("[goctlwt-env]: preparing to install %q", e.name)
+				log.Info("[goctl-env]: preparing to install %q", e.name)
 				path, err := e.get(env.Get(env.GoctlCache))
 				if err != nil {
-					log.Error("[goctlwt-env]: an error interrupted the installation: %+v", err)
+					log.Error("[goctl-env]: an error interrupted the installation: %+v", err)
 					pending = false
 				} else {
-					log.Success("[goctlwt-env]: %q is already installed in %q", e.name, path)
+					log.Success("[goctl-env]: %q is already installed in %q", e.name, path)
 				}
 			}
 			if force {
 				install()
 				continue
 			}
-			console.Info("[goctlwt-env]: do you want to install %q [y: YES, n: No]", e.name)
+			console.Info("[goctl-env]: do you want to install %q [y: YES, n: No]", e.name)
 			for {
 				var in string
 				fmt.Scanln(&in)
@@ -94,10 +94,10 @@ command 'goctlwt env check --install' to install it, for details, please execute
 					brk = true
 				case strings.EqualFold(in, "n"):
 					pending = false
-					console.Info("[goctlwt-env]: %q installation is ignored", e.name)
+					console.Info("[goctl-env]: %q installation is ignored", e.name)
 					brk = true
 				default:
-					console.Error("[goctlwt-env]: invalid input, input 'y' for yes, 'n' for no")
+					console.Error("[goctl-env]: invalid input, input 'y' for yes, 'n' for no")
 				}
 				if brk {
 					break

+ 1 - 1
tools/goctlwt/example/rpc/hello/client/greet/greet.go

@@ -1,4 +1,4 @@
-// Code generated by goctlwt. DO NOT EDIT!
+// Code generated by goctl. DO NOT EDIT!
 // Source: hello.proto
 
 package client

+ 1 - 1
tools/goctlwt/example/rpc/hello/internal/server/greet/greetserver.go

@@ -1,4 +1,4 @@
-// Code generated by goctlwt. DO NOT EDIT!
+// Code generated by goctl. DO NOT EDIT!
 // Source: hello.proto
 
 package server

+ 1 - 1
tools/goctlwt/example/rpc/hi/client/event/event.go

@@ -1,4 +1,4 @@
-// Code generated by goctlwt. DO NOT EDIT!
+// Code generated by goctl. DO NOT EDIT!
 // Source: hi.proto
 
 package client

+ 1 - 1
tools/goctlwt/example/rpc/hi/client/greet/greet.go

@@ -1,4 +1,4 @@
-// Code generated by goctlwt. DO NOT EDIT!
+// Code generated by goctl. DO NOT EDIT!
 // Source: hi.proto
 
 package client

+ 1 - 1
tools/goctlwt/example/rpc/hi/internal/server/event/eventserver.go

@@ -1,4 +1,4 @@
-// Code generated by goctlwt. DO NOT EDIT!
+// Code generated by goctl. DO NOT EDIT!
 // Source: hi.proto
 
 package server

+ 1 - 1
tools/goctlwt/example/rpc/hi/internal/server/greet/greetserver.go

@@ -1,4 +1,4 @@
-// Code generated by goctlwt. DO NOT EDIT!
+// Code generated by goctl. DO NOT EDIT!
 // Source: hi.proto
 
 package server

+ 1 - 1
tools/goctlwt/gateway/template.go

@@ -24,7 +24,7 @@ var templates = map[string]string{
 	mainTemplateFile:    mainTemplate,
 }
 
-// GenTemplates is the entry for command goctlwt template,
+// GenTemplates is the entry for command goctl template,
 // it will create the specified category
 func GenTemplates() error {
 	return pathx.InitTemplates(category, templates)

+ 4 - 2
tools/goctlwt/go.mod

@@ -1,4 +1,4 @@
-module github.com/wuntsong-org/go-zero-plus/tools/goctlwt
+module github.com/wuntsong-org/go-zero-plus/tools/goctlwtwt
 
 go 1.21
 
@@ -16,6 +16,7 @@ require (
 	github.com/stretchr/testify v1.8.4
 	github.com/withfig/autocomplete-tools/integrations/cobra v1.2.1
 	github.com/wuntsong-org/go-zero-plus v1.5.0
+	github.com/wuntsong-org/go-zero-plus/tools/goctlwt v0.0.0-20231214074533-4b2d014bef4f
 	github.com/zeromicro/antlr v0.0.1
 	github.com/zeromicro/ddl-parser v1.0.5
 	golang.org/x/text v0.14.0
@@ -36,7 +37,6 @@ require (
 	github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
 	github.com/emicklei/go-restful/v3 v3.11.0 // indirect
 	github.com/fatih/color v1.16.0 // indirect
-	github.com/fsnotify/fsnotify v1.6.0 // indirect
 	github.com/go-logr/logr v1.3.0 // indirect
 	github.com/go-logr/stdr v1.2.2 // indirect
 	github.com/go-openapi/jsonpointer v0.19.6 // indirect
@@ -55,6 +55,7 @@ require (
 	github.com/jackc/pgpassfile v1.0.0 // indirect
 	github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect
 	github.com/jackc/pgx/v5 v5.5.1 // indirect
+	github.com/jackc/puddle/v2 v2.2.1 // indirect
 	github.com/josharian/intern v1.0.0 // indirect
 	github.com/json-iterator/go v1.1.12 // indirect
 	github.com/logrusorgru/aurora v2.0.3+incompatible // indirect
@@ -96,6 +97,7 @@ require (
 	golang.org/x/crypto v0.16.0 // indirect
 	golang.org/x/net v0.19.0 // indirect
 	golang.org/x/oauth2 v0.12.0 // indirect
+	golang.org/x/sync v0.3.0 // indirect
 	golang.org/x/sys v0.15.0 // indirect
 	golang.org/x/term v0.15.0 // indirect
 	golang.org/x/time v0.5.0 // indirect

+ 48 - 48
tools/goctlwt/go.sum

@@ -9,6 +9,7 @@ github.com/alicebob/miniredis/v2 v2.31.0/go.mod h1:UB/T2Uztp7MlFSDakaX1sTXUv5CAS
 github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210521184019-c5ad59b459ec h1:EEyRvzmpEUZ+I8WmD5cw/vY8EqhambkOqy5iFr0908A=
 github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210521184019-c5ad59b459ec/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY=
 github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
+github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
 github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
 github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw=
 github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
@@ -29,22 +30,18 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c
 github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
 github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
-github.com/emicklei/go-restful/v3 v3.9.0 h1:XwGDlfxEnQZzuopoqxwSEllNcCOM9DhhFyhFIIGKwxE=
-github.com/emicklei/go-restful/v3 v3.9.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
+github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
 github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
 github.com/emicklei/proto v1.12.2 h1:ZDyDzrfMt7ncmyor/j07uoOCGLKtU5F87vTPwIzLe/o=
 github.com/emicklei/proto v1.12.2/go.mod h1:rn1FgRS/FANiZdD2djyH7TMA9jdRDcYQ9IEN9yvjX0A=
-github.com/fatih/color v1.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs=
-github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw=
+github.com/fatih/color v1.16.0 h1:zmkK9Ngbjj+K0yRhTVONQh1p/HknKYSlNT+vZCzyokM=
 github.com/fatih/color v1.16.0/go.mod h1:fL2Sau1YI5c0pdGEVCbKQbLXB6edEj1ZgiY4NijnWvE=
 github.com/fatih/structtag v1.2.0 h1:/OdNE99OxoI/PqaW/SuSK9uxxT3f/tcSZgon/ssNSx4=
 github.com/fatih/structtag v1.2.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
 github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
 github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
-github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
 github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
-github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
-github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
+github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=
 github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
 github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
 github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
@@ -60,10 +57,12 @@ github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq
 github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
 github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
 github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
+github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
 github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
 github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
 github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=
+github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
 github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
 github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
 github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
@@ -75,13 +74,14 @@ github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiu
 github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I=
 github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
 github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
 github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
+github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
 github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
 github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
 github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1 h1:K6RDEckDVWvDI9JAJYCmNdQXq6neHJOYx3V6jnqNEec=
+github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
 github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
 github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
 github.com/gookit/color v1.5.4 h1:FZmqs7XOyGgCAxmWyPslpiok1k05wmY3SJTytgvYFs0=
@@ -89,6 +89,7 @@ github.com/gookit/color v1.5.4/go.mod h1:pZJOeOS8DM43rXbp4AZo1n9zCU2qjpcRko0b6/Q
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0 h1:RtRsiaGvWxcwd8y3BiRZxsylPT8hLWZ5SPcfI+3IDNk=
 github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0/go.mod h1:TzP6duP4Py2pHLVPPQp42aoYI92+PCrVotyR5e8Vqlk=
 github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542 h1:2VTzZjLZBgl62/EtslCrtky5vbi9dd7HrQPQIx6wqiw=
+github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI=
 github.com/iancoleman/strcase v0.3.0 h1:nTXanmYxhfFAMjZL34Ov6gkzEsSJZ5DbhxWjvSASxEI=
 github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho=
 github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
@@ -97,9 +98,10 @@ github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsI
 github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
 github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk=
 github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM=
-github.com/jackc/pgx/v5 v5.4.3 h1:cxFyXhxlvAifxnkKKdlxv8XqUf59tDlYjnV5YYfsJJY=
-github.com/jackc/pgx/v5 v5.4.3/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA=
+github.com/jackc/pgx/v5 v5.5.1 h1:5I9etrGkLrN+2XPCsi6XLlV5DITbSL/xBZdmAxFcXPI=
 github.com/jackc/pgx/v5 v5.5.1/go.mod h1:Ig06C2Vu0t5qXC60W8sqIthScaEnFvojjj9dSljmHRA=
+github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk=
+github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
 github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
 github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
 github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
@@ -108,6 +110,7 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI
 github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
 github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
 github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
+github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
 github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
 github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
 github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
@@ -131,17 +134,23 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY
 github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
 github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
 github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
+github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
 github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
-github.com/onsi/ginkgo/v2 v2.11.0 h1:WgqUCUt/lT6yXoQ8Wef0fsNn5cAuMK7+KT9UFRz2tcU=
-github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI=
+github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
+github.com/onsi/ginkgo/v2 v2.13.0 h1:0jY9lJquiL8fcf3M4LAXN5aMlS/b2BV86HFFPCPMgE4=
+github.com/onsi/ginkgo/v2 v2.13.0/go.mod h1:TE309ZR8s5FsKKpuB1YAQYBzCaAfUgatB/xlT/ETL/o=
+github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg=
+github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ=
 github.com/openzipkin/zipkin-go v0.4.2 h1:zjqfqHjUpPmB3c1GlCvvgsM1G4LkvqQbBDueDOCg/jA=
 github.com/openzipkin/zipkin-go v0.4.2/go.mod h1:ZeVkFjuuBiSy13y8vpSDCjMi9GoI3hPpCJSBx/EYFhY=
 github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4=
 github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
 github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
 github.com/prashantv/gostub v1.1.0 h1:BTyx3RfQjRHnUWaGF9oQos79AlQ5k8WNktv7VGvVH4g=
+github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U=
 github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q=
 github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY=
 github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 h1:v7DLqVdK4VrYkVD5diGdl4sxJurKJEMnODWRJlxV9oM=
@@ -151,6 +160,7 @@ github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO
 github.com/prometheus/procfs v0.11.1 h1:xRC8Iq1yyca5ypa9n1EZnWZkt7dwcoRPQwX/5gwaUuI=
 github.com/prometheus/procfs v0.11.1/go.mod h1:eesXgaPo1q7lBpVMoMy0ZOFTth9hBn4W/y0/p/ScXhY=
 github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ=
+github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
 github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
 github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
 github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
@@ -171,10 +181,10 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU
 github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
 github.com/withfig/autocomplete-tools/integrations/cobra v1.2.1 h1:+dBg5k7nuTE38VVdoroRsT0Z88fmvdYrI2EjzJst35I=
 github.com/withfig/autocomplete-tools/integrations/cobra v1.2.1/go.mod h1:nmuySobZb4kFgFy6BptpXp/BBw+xFSyvVPP6auoJB4k=
-github.com/wuntsong-org/go-zero-plus v1.0.1/go.mod h1:YpodKGBb0wC8K+Qor1Yc9J3BlOfEq8LnqcVrbX5jBo8=
-github.com/wuntsong-org/go-zero-plus v1.2.1/go.mod h1:RWspL3Y+03ifu1zRtOMlvI0sws4lnAWAM3e09IAOlMY=
-github.com/wuntsong-org/go-zero-plus v1.3.0/go.mod h1:YpodKGBb0wC8K+Qor1Yc9J3BlOfEq8LnqcVrbX5jBo8=
+github.com/wuntsong-org/go-zero-plus v1.5.0 h1:rTXMvRUN9x47ejeTxQzGqB/ZFSwgNEbYledwh5k5PFY=
 github.com/wuntsong-org/go-zero-plus v1.5.0/go.mod h1:vbITb92SYHhIF1ME6c2OTCjF9Mny4TsQZvxw2oDBVTg=
+github.com/wuntsong-org/go-zero-plus/tools/goctlwt v0.0.0-20231214074533-4b2d014bef4f h1:NAWv3LgWQ2PoX08dCLMZ6G1muba1ZjE2ijavsb+2arE=
+github.com/wuntsong-org/go-zero-plus/tools/goctlwt v0.0.0-20231214074533-4b2d014bef4f/go.mod h1:JJkghDb6Cgw3BmDdeRPdJUcLSeVnWCPnRO2i9bmA3Ag=
 github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778 h1:QldyIu/L63oPpyvQmHgvgickp1Yw510KJOqX7H24mg8=
 github.com/xo/terminfo v0.0.0-20210125001918-ca9a967f8778/go.mod h1:2MuV+tbUrU1zIOPMxZ5EncGwgmMJsa+9ucAQZXxsObs=
 github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -183,16 +193,15 @@ github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1
 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
 github.com/yuin/gopher-lua v1.1.0 h1:BojcDhfyDWgU2f2TOzYK/g5p2gxMrku8oupLDqlnSqE=
 github.com/yuin/gopher-lua v1.1.0/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw=
+github.com/zeromicro/antlr v0.0.1 h1:CQpIn/dc0pUjgGQ81y98s/NGOm2Hfru2NNio2I9mQgk=
 github.com/zeromicro/antlr v0.0.1/go.mod h1:nfpjEwFR6Q4xGDJMcZnCL9tEfQRgszMwu3rDz2Z+p5M=
+github.com/zeromicro/ddl-parser v1.0.5 h1:LaVqHdzMTjasua1yYpIYaksxKqRzFrEukj2Wi2EbWaQ=
 github.com/zeromicro/ddl-parser v1.0.5/go.mod h1:ISU/8NuPyEpl9pa17Py9TBPetMjtsiHrb9f5XGiYbo8=
-go.etcd.io/etcd/api/v3 v3.5.10 h1:szRajuUUbLyppkhs9K6BRtjY37l66XQQmw7oZRANE4k=
-go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI=
+go.etcd.io/etcd/api/v3 v3.5.11 h1:B54KwXbWDHyD3XYAwprxNzTe7vlhR69LuBgZnMVvS7E=
 go.etcd.io/etcd/api/v3 v3.5.11/go.mod h1:Ot+o0SWSyT6uHhA56al1oCED0JImsRiU9Dc26+C2a+4=
-go.etcd.io/etcd/client/pkg/v3 v3.5.10 h1:kfYIdQftBnbAq8pUWFXfpuuxFSKzlmM5cSn76JByiT0=
-go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U=
+go.etcd.io/etcd/client/pkg/v3 v3.5.11 h1:bT2xVspdiCj2910T0V+/KHcVKjkUrCZVtk8J2JF2z1A=
 go.etcd.io/etcd/client/pkg/v3 v3.5.11/go.mod h1:seTzl2d9APP8R5Y2hFL3NVlD6qC/dOT+3kvrqPyTas4=
-go.etcd.io/etcd/client/v3 v3.5.10 h1:W9TXNZ+oB3MCd/8UjxHTWK5J9Nquw9fQBLJd5ne5/Ao=
-go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc=
+go.etcd.io/etcd/client/v3 v3.5.11 h1:ajWtgoNSZJ1gmS8k+icvPtqsqEav+iUorF7b0qozgUU=
 go.etcd.io/etcd/client/v3 v3.5.11/go.mod h1:a6xQUEqFJ8vztO1agJh/KQKOMfFI8og52ZconzcDJwE=
 go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs=
 go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY=
@@ -221,6 +230,7 @@ go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0
 go.uber.org/automaxprocs v1.5.3 h1:kWazyxZUrS3Gs4qUpbwo5kEIMGe/DAvi5Z4tl2NW4j8=
 go.uber.org/automaxprocs v1.5.3/go.mod h1:eRbA25aqJrxAbsLO0xy5jVwPt7FQnRgjW+efnwa1WM0=
 go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A=
+go.uber.org/goleak v1.2.1/go.mod h1:qlT2yGI9QafXHhZZLxlSuNsMw3FFLxBr+tBRlmO1xH4=
 go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI=
 go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ=
 go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
@@ -229,8 +239,7 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
 golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
 golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
-golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
+golang.org/x/crypto v0.16.0 h1:mMMrFzRSCF0GvB7Ne27XVtVAaXLrPmgPC7/v0tkwHaY=
 golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
 golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
 golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
@@ -243,8 +252,7 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
 golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
 golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
 golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
-golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
-golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
+golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
 golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
 golang.org/x/oauth2 v0.12.0 h1:smVPGxink+n1ZI5pkQa8y6fZT0RW0MgCO5bFpepy4B4=
 golang.org/x/oauth2 v0.12.0/go.mod h1:A74bZ3aGXgCY0qaIC9Ahg6Lglin4AMAco8cIv9baba4=
@@ -254,6 +262,8 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ
 golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
 golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
+golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
 golang.org/x/sys v0.0.0-20190204203706-41f3e6584952/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
 golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -265,15 +275,12 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc
 golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
 golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
-golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
 golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
-golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek=
-golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
+golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
 golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -281,8 +288,7 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
 golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
 golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
 golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
-golang.org/x/time v0.3.0 h1:rg5rLMjNzMS1RkNLzCG38eapWhnYLFYXDXj2gOlr8j4=
-golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
 golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
 golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
 golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
@@ -290,7 +296,8 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY
 golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
 golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
 golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
-golang.org/x/tools v0.9.3 h1:Gn1I8+64MsuTb/HpH+LmQtNas23LhUVr3rYZ0eKuaMM=
+golang.org/x/tools v0.12.0 h1:YW6HUoUmYBpwSgyaGaZq1fHjrBjX1rlpZ54T6mu2kss=
+golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM=
 golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
 golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -313,39 +320,32 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
 gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
 gopkg.in/h2non/gock.v1 v1.1.2 h1:jBbHXgGBK/AoPVfJh5x4r/WxIrElvbLel8TCZkkZJoY=
+gopkg.in/h2non/gock.v1 v1.1.2/go.mod h1:n7UGz/ckNChHiK05rDoiC4MYSunEC/lyaUm2WWaDva0=
 gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
 gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
 gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
+gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
 gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
 gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
 gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
 gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
 gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-k8s.io/api v0.28.3 h1:Gj1HtbSdB4P08C8rs9AR94MfSGpRhJgsS+GF9V26xMM=
-k8s.io/api v0.28.3/go.mod h1:MRCV/jr1dW87/qJnZ57U5Pak65LGmQVkKTzf3AtKFHc=
-k8s.io/api v0.28.4/go.mod h1:axWTGrY88s/5YE+JSt4uUi6NMM+gur1en2REMR7IRj0=
+k8s.io/api v0.29.0 h1:NiCdQMY1QOp1H8lfRyeEf8eOwV6+0xA6XEE44ohDX2A=
 k8s.io/api v0.29.0/go.mod h1:sdVmXoz2Bo/cb77Pxi71IPTSErEW32xa4aXwKH7gfBA=
-k8s.io/apimachinery v0.28.3 h1:B1wYx8txOaCQG0HmYF6nbpU8dg6HvA06x5tEffvOe7A=
-k8s.io/apimachinery v0.28.3/go.mod h1:uQTKmIqs+rAYaq+DFaoD2X7pcjLOqbQX2AOiO0nIpb8=
-k8s.io/apimachinery v0.28.4/go.mod h1:wI37ncBvfAoswfq626yPTe6Bz1c22L7uaJ8dho83mgg=
+k8s.io/apimachinery v0.29.0 h1:+ACVktwyicPz0oc6MTMLwa2Pw3ouLAfAon1wPLtG48o=
 k8s.io/apimachinery v0.29.0/go.mod h1:eVBxQ/cwiJxH58eK/jd/vAk4mrxmVlnpBH5J2GbMeis=
-k8s.io/client-go v0.28.3 h1:2OqNb72ZuTZPKCl+4gTKvqao0AMOl9f3o2ijbAj3LI4=
-k8s.io/client-go v0.28.3/go.mod h1:LTykbBp9gsA7SwqirlCXBWtK0guzfhpoW4qSm7i9dxo=
-k8s.io/client-go v0.28.4/go.mod h1:0VDZFpgoZfelyP5Wqu0/r/TRYcLYuJ2U1KEeoaPa1N4=
+k8s.io/client-go v0.29.0 h1:KmlDtFcrdUzOYrBhXHgKw5ycWzc3ryPX5mQe0SkG3y8=
 k8s.io/client-go v0.29.0/go.mod h1:yLkXH4HKMAywcrD82KMSmfYg2DlE8mepPR4JGSo5n38=
-k8s.io/klog/v2 v2.100.1 h1:7WCHKK6K8fNhTqfBhISHQ97KrnJNFZMcQvKp7gP/tmg=
-k8s.io/klog/v2 v2.100.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0=
+k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0=
 k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo=
 k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780=
 k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA=
-k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
-k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+k8s.io/utils v0.0.0-20231127182322-b307cd553661 h1:FepOBzJ0GXm8t0su67ln2wAZjbQ6RxQGZDnzuLcrUTI=
 k8s.io/utils v0.0.0-20231127182322-b307cd553661/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
 sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo=
 sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0=
-sigs.k8s.io/structured-merge-diff/v4 v4.2.3 h1:PRbqxJClWWYMNV1dhaG4NsibJbArud9kFxnAMREiWFE=
-sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E=
+sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4=
 sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08=
 sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo=
 sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8=

+ 1 - 1
tools/goctlwt/goctlwt.go

@@ -3,7 +3,7 @@ package main
 import (
 	"github.com/wuntsong-org/go-zero-plus/core/load"
 	"github.com/wuntsong-org/go-zero-plus/core/logx"
-	"github.com/wuntsong-org/go-zero-plus/tools/goctlwt/cmd"
+	"github.com/wuntsong-org/go-zero-plus/tools/goctlwtwt/cmd"
 )
 
 func main() {

+ 4 - 4
tools/goctlwt/internal/errorx/errorx.go

@@ -7,12 +7,12 @@ import (
 	"github.com/wuntsong-org/go-zero-plus/tools/goctlwt/pkg/env"
 )
 
-var errorFormat = `goctlwt error: %+v
-goctlwt env:
+var errorFormat = `goctl error: %+v
+goctl env:
 %s
 %s`
 
-// GoctlError represents a goctlwt error.
+// GoctlError represents a goctl error.
 type GoctlError struct {
 	message []string
 	err     error
@@ -23,7 +23,7 @@ func (e *GoctlError) Error() string {
 	return fmt.Sprintf(errorFormat, e.err, env.Print(), detail)
 }
 
-// Wrap wraps an error with goctlwt version and message.
+// Wrap wraps an error with goctl version and message.
 func Wrap(err error, message ...string) error {
 	e, ok := err.(*GoctlError)
 	if ok {

+ 3 - 3
tools/goctlwt/internal/version/version.go

@@ -5,7 +5,7 @@ import (
 	"strings"
 )
 
-// BuildVersion is the version of goctlwt.
+// BuildVersion is the version of goctl.
 const BuildVersion = "1.6.0"
 
 var tag = map[string]int{"pre-alpha": 0, "alpha": 1, "pre-bata": 2, "beta": 3, "released": 4, "": 5}
@@ -15,7 +15,7 @@ func GetGoctlVersion() string {
 	return BuildVersion
 }
 
-// IsVersionGreaterThan compares whether the current goctlwt version
+// IsVersionGreaterThan compares whether the current goctl version
 // is greater than the target version
 func IsVersionGreaterThan(version, target string) bool {
 	versionNumber, versionTag := convertVersion(version)
@@ -25,7 +25,7 @@ func IsVersionGreaterThan(version, target string) bool {
 	} else if versionNumber < targetVersionNumber {
 		return false
 	} else {
-		// unchecked case, in normal, the goctlwt version does not contain suffix in release.
+		// unchecked case, in normal, the goctl version does not contain suffix in release.
 		return tag[versionTag] > tag[targetTag]
 	}
 }

+ 1 - 1
tools/goctlwt/kube/kube.go

@@ -138,7 +138,7 @@ func RevertTemplate(name string) error {
 	return pathx.CreateTemplate(category, name, deploymentTemplate)
 }
 
-// Update updates the template files to the templates built in current goctlwt.
+// Update updates the template files to the templates built in current goctl.
 func Update() error {
 	err := Clean()
 	if err != nil {

+ 1 - 1
tools/goctlwt/migrate/mod.go

@@ -14,7 +14,7 @@ import (
 
 const (
 	deprecatedGoZeroMod = "github.com/tal-tech/go-zero"
-	deprecatedBuilderx  = "github.com/tal-tech/go-zero/tools/goctlwt/model/sql/builderx"
+	deprecatedBuilderx  = "github.com/tal-tech/go-zero/tools/goctl/model/sql/builderx"
 	replacementBuilderx = "github.com/wuntsong-org/go-zero-plus/core/stores/builder"
 	goZeroMod           = "github.com/wuntsong-org/go-zero-plus"
 )

+ 2 - 2
tools/goctlwt/model/mongo/mongo.go

@@ -23,7 +23,7 @@ var (
 	VarBoolEasy bool
 	// VarStringStyle describes the style.
 	VarStringStyle string
-	// VarStringHome describes the goctlwt home.
+	// VarStringHome describes the goctl home.
 	VarStringHome string
 	// VarStringRemote describes the remote git repository.
 	VarStringRemote string
@@ -31,7 +31,7 @@ var (
 	VarStringBranch string
 )
 
-// Action provides the entry for goctlwt mongo code generation.
+// Action provides the entry for goctl mongo code generation.
 func Action(_ *cobra.Command, _ []string) error {
 	tp := VarStringSliceType
 	c := VarBoolCache

+ 2 - 2
tools/goctlwt/model/mongo/readme.md

@@ -17,7 +17,7 @@ mongo的生成不同于mysql,mysql可以从scheme_information库中读取到
 ## 使用示例
 为 User 生成 mongo model
 ```bash
-$ goctlwt model mongo -t User -c --dir .
+$ goctl model mongo -t User -c --dir .
 ```
 
 ### 生成示例代码
@@ -57,7 +57,7 @@ func NewUserModel(url, db, collection string, c cache.CacheConf) UserModel {
 
 #### usermodelgen.go
 ```go
-// Code generated by goctlwt. DO NOT EDIT.
+// Code generated by goctl. DO NOT EDIT.
 package model
 
 import (

+ 8 - 8
tools/goctlwt/model/sql/README.MD

@@ -7,7 +7,7 @@ goctl model 为go-zero下的工具模块中的组件之一,目前支持识别m
 * 通过ddl生成
 
     ```shell script
-    goctlwt model mysql ddl -src="./*.sql" -dir="./sql/model" -c
+    goctl model mysql ddl -src="./*.sql" -dir="./sql/model" -c
     ```
 
     执行上述命令后即可快速生成CURD代码。
@@ -21,7 +21,7 @@ goctl model 为go-zero下的工具模块中的组件之一,目前支持识别m
 * 通过datasource生成
 
     ```shell script
-    goctlwt model mysql datasource -url="user:password@tcp(127.0.0.1:3306)/database" -table="*"  -dir="./model"
+    goctl model mysql datasource -url="user:password@tcp(127.0.0.1:3306)/database" -table="*"  -dir="./model"
     ```
 
 * 生成代码示例
@@ -246,7 +246,7 @@ OPTIONS:
   * ddl
 
 	```shell script
-	goctlwt model mysql -src={patterns} -dir={dir} -cache
+	goctl model mysql -src={patterns} -dir={dir} -cache
 	```
 
 	help
@@ -270,7 +270,7 @@ OPTIONS:
   * datasource
 
 	```shell script
-	goctlwt model mysql datasource -url={datasource} -table={patterns}  -dir={dir} -cache=true
+	goctl model mysql datasource -url={datasource} -table={patterns}  -dir={dir} -cache=true
 	```
 
 	help
@@ -304,26 +304,26 @@ OPTIONS:
   * ddl
   
       ```shell script
-        goctlwt model -src={patterns} -dir={dir}
+        goctl model -src={patterns} -dir={dir}
       ```
 
   * datasource
   
       ```shell script
-        goctlwt model mysql datasource -url={datasource} -table={patterns}  -dir={dir}
+        goctl model mysql datasource -url={datasource} -table={patterns}  -dir={dir}
       ```
 
   or
   * ddl
 
       ```shell script
-        goctlwt model -src={patterns} -dir={dir}
+        goctl model -src={patterns} -dir={dir}
       ```
 
   * datasource
   
       ```shell script
-        goctlwt model mysql datasource -url={datasource} -table={patterns}  -dir={dir}
+        goctl model mysql datasource -url={datasource} -table={patterns}  -dir={dir}
       ```
   
 生成代码仅基本的CURD结构。

+ 1 - 1
tools/goctlwt/model/sql/command/command.go

@@ -41,7 +41,7 @@ var (
 	VarStringDatabase string
 	// VarStringSchema describes the schema of postgresql.
 	VarStringSchema string
-	// VarStringHome describes the goctlwt home.
+	// VarStringHome describes the goctl home.
 	VarStringHome string
 	// VarStringRemote describes the remote git repository.
 	VarStringRemote string

+ 2 - 2
tools/goctlwt/model/sql/command/migrationnotes/v1.3.4.go

@@ -15,10 +15,10 @@ func migrateBefore1_3_4(dir, style string) error {
 		return nil
 	}
 
-	fmt.Println(`It seems like that your goctlwt has just been upgraded to version 1.3.4 or later, which refactored the code of the model module. The original XXXmodel.go has been split into XXXmodel_gen.go (read-only) and XXXmodel.go. You just need to follow these steps to complete the migration:
+	fmt.Println(`It seems like that your goctl has just been upgraded to version 1.3.4 or later, which refactored the code of the model module. The original XXXmodel.go has been split into XXXmodel_gen.go (read-only) and XXXmodel.go. You just need to follow these steps to complete the migration:
 1. back up the original XXXmodel.go (make sure the file name is no longer in the current directory)
 2. re-run the generate command (a new XXXmodel.go will be created)
-3. populate XXXmodel.go with the code that is not generated by goctlwt according to the comments in XXXmodel_gen.go`)
+3. populate XXXmodel.go with the code that is not generated by goctl according to the comments in XXXmodel_gen.go`)
 
 	return nil
 }

+ 1 - 1
tools/goctlwt/model/sql/command/migrationnotes/v1.3.4_test.go

@@ -11,7 +11,7 @@ import (
 )
 
 func Test_needShow1_3_4(t *testing.T) {
-	root, err := os.MkdirTemp("", "goctlwt-model")
+	root, err := os.MkdirTemp("", "goctl-model")
 	require.NoError(t, err)
 	defer os.RemoveAll(root)
 

+ 1 - 1
tools/goctlwt/pkg/env/env.go

@@ -36,7 +36,7 @@ const (
 	ExperimentalOff = "off"
 )
 
-// init initializes the goctlwt environment variables, the environment variables of the function are set in order,
+// init initializes the goctl environment variables, the environment variables of the function are set in order,
 // please do not change the logic order of the code.
 func init() {
 	defaultGoctlHome, err := pathx.GetDefaultGoctlHome()

+ 1 - 1
tools/goctlwt/plugin/plugin.go

@@ -40,7 +40,7 @@ var (
 	VarStringStyle string
 )
 
-// PluginCommand is the entry of goctlwt api plugin
+// PluginCommand is the entry of goctl api plugin
 func PluginCommand(_ *cobra.Command, _ []string) error {
 	ex, err := os.Executable()
 	if err != nil {

+ 1 - 1
tools/goctlwt/quickstart/micro.go

@@ -52,7 +52,7 @@ func newMicroService() micro {
 func (m micro) mustStartRPCProject() {
 	logx.Must(initRPCProto())
 	log.Debug(">> Generating quickstart zRPC project...")
-	arg := "goctlwt rpc protoc " + protoName + " --go_out=. --go-grpc_out=. --zrpc_out=. --verbose"
+	arg := "goctl rpc protoc " + protoName + " --go_out=. --go-grpc_out=. --zrpc_out=. --verbose"
 	execCommand(zrpcWorkDir, arg)
 	etcFile := filepath.Join(zrpcWorkDir, "etc", "greet.yaml")
 	logx.Must(os.WriteFile(etcFile, []byte(rpcEtcContent), 0o666))

+ 9 - 9
tools/goctlwt/rpc/README.md

@@ -19,7 +19,7 @@ Goctl Rpc是`goctl`脚手架下的一个rpc服务代码生成模块,支持prot
   如生成greet rpc服务:
 
   ```Bash
-  goctlwt rpc new greet
+  goctl rpc new greet
   ```
 
   执行后代码结构如下:
@@ -51,7 +51,7 @@ Goctl Rpc是`goctl`脚手架下的一个rpc服务代码生成模块,支持prot
 * 生成proto模板
 
 ```Bash
-$ goctlwt rpc template -o=user.proto
+$ goctl rpc template -o=user.proto
 ```
   
 ```proto
@@ -77,7 +77,7 @@ service User {
 * 生成rpc服务代码
 
 ```bash
-$ goctlwt rpc protoc  user.proto --go_out=. --go-grpc_out=. --zrpc_out=.
+$ goctl rpc protoc  user.proto --go_out=. --go-grpc_out=. --zrpc_out=.
 ```
 
 
@@ -86,23 +86,23 @@ $ goctlwt rpc protoc  user.proto --go_out=. --go-grpc_out=. --zrpc_out=.
 ### rpc 服务生成用法
 
 ```Bash
-$ goctlwt rpc protoc -h
+$ goctl rpc protoc -h
 Generate grpc code
 
 Usage:
-  goctlwt rpc protoc [flags]
+  goctl rpc protoc [flags]
 
 Examples:
-goctlwt rpc protoc xx.proto --go_out=./pb --go-grpc_out=./pb --zrpc_out=.
+goctl rpc protoc xx.proto --go_out=./pb --go-grpc_out=./pb --zrpc_out=.
 
 Flags:
       --branch string     The branch of the remote repo, it does work with --remote
   -h, --help              help for protoc
-      --home string       The goctlwt home path of the template, --home and --remote cannot be set at the same time, if they are, --remote has higher priority
+      --home string       The goctl home path of the template, --home and --remote cannot be set at the same time, if they are, --remote has higher priority
   -m, --multiple          Generated in multiple rpc service mode
       --remote string     The remote git repo of the template, --home and --remote cannot be set at the same time, if they are, --remote has higher priority
                           	The git repo directory must be consistent with the https://github.com/wuntsong-org/go-zero-plus-template directory structure
-      --style string      The file naming format, see [https://github.com/wuntsong-org/go-zero-plus/tree/master/tools/goctlwt/config/README.md] (default "gozero")
+      --style string      The file naming format, see [https://github.com/wuntsong-org/go-zero-plus/tree/master/tools/goctl/config/readme.md] (default "gozero")
   -v, --verbose           Enable log output
       --zrpc_out string   The zrpc output directory
 ```
@@ -127,7 +127,7 @@ Flags:
 
 
 ## rpc 服务生成 example
-详情见 [example/rpc](https://github.com/zeromicro/go-zero/tree/master/tools/goctl/example)
+详情见 [example/rpc](https://github.com/wuntsong-org/go-zero-plus/tree/master/tools/goctl/example)
 
 ## --multiple 为 true 和 false 的目录区别
 源 proto 文件

+ 2 - 2
tools/goctlwt/rpc/cli/cli.go

@@ -16,7 +16,7 @@ import (
 var (
 	// VarStringOutput describes the output.
 	VarStringOutput string
-	// VarStringHome describes the goctlwt home.
+	// VarStringHome describes the goctl home.
 	VarStringHome string
 	// VarStringRemote describes the remote git repository.
 	VarStringRemote string
@@ -109,7 +109,7 @@ func RPCNew(_ *cobra.Command, args []string) error {
 // RPCTemplate is the entry for generate rpc template
 func RPCTemplate(latest bool) error {
 	if !latest {
-		console.Warning("deprecated: goctlwt rpc template -o is deprecated and will be removed in the future, use goctlwt rpc -o instead")
+		console.Warning("deprecated: goctl rpc template -o is deprecated and will be removed in the future, use goctl rpc -o instead")
 	}
 	protoFile := VarStringOutput
 	home := VarStringHome

+ 1 - 1
tools/goctlwt/rpc/cli/zrpc.go

@@ -19,7 +19,7 @@ var (
 )
 
 // ZRPC generates grpc code directly by protoc and generates
-// zrpc code by goctlwt.
+// zrpc code by goctl.
 func ZRPC(_ *cobra.Command, args []string) error {
 	protocArgs := wrapProtocCmd("protoc", args)
 	pwd, err := os.Getwd()

+ 1 - 1
tools/goctlwt/rpc/generator/genpb.go

@@ -11,7 +11,7 @@ import (
 )
 
 // GenPb generates the pb.go file, which is a layer of packaging for protoc to generate gprc,
-// but the commands and flags in protoc are not completely joined in goctlwt. At present, proto_path(-I) is introduced
+// but the commands and flags in protoc are not completely joined in goctl. At present, proto_path(-I) is introduced
 func (g *Generator) GenPb(ctx DirContext, c *ZRpcContext) error {
 	return g.genPbDirect(ctx, c)
 }

+ 1 - 1
tools/goctlwt/rpc/generator/template.go

@@ -35,7 +35,7 @@ var templates = map[string]string{
 	rpcTemplateFile:           rpcTemplateText,
 }
 
-// GenTemplates is the entry for command goctlwt template,
+// GenTemplates is the entry for command goctl template,
 // it will create the specified category
 func GenTemplates() error {
 	return pathx.InitTemplates(category, templates)

+ 1 - 1
tools/goctlwt/test/integration/model/mongo/Dockerfile

@@ -7,6 +7,6 @@ WORKDIR /app
 ADD goctl /usr/bin/goctl
 ADD cmd.sh .
 
-RUN chmod +x /usr/bin/goctlwt
+RUN chmod +x /usr/bin/goctl
 RUN chmod +x cmd.sh
 CMD ["/bin/bash", "cmd.sh"]

+ 4 - 4
tools/goctlwt/test/integration/model/mongo/mongo.sh

@@ -7,12 +7,12 @@ source ../../../common/echo.sh
 
 console_tip "mongo  test"
 
-# build goctlwt
+# build goctl
 console_step "goctl building"
 
-buildFile=goctlwt
-CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o $buildFile ../../../../goctlwt.go
-image=goctlwt-mongo:latest
+buildFile=goctl
+CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o $buildFile ../../../../goctl.go
+image=goctl-mongo:latest
 
 # docker build
 console_step "docker building"

+ 1 - 1
tools/goctlwt/test/main.sh

@@ -1,6 +1,6 @@
 #!/bin/bash
 
-# main.sh is the entry point for the goctlwt tests.
+# main.sh is the entry point for the goctl tests.
 
 # testing mongo code generation.
 /bin/bash integration/model/mongo/mongo.sh

+ 1 - 1
tools/goctlwt/update/config/config.go

@@ -2,7 +2,7 @@ package config
 
 import "github.com/wuntsong-org/go-zero-plus/core/logx"
 
-// Config defines a service configure for goctlwt update
+// Config defines a service configure for goctl update
 type Config struct {
 	logx.LogConf
 	ListenOn string

+ 1 - 1
tools/goctlwt/update/update.go

@@ -15,7 +15,7 @@ import (
 
 const (
 	contentMd5Header = "Content-Md5"
-	filename         = "goctlwt"
+	filename         = "goctl"
 )
 
 var configFile = flag.String("f", "etc/update-api.json", "the config file")

+ 3 - 3
tools/goctlwt/upgrade/upgrade.go

@@ -8,12 +8,12 @@ import (
 	"github.com/wuntsong-org/go-zero-plus/tools/goctlwt/rpc/execx"
 )
 
-// upgrade gets the latest goctlwt by
+// upgrade gets the latest goctl by
 // go install github.com/wuntsong-org/go-zero-plus/tools/goctlwt@latest
 func upgrade(_ *cobra.Command, _ []string) error {
-	cmd := `GO111MODULE=on GOPROXY=https://goproxy.cn/,direct go install github.com/wuntsong-org/go-zero-plus/tools/goctlwtwt@latest`
+	cmd := `GO111MODULE=on GOPROXY=https://goproxy.cn/,direct go install github.com/wuntsong-org/go-zero-plus/tools/goctlwt@latest`
 	if runtime.GOOS == "windows" {
-		cmd = `set GOPROXY=https://goproxy.cn,direct && go install github.com/wuntsong-org/go-zero-plus/tools/goctlwtwt@latest`
+		cmd = `set GOPROXY=https://goproxy.cn,direct && go install github.com/wuntsong-org/go-zero-plus/tools/goctlwt@latest`
 	}
 	info, err := execx.Run(cmd, "")
 	if err != nil {

+ 1 - 1
tools/goctlwt/util/head.go

@@ -2,7 +2,7 @@ package util
 
 const (
 	// DoNotEditHead added to the beginning of a file to prompt the user not to edit
-	DoNotEditHead = "// Code generated by goctlwt. DO NOT EDIT."
+	DoNotEditHead = "// Code generated by goctl. DO NOT EDIT."
 
 	headTemplate = DoNotEditHead + `
 // Source: {{.source}}`

+ 7 - 7
tools/goctlwt/util/pathx/file.go

@@ -19,7 +19,7 @@ import (
 // NL defines a new line.
 const (
 	NL              = "\n"
-	goctlDir        = ".goctlwt"
+	goctlDir        = ".goctl"
 	gitDir          = ".git"
 	autoCompleteDir = ".auto_complete"
 	cacheDir        = "cache"
@@ -27,7 +27,7 @@ const (
 
 var goctlHome string
 
-// RegisterGoctlHome register goctlwt home path.
+// RegisterGoctlHome register goctl home path.
 func RegisterGoctlHome(home string) {
 	goctlHome = home
 }
@@ -75,7 +75,7 @@ func FileNameWithoutExt(file string) string {
 	return strings.TrimSuffix(file, filepath.Ext(file))
 }
 
-// GetGoctlHome returns the path value of the goctlwt, the default path is ~/.goctlwt, if the path has
+// GetGoctlHome returns the path value of the goctl, the default path is ~/.goctl, if the path has
 // been set by calling the RegisterGoctlHome method, the user-defined path refers to.
 func GetGoctlHome() (home string, err error) {
 	defer func() {
@@ -96,7 +96,7 @@ func GetGoctlHome() (home string, err error) {
 	return
 }
 
-// GetDefaultGoctlHome returns the path value of the goctlwt home where Join $HOME with .goctlwt.
+// GetDefaultGoctlHome returns the path value of the goctl home where Join $HOME with .goctl.
 func GetDefaultGoctlHome() (string, error) {
 	home, err := os.UserHomeDir()
 	if err != nil {
@@ -105,7 +105,7 @@ func GetDefaultGoctlHome() (string, error) {
 	return filepath.Join(home, goctlDir), nil
 }
 
-// GetGitHome returns the git home of goctlwt.
+// GetGitHome returns the git home of goctl.
 func GetGitHome() (string, error) {
 	goctlH, err := GetGoctlHome()
 	if err != nil {
@@ -115,7 +115,7 @@ func GetGitHome() (string, error) {
 	return filepath.Join(goctlH, gitDir), nil
 }
 
-// GetAutoCompleteHome returns the auto_complete home of goctlwt.
+// GetAutoCompleteHome returns the auto_complete home of goctl.
 func GetAutoCompleteHome() (string, error) {
 	goctlH, err := GetGoctlHome()
 	if err != nil {
@@ -125,7 +125,7 @@ func GetAutoCompleteHome() (string, error) {
 	return filepath.Join(goctlH, autoCompleteDir), nil
 }
 
-// GetCacheDir returns the cache dit of goctlwt.
+// GetCacheDir returns the cache dit of goctl.
 func GetCacheDir() (string, error) {
 	goctlH, err := GetGoctlHome()
 	if err != nil {