Chore: Prepare Wire to generate files that can be committed to the repo (#107382)

* add generated tags to wire

* add enterprise wire gen target to makefile

* make gen-go invoke enterprise

* change go:generate command

* handle empty genTags properly

* update golden files for wire

* use build tag for swagger generator

* fix comments
This commit is contained in:
Serge Zaitsev
2025-06-30 16:39:21 +02:00
committed by GitHub
parent 86543e0f91
commit 1ce82abfa3
45 changed files with 67 additions and 92 deletions
+13 -4
View File
@@ -90,6 +90,7 @@ swagger-enterprise-gen: ## Generate API Swagger specification
-x "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" \
-x "github.com/prometheus/alertmanager" \
-i pkg/api/swagger_tags.json \
-t enterprise \
--exclude-tag=alpha \
--include-tag=enterprise
endif
@@ -189,10 +190,18 @@ gen-feature-toggles:
go test -v ./pkg/services/featuremgmt/...; \
fi
.PHONY: gen-go
gen-go:
@echo "generate go files"
$(GO) run $(GO_RACE_FLAG) ./pkg/build/wire/cmd/wire/main.go gen -tags $(WIRE_TAGS) ./pkg/server
.PHONY: gen-go gen-enterprise-go
ifeq ("$(wildcard $(ENTERPRISE_EXT_FILE))","") ## if enterprise is not enabled
gen-enterprise-go:
@echo "skipping re-generating Wire graph for enterprise: not enabled"
else
gen-enterprise-go: ## Generate Wire graph (Enterprise)
@echo "re-generating Wire graph for enterprise"
$(GO) run ./pkg/build/wire/cmd/wire/main.go gen -tags "enterprise" -gen_tags "(enterprise || pro)" -output_file_prefix="enterprise_" ./pkg/server
endif
gen-go: gen-enterprise-go ## Generate Wire graph
@echo "generatng Wire graph"
$(GO) run ./pkg/build/wire/cmd/wire/main.go gen -tags "oss" -gen_tags "(!enterprise && !pro)" ./pkg/server
.PHONY: fix-cue
fix-cue:
+3
View File
@@ -101,6 +101,7 @@ type genCmd struct {
headerFile string
prefixFileName string
tags string
genTags string
}
func (*genCmd) Name() string { return "gen" }
@@ -119,6 +120,7 @@ func (cmd *genCmd) SetFlags(f *flag.FlagSet) {
f.StringVar(&cmd.headerFile, "header_file", "", "path to file to insert as a header in wire_gen.go")
f.StringVar(&cmd.prefixFileName, "output_file_prefix", "", "string to prepend to output file names.")
f.StringVar(&cmd.tags, "tags", "", "append build tags to the default wirebuild")
f.StringVar(&cmd.genTags, "gen_tags", "", "append build tags to the generated file")
}
func (cmd *genCmd) Execute(ctx context.Context, f *flag.FlagSet, args ...interface{}) subcommands.ExitStatus {
@@ -135,6 +137,7 @@ func (cmd *genCmd) Execute(ctx context.Context, f *flag.FlagSet, args ...interfa
opts.PrefixOutputFile = cmd.prefixFileName
opts.Tags = cmd.tags
opts.GenTags = cmd.genTags
outs, errs := wire.Generate(ctx, wd, os.Environ(), packages(f), opts)
if len(errs) > 0 {
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -2,9 +2,8 @@
//
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
@@ -1,8 +1,7 @@
// Code generated by Wire. DO NOT EDIT.
//go:generate go run -mod=mod github.com/google/wire/cmd/wire
//go:generate go run ./pkg/build/wire/cmd/wire/main.go
//go:build !wireinject
// +build !wireinject
package main
+9 -4
View File
@@ -66,6 +66,7 @@ type GenerateOptions struct {
Header []byte
PrefixOutputFile string
Tags string
GenTags string
}
// Generate performs dependency injection for the packages that match the given
@@ -104,7 +105,7 @@ func Generate(ctx context.Context, wd string, env []string, patterns []string, o
continue
}
copyNonInjectorDecls(g, injectorFiles, pkg.TypesInfo)
goSrc := g.frame(opts.Tags)
goSrc := g.frame(opts.Tags, opts.GenTags)
if len(opts.Header) > 0 {
goSrc = append(opts.Header, goSrc...)
}
@@ -258,7 +259,7 @@ func newGen(pkg *packages.Package) *gen {
}
// frame bakes the built up source body into an unformatted Go source file.
func (g *gen) frame(tags string) []byte {
func (g *gen) frame(tags, genTags string) []byte {
if g.buf.Len() == 0 {
return nil
}
@@ -267,8 +268,12 @@ func (g *gen) frame(tags string) []byte {
tags = fmt.Sprintf(" gen -tags \"%s\"", tags)
}
buf.WriteString("// Code generated by Wire. DO NOT EDIT.\n\n")
buf.WriteString("//go:generate go run -mod=mod github.com/google/wire/cmd/wire" + tags + "\n")
buf.WriteString("//+build !wireinject\n\n")
buf.WriteString("//go:generate go run ./pkg/build/wire/cmd/wire/main.go" + tags + "\n")
buildTags := "!wireinject"
if len(genTags) > 0 {
buildTags += " && " + genTags
}
buf.WriteString("//go:build " + buildTags + "\n\n")
buf.WriteString("package ")
buf.WriteString(g.pkg.Name)
buf.WriteString("\n\n")