diff --git a/tools/goctl/api/gogen/genroutes.go b/tools/goctl/api/gogen/genroutes.go index 528cad4a0a05..217421923b4c 100644 --- a/tools/goctl/api/gogen/genroutes.go +++ b/tools/goctl/api/gogen/genroutes.go @@ -2,6 +2,7 @@ package gogen import ( "fmt" + "github.com/zeromicro/go-zero/tools/goctl/internal/version" "os" "path" "sort" @@ -22,6 +23,9 @@ const ( jwtTransKey = "jwtTransition" routesFilename = "routes" routesTemplate = `// Code generated by goctl. DO NOT EDIT. +// versions: +// goctl version: {{.version}} + package handler import ( @@ -203,6 +207,7 @@ rest.WithPrefix("%s"),`, g.prefix) "hasTimeout": hasTimeout, "importPackages": genRouteImports(rootPkg, api), "routesAdditions": strings.TrimSpace(builder.String()), + "version": version.BuildVersion, }, }) } diff --git a/tools/goctl/api/gogen/gentypes.go b/tools/goctl/api/gogen/gentypes.go index 6ddcbbfd8346..c35887903b87 100644 --- a/tools/goctl/api/gogen/gentypes.go +++ b/tools/goctl/api/gogen/gentypes.go @@ -3,6 +3,7 @@ package gogen import ( _ "embed" "fmt" + "github.com/zeromicro/go-zero/tools/goctl/internal/version" "io" "os" "path" @@ -64,6 +65,7 @@ func genTypes(dir string, cfg *config.Config, api *spec.ApiSpec) error { data: map[string]any{ "types": val, "containsTime": false, + "version": version.BuildVersion, }, }) } diff --git a/tools/goctl/api/gogen/types.tpl b/tools/goctl/api/gogen/types.tpl index 735ec2dadf17..841525cb5b3e 100644 --- a/tools/goctl/api/gogen/types.tpl +++ b/tools/goctl/api/gogen/types.tpl @@ -1,4 +1,7 @@ // Code generated by goctl. DO NOT EDIT. +// versions: +// goctl version: {{.version}} + package types{{if .containsTime}} import ( "time" diff --git a/tools/goctl/api/javagen/component.tpl b/tools/goctl/api/javagen/component.tpl index 0bb309f389b2..e02670b4bac9 100644 --- a/tools/goctl/api/javagen/component.tpl +++ b/tools/goctl/api/javagen/component.tpl @@ -1,4 +1,7 @@ // Code generated by goctl. DO NOT EDIT. +// versions: +// goctl version: {{.version}} + package com.xhb.logic.http.packet.{{.packet}}.model; import org.jetbrains.annotations.NotNull; diff --git a/tools/goctl/api/javagen/gencomponents.go b/tools/goctl/api/javagen/gencomponents.go index c8463d418540..e607b88b7951 100644 --- a/tools/goctl/api/javagen/gencomponents.go +++ b/tools/goctl/api/javagen/gencomponents.go @@ -6,6 +6,7 @@ import ( _ "embed" "errors" "fmt" + "github.com/zeromicro/go-zero/tools/goctl/internal/version" "io" "path" "strings" @@ -131,6 +132,7 @@ func (c *componentsContext) createComponent(dir, packetName string, ty spec.Type "className": util.Title(defineStruct.Name()), "superClassName": superClassName, "HasProperty": len(strings.TrimSpace(propertiesString)) > 0, + "version": version.BuildVersion, }) if err != nil { return err diff --git a/tools/goctl/api/tsgen/components.tpl b/tools/goctl/api/tsgen/components.tpl index aabe0194b951..1830aa76a07b 100644 --- a/tools/goctl/api/tsgen/components.tpl +++ b/tools/goctl/api/tsgen/components.tpl @@ -1,3 +1,5 @@ // Code generated by goctl. DO NOT EDIT. +// versions: +// goctl version: {{.version}} {{.componentTypes}} diff --git a/tools/goctl/api/tsgen/gencomponents.go b/tools/goctl/api/tsgen/gencomponents.go index fab8ebd0f5b4..25bf4865028f 100644 --- a/tools/goctl/api/tsgen/gencomponents.go +++ b/tools/goctl/api/tsgen/gencomponents.go @@ -2,6 +2,7 @@ package tsgen import ( _ "embed" + "github.com/zeromicro/go-zero/tools/goctl/internal/version" "path" "strings" "text/template" @@ -61,5 +62,6 @@ func genComponents(dir string, api *spec.ApiSpec) error { t := template.Must(template.New("componentsTemplate").Parse(componentsTemplate)) return t.Execute(fp, map[string]string{ "componentTypes": val, + "version": version.BuildVersion, }) } diff --git a/tools/goctl/model/mongo/generate/generate.go b/tools/goctl/model/mongo/generate/generate.go index 3d3baa861629..339456d28b25 100644 --- a/tools/goctl/model/mongo/generate/generate.go +++ b/tools/goctl/model/mongo/generate/generate.go @@ -2,6 +2,7 @@ package generate import ( "errors" + "github.com/zeromicro/go-zero/tools/goctl/internal/version" "path/filepath" "github.com/zeromicro/go-zero/tools/goctl/config" @@ -59,6 +60,7 @@ func generateModel(ctx *Context) error { "Type": stringx.From(t).Title(), "lowerType": stringx.From(t).Untitle(), "Cache": ctx.Cache, + "version": version.BuildVersion, }, output, true); err != nil { return err } diff --git a/tools/goctl/model/mongo/template/model.tpl b/tools/goctl/model/mongo/template/model.tpl index 287125d9c3f1..1720215e3111 100644 --- a/tools/goctl/model/mongo/template/model.tpl +++ b/tools/goctl/model/mongo/template/model.tpl @@ -1,4 +1,7 @@ // Code generated by goctl. DO NOT EDIT. +// versions: +// goctl version: {{.version}} + package model import ( diff --git a/tools/goctl/model/sql/template/template.go b/tools/goctl/model/sql/template/template.go index 99cb3b19d0fe..2086410b6b09 100644 --- a/tools/goctl/model/sql/template/template.go +++ b/tools/goctl/model/sql/template/template.go @@ -3,6 +3,7 @@ package template import ( _ "embed" "fmt" + "github.com/zeromicro/go-zero/tools/goctl/internal/version" "github.com/zeromicro/go-zero/tools/goctl/util" ) @@ -44,6 +45,8 @@ var ModelCustom string // ModelGen defines a template for model var ModelGen = fmt.Sprintf(`%s +// versions: +// goctl version: %s package {{.pkg}} {{.imports}} @@ -57,7 +60,7 @@ package {{.pkg}} {{.extraMethod}} {{.tableName}} {{.customized}} -`, util.DoNotEditHead) +`, util.DoNotEditHead, version.BuildVersion) // Insert defines a template for insert code in model // diff --git a/tools/goctl/util/head.go b/tools/goctl/util/head.go index 6e76b12e686f..b7744c0289f7 100644 --- a/tools/goctl/util/head.go +++ b/tools/goctl/util/head.go @@ -1,17 +1,22 @@ package util +import "github.com/zeromicro/go-zero/tools/goctl/internal/version" + const ( // DoNotEditHead added to the beginning of a file to prompt the user not to edit DoNotEditHead = "// Code generated by goctl. DO NOT EDIT." headTemplate = DoNotEditHead + ` +// versions: +// goctl version: {{.version}} // Source: {{.source}}` ) // GetHead returns a code head string with source filename func GetHead(source string) string { buffer, _ := With("head").Parse(headTemplate).Execute(map[string]any{ - "source": source, + "source": source, + "version": version.BuildVersion, }) return buffer.String() }