From a5761d8074bbdf5bcf6254d6169e05a31ca312b8 Mon Sep 17 00:00:00 2001 From: Andy Goldstein Date: Mon, 1 May 2017 11:58:26 -0400 Subject: [PATCH] Use groupName comment for listers/informers If present, use the "// +groupName" doc comment as the desired group name when generating listers and informers. --- cmd/libs/go2idl/informer-gen/generators/packages.go | 7 +++++++ cmd/libs/go2idl/lister-gen/generators/lister.go | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/cmd/libs/go2idl/informer-gen/generators/packages.go b/cmd/libs/go2idl/informer-gen/generators/packages.go index 1f3ffcbe4d8..6d34474e014 100644 --- a/cmd/libs/go2idl/informer-gen/generators/packages.go +++ b/cmd/libs/go2idl/informer-gen/generators/packages.go @@ -150,6 +150,13 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat targetGroupVersions = externalGroupVersions } + // If there's a comment of the form "// +groupName=somegroup" or + // "// +groupName=somegroup.foo.bar.io", use the first field (somegroup) as the name of the + // group when generating. + if override := types.ExtractCommentTags("+", p.DocComments)["groupName"]; override != nil { + gv.Group = clientgentypes.Group(strings.SplitN(override[0], ".", 2)[0]) + } + var typesToGenerate []*types.Type for _, t := range p.Types { // filter out types which dont have genclient=true. diff --git a/cmd/libs/go2idl/lister-gen/generators/lister.go b/cmd/libs/go2idl/lister-gen/generators/lister.go index 794284d23a9..632b1e4c762 100644 --- a/cmd/libs/go2idl/lister-gen/generators/lister.go +++ b/cmd/libs/go2idl/lister-gen/generators/lister.go @@ -106,6 +106,13 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat internalGVPkg = strings.Join(parts[0:len(parts)-1], "/") } + // If there's a comment of the form "// +groupName=somegroup" or + // "// +groupName=somegroup.foo.bar.io", use the first field (somegroup) as the name of the + // group when generating. + if override := types.ExtractCommentTags("+", p.DocComments)["groupName"]; override != nil { + gv.Group = clientgentypes.Group(strings.SplitN(override[0], ".", 2)[0]) + } + var typesToGenerate []*types.Type for _, t := range p.Types { // filter out types which dont have genclient=true.