Merge pull request #55233 from sttts/sttts-codegen-comment-blocks

Automatic merge from submit-queue (batch tested with PRs 55233, 55927, 55903, 54867, 55940). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

code-generators: remove distinction of 1st and 2nd comment block for tags

Follow-up for https://github.com/kubernetes/kubernetes/pull/53579.

Fixes #53893.

```release-note
Allow code-generator tags in the 2nd closest comment block and directly above a statement.
```
This commit is contained in:
Kubernetes Submit Queue 2017-11-18 12:26:05 -08:00 committed by GitHub
commit 3b4be46683
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 20 additions and 20 deletions

View File

@ -163,7 +163,7 @@ func packageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, cli
return generators return generators
}, },
FilterFunc: func(c *generator.Context, t *types.Type) bool { FilterFunc: func(c *generator.Context, t *types.Type) bool {
return util.MustParseClientGenTags(t.SecondClosestCommentLines).GenerateClient return util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...)).GenerateClient
}, },
} }
} }
@ -346,7 +346,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
} else { } else {
// User has not specified any override for this group version. // User has not specified any override for this group version.
// filter out types which dont have genclient. // filter out types which dont have genclient.
if tags := util.MustParseClientGenTags(t.SecondClosestCommentLines); !tags.GenerateClient { if tags := util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...)); !tags.GenerateClient {
continue continue
} }
} }
@ -395,7 +395,7 @@ type tagOverrideNamer struct {
} }
func (n *tagOverrideNamer) Name(t *types.Type) string { func (n *tagOverrideNamer) Name(t *types.Type) string {
if nameOverride := extractTag(n.tagName, t.SecondClosestCommentLines); nameOverride != "" { if nameOverride := extractTag(n.tagName, append(t.SecondClosestCommentLines, t.CommentLines...)); nameOverride != "" {
return nameOverride return nameOverride
} }

View File

@ -79,7 +79,7 @@ func PackageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, cli
return generators return generators
}, },
FilterFunc: func(c *generator.Context, t *types.Type) bool { FilterFunc: func(c *generator.Context, t *types.Type) bool {
return util.MustParseClientGenTags(t.SecondClosestCommentLines).GenerateClient return util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...)).GenerateClient
}, },
} }
} }

View File

@ -73,7 +73,7 @@ func (g *genFakeForGroup) GenerateType(c *generator.Context, t *types.Type, w io
sw.Do(groupClientTemplate, m) sw.Do(groupClientTemplate, m)
for _, t := range g.types { for _, t := range g.types {
tags, err := util.ParseClientGenTags(t.SecondClosestCommentLines) tags, err := util.ParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
if err != nil { if err != nil {
return err return err
} }

View File

@ -69,7 +69,7 @@ func genStatus(t *types.Type) bool {
} }
} }
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines) tags := util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
return hasStatus && !tags.NoStatus return hasStatus && !tags.NoStatus
} }
@ -87,7 +87,7 @@ func hasObjectMeta(t *types.Type) bool {
func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error { func (g *genFakeForType) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
sw := generator.NewSnippetWriter(w, c, "$", "$") sw := generator.NewSnippetWriter(w, c, "$", "$")
pkg := filepath.Base(t.Name.Package) pkg := filepath.Base(t.Name.Package)
tags, err := util.ParseClientGenTags(t.SecondClosestCommentLines) tags, err := util.ParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
if err != nil { if err != nil {
return err return err
} }

View File

@ -105,7 +105,7 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer
sw.Do(groupInterfaceTemplate, m) sw.Do(groupInterfaceTemplate, m)
sw.Do(groupClientTemplate, m) sw.Do(groupClientTemplate, m)
for _, t := range g.types { for _, t := range g.types {
tags, err := util.ParseClientGenTags(t.SecondClosestCommentLines) tags, err := util.ParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
if err != nil { if err != nil {
return err return err
} }

View File

@ -67,14 +67,14 @@ func genStatus(t *types.Type) bool {
break break
} }
} }
return hasStatus && !util.MustParseClientGenTags(t.SecondClosestCommentLines).NoStatus return hasStatus && !util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...)).NoStatus
} }
// GenerateType makes the body of a file implementing the individual typed client for type t. // GenerateType makes the body of a file implementing the individual typed client for type t.
func (g *genClientForType) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error { func (g *genClientForType) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
sw := generator.NewSnippetWriter(w, c, "$", "$") sw := generator.NewSnippetWriter(w, c, "$", "$")
pkg := filepath.Base(t.Name.Package) pkg := filepath.Base(t.Name.Package)
tags, err := util.ParseClientGenTags(t.SecondClosestCommentLines) tags, err := util.ParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
if err != nil { if err != nil {
return err return err
} }

View File

@ -72,7 +72,7 @@ func (g *informerGenerator) GenerateType(c *generator.Context, t *types.Type, w
clientSetInterface := c.Universe.Type(types.Name{Package: g.clientSetPackage, Name: "Interface"}) clientSetInterface := c.Universe.Type(types.Name{Package: g.clientSetPackage, Name: "Interface"})
informerFor := "InformerFor" informerFor := "InformerFor"
tags, err := util.ParseClientGenTags(t.SecondClosestCommentLines) tags, err := util.ParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
if err != nil { if err != nil {
return err return err
} }

View File

@ -71,7 +71,7 @@ func generatedBy() string {
func objectMetaForPackage(p *types.Package) (*types.Type, bool, error) { func objectMetaForPackage(p *types.Package) (*types.Type, bool, error) {
generatingForPackage := false generatingForPackage := false
for _, t := range p.Types { for _, t := range p.Types {
if !util.MustParseClientGenTags(t.SecondClosestCommentLines).GenerateClient { if !util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...)).GenerateClient {
continue continue
} }
generatingForPackage = true generatingForPackage = true
@ -176,7 +176,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
var typesToGenerate []*types.Type var typesToGenerate []*types.Type
for _, t := range p.Types { for _, t := range p.Types {
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines) tags := util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
if !tags.GenerateClient || tags.NoVerbs || !tags.HasVerb("list") || !tags.HasVerb("watch") { if !tags.GenerateClient || tags.NoVerbs || !tags.HasVerb("list") || !tags.HasVerb("watch") {
continue continue
} }
@ -308,7 +308,7 @@ func groupPackage(basePackage string, groupVersions clientgentypes.GroupVersions
return generators return generators
}, },
FilterFunc: func(c *generator.Context, t *types.Type) bool { FilterFunc: func(c *generator.Context, t *types.Type) bool {
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines) tags := util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
return tags.GenerateClient && tags.HasVerb("list") && tags.HasVerb("watch") return tags.GenerateClient && tags.HasVerb("list") && tags.HasVerb("watch")
}, },
} }
@ -351,7 +351,7 @@ func versionPackage(basePackage string, groupPkgName string, gv clientgentypes.G
return generators return generators
}, },
FilterFunc: func(c *generator.Context, t *types.Type) bool { FilterFunc: func(c *generator.Context, t *types.Type) bool {
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines) tags := util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
return tags.GenerateClient && tags.HasVerb("list") && tags.HasVerb("watch") return tags.GenerateClient && tags.HasVerb("list") && tags.HasVerb("watch")
}, },
} }

View File

@ -43,7 +43,7 @@ func (g *expansionGenerator) Filter(c *generator.Context, t *types.Type) bool {
func (g *expansionGenerator) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error { func (g *expansionGenerator) GenerateType(c *generator.Context, t *types.Type, w io.Writer) error {
sw := generator.NewSnippetWriter(w, c, "$", "$") sw := generator.NewSnippetWriter(w, c, "$", "$")
for _, t := range g.types { for _, t := range g.types {
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines) tags := util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
if _, err := os.Stat(filepath.Join(g.packagePath, strings.ToLower(t.Name.Name+"_expansion.go"))); os.IsNotExist(err) { if _, err := os.Stat(filepath.Join(g.packagePath, strings.ToLower(t.Name.Name+"_expansion.go"))); os.IsNotExist(err) {
sw.Do(expansionInterfaceTemplate, t) sw.Do(expansionInterfaceTemplate, t)
if !tags.NonNamespaced { if !tags.NonNamespaced {

View File

@ -118,7 +118,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
var typesToGenerate []*types.Type var typesToGenerate []*types.Type
for _, t := range p.Types { for _, t := range p.Types {
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines) tags := util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
if !tags.GenerateClient || !tags.HasVerb("list") || !tags.HasVerb("get") { if !tags.GenerateClient || !tags.HasVerb("list") || !tags.HasVerb("get") {
continue continue
} }
@ -160,7 +160,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
return generators return generators
}, },
FilterFunc: func(c *generator.Context, t *types.Type) bool { FilterFunc: func(c *generator.Context, t *types.Type) bool {
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines) tags := util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
return tags.GenerateClient && tags.HasVerb("list") && tags.HasVerb("get") return tags.GenerateClient && tags.HasVerb("list") && tags.HasVerb("get")
}, },
}) })
@ -174,7 +174,7 @@ func objectMetaForPackage(p *types.Package) (*types.Type, bool, error) {
generatingForPackage := false generatingForPackage := false
for _, t := range p.Types { for _, t := range p.Types {
// filter out types which dont have genclient. // filter out types which dont have genclient.
if !util.MustParseClientGenTags(t.SecondClosestCommentLines).GenerateClient { if !util.MustParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...)).GenerateClient {
continue continue
} }
generatingForPackage = true generatingForPackage = true
@ -238,7 +238,7 @@ func (g *listerGenerator) GenerateType(c *generator.Context, t *types.Type, w io
"objectMeta": g.objectMeta, "objectMeta": g.objectMeta,
} }
tags, err := util.ParseClientGenTags(t.SecondClosestCommentLines) tags, err := util.ParseClientGenTags(append(t.SecondClosestCommentLines, t.CommentLines...))
if err != nil { if err != nil {
return err return err
} }