client-gen: stop embedding of GroupVersion client intfs

This commit is contained in:
Dr. Stefan Schimanski 2017-07-21 12:20:12 +02:00
parent 5490273951
commit 25f2b0a2c1
3 changed files with 16 additions and 15 deletions

View File

@ -70,7 +70,6 @@ func (g *genClientset) GenerateType(c *generator.Context, t *types.Type, w io.Wr
sw := generator.NewSnippetWriter(w, c, "$", "$")
allGroups := clientgentypes.ToGroupVersionPackages(g.groups)
m := map[string]interface{}{
"allGroups": allGroups,
"Config": c.Universe.Type(types.Name{Package: "k8s.io/client-go/rest", Name: "Config"}),
@ -116,7 +115,7 @@ var clientsetTemplate = `
// version included in a Clientset.
type Clientset struct {
*$.DiscoveryClient|raw$
$range .allGroups$*$.PackageName$.$.GroupVersion$Client
$range .allGroups$$.LowerCaseGroupVersion$ *$.PackageName$.$.GroupVersion$Client
$end$
}
`
@ -124,7 +123,7 @@ type Clientset struct {
var clientsetInterfaceImplTemplate = `
// $.GroupVersion$ retrieves the $.GroupVersion$Client
func (c *Clientset) $.GroupVersion$() $.PackageName$.$.GroupVersion$Interface {
return c.$.GroupVersion$Client
return c.$.LowerCaseGroupVersion$
}
`
@ -132,7 +131,7 @@ var clientsetInterfaceDefaultVersionImpl = `
// Deprecated: $.Group$ retrieves the default version of $.Group$Client.
// Please explicitly pick a version.
func (c *Clientset) $.Group$() $.PackageName$.$.GroupVersion$Interface {
return c.$.GroupVersion$Client
return c.$.LowerCaseGroupVersion$
}
`
@ -155,7 +154,7 @@ func NewForConfig(c *$.Config|raw$) (*Clientset, error) {
}
var cs Clientset
var err error
$range .allGroups$ cs.$.GroupVersion$Client, err =$.PackageName$.NewForConfig(&configShallowCopy)
$range .allGroups$ cs.$.LowerCaseGroupVersion$, err =$.PackageName$.NewForConfig(&configShallowCopy)
if err!=nil {
return nil, err
}
@ -174,7 +173,7 @@ var newClientsetForConfigOrDieTemplate = `
// panics if there is an error in the config.
func NewForConfigOrDie(c *$.Config|raw$) *Clientset {
var cs Clientset
$range .allGroups$ cs.$.GroupVersion$Client =$.PackageName$.NewForConfigOrDie(c)
$range .allGroups$ cs.$.LowerCaseGroupVersion$ =$.PackageName$.NewForConfigOrDie(c)
$end$
cs.DiscoveryClient = $.NewDiscoveryClientForConfigOrDie|raw$(c)
return &cs
@ -185,7 +184,7 @@ var newClientsetForRESTClientTemplate = `
// New creates a new Clientset for the given RESTClient.
func New(c $.RESTClientInterface|raw$) *Clientset {
var cs Clientset
$range .allGroups$ cs.$.GroupVersion$Client =$.PackageName$.New(c)
$range .allGroups$ cs.$.LowerCaseGroupVersion$ =$.PackageName$.New(c)
$end$
cs.DiscoveryClient = $.NewDiscoveryClient|raw$(c)
return &cs

View File

@ -91,11 +91,12 @@ func ToGroupVersionPackages(groups []GroupVersions) []GroupVersionPackage {
defaultVersion := defaultVersion(group.Versions)
for _, version := range group.Versions {
groupVersionPackages = append(groupVersionPackages, GroupVersionPackage{
Group: Group(namer.IC(group.Group.NonEmpty())),
Version: Version(namer.IC(version.String())),
GroupVersion: namer.IC(group.Group.NonEmpty()) + namer.IC(version.String()),
PackageName: strings.ToLower(group.Group.NonEmpty() + version.NonEmpty()),
IsDefaultVersion: version == defaultVersion && version != "",
Group: Group(namer.IC(group.Group.NonEmpty())),
Version: Version(namer.IC(version.String())),
GroupVersion: namer.IC(group.Group.NonEmpty()) + namer.IC(version.String()),
LowerCaseGroupVersion: namer.IL(group.Group.NonEmpty()) + namer.IC(version.String()),
PackageName: strings.ToLower(group.Group.NonEmpty() + version.NonEmpty()),
IsDefaultVersion: version == defaultVersion && version != "",
})
}
}

View File

@ -58,9 +58,10 @@ type GroupVersionPackage struct {
Version Version
// If a user calls a group client without specifying the version (e.g.,
// c.Core(), instead of c.CoreV1()), the default version will be returned.
IsDefaultVersion bool
GroupVersion string
PackageName string
IsDefaultVersion bool
GroupVersion string
LowerCaseGroupVersion string
PackageName string
}
type GroupInstallPackage struct {