codegen: skip generation of informers and listers on resources with missing verbs

This commit is contained in:
Michal Fojtik
2017-08-04 11:50:43 +02:00
parent 68a722155b
commit cd23e5f1fc
2 changed files with 12 additions and 5 deletions

View File

@@ -172,7 +172,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
var typesToGenerate []*types.Type
for _, t := range p.Types {
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines)
if !tags.GenerateClient || tags.NoVerbs {
if !tags.GenerateClient || tags.NoVerbs || !tags.HasVerb("list") || !tags.HasVerb("watch") {
continue
}
@@ -304,7 +304,8 @@ func groupPackage(basePackage string, groupVersions clientgentypes.GroupVersions
return generators
},
FilterFunc: func(c *generator.Context, t *types.Type) bool {
return util.MustParseClientGenTags(t.SecondClosestCommentLines).GenerateClient
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines)
return tags.GenerateClient && tags.HasVerb("list") && tags.HasVerb("watch")
},
}
}
@@ -344,7 +345,8 @@ func versionPackage(basePackage string, gv clientgentypes.GroupVersion, boilerpl
return generators
},
FilterFunc: func(c *generator.Context, t *types.Type) bool {
return util.MustParseClientGenTags(t.SecondClosestCommentLines).GenerateClient
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines)
return tags.GenerateClient && tags.HasVerb("list") && tags.HasVerb("watch")
},
}
}

View File

@@ -117,11 +117,15 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
var typesToGenerate []*types.Type
for _, t := range p.Types {
if !util.MustParseClientGenTags(t.SecondClosestCommentLines).GenerateClient {
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines)
if !tags.GenerateClient || !tags.HasVerb("list") || !tags.HasVerb("get") {
continue
}
typesToGenerate = append(typesToGenerate, t)
}
if len(typesToGenerate) == 0 {
continue
}
orderer := namer.Orderer{Namer: namer.NewPrivateNamer(0)}
typesToGenerate = orderer.OrderTypes(typesToGenerate)
@@ -155,7 +159,8 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
return generators
},
FilterFunc: func(c *generator.Context, t *types.Type) bool {
return util.MustParseClientGenTags(t.SecondClosestCommentLines).GenerateClient
tags := util.MustParseClientGenTags(t.SecondClosestCommentLines)
return tags.GenerateClient && tags.HasVerb("list") && tags.HasVerb("get")
},
})
}