Handle errors in generated client scheme

This commit is contained in:
Mikhail Mazurskiy 2018-06-22 20:15:17 +10:00
parent 036434583f
commit 5cb6db95b5
No known key found for this signature in database
GPG Key ID: 93551ECC96E2F568

View File

@ -93,6 +93,8 @@ func (g *GenScheme) GenerateType(c *generator.Context, t *types.Type, w io.Write
"runtimeNewScheme": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "NewScheme"}), "runtimeNewScheme": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "NewScheme"}),
"serializerNewCodecFactory": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/serializer", Name: "NewCodecFactory"}), "serializerNewCodecFactory": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/serializer", Name: "NewCodecFactory"}),
"runtimeScheme": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "Scheme"}), "runtimeScheme": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "Scheme"}),
"runtimeSchemeBuilder": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "SchemeBuilder"}),
"runtimeUtilMust": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/util/runtime", Name: "Must"}),
"schemaGroupVersion": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupVersion"}), "schemaGroupVersion": c.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupVersion"}),
"metav1AddToGroupVersion": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "AddToGroupVersion"}), "metav1AddToGroupVersion": c.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "AddToGroupVersion"}),
} }
@ -130,10 +132,10 @@ func (g *GenScheme) GenerateType(c *generator.Context, t *types.Type, w io.Write
var globalsTemplate = ` var globalsTemplate = `
var $.Scheme$ = $.runtimeNewScheme|raw$() var $.Scheme$ = $.runtimeNewScheme|raw$()
var $.Codecs$ = $.serializerNewCodecFactory|raw$($.Scheme$) var $.Codecs$ = $.serializerNewCodecFactory|raw$($.Scheme$)
var $.ParameterCodec$ = $.runtimeNewParameterCodec|raw$($.Scheme$) var $.ParameterCodec$ = $.runtimeNewParameterCodec|raw$($.Scheme$)`
`
var registryRegistration = ` var registryRegistration = `
func init() { func init() {
$.metav1AddToGroupVersion|raw$($.Scheme$, $.schemaGroupVersion|raw${Version: "v1"}) $.metav1AddToGroupVersion|raw$($.Scheme$, $.schemaGroupVersion|raw${Version: "v1"})
Install($.Scheme$) Install($.Scheme$)
@ -151,11 +153,13 @@ func Install(scheme *$.runtimeScheme|raw$) {
` `
var simpleRegistration = ` var simpleRegistration = `
var localSchemeBuilder = $.runtimeSchemeBuilder|raw${
$- range .allGroupVersions$
func init() { $.PackageAlias$.AddToScheme,
$.metav1AddToGroupVersion|raw$($.Scheme$, $.schemaGroupVersion|raw${Version: "v1"}) $- end$
AddToScheme($.Scheme$) $if .customRegister$
ExtraAddToScheme,
$end -$
} }
// AddToScheme adds all types of this clientset into the given scheme. This allows composition // AddToScheme adds all types of this clientset into the given scheme. This allows composition
@ -168,16 +172,14 @@ func init() {
// ) // )
// //
// kclientset, _ := kubernetes.NewForConfig(c) // kclientset, _ := kubernetes.NewForConfig(c)
// aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme) // _ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
// //
// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types // After this, RawExtensions in Kubernetes types will serialize kube-aggregator types
// correctly. // correctly.
func AddToScheme(scheme *$.runtimeScheme|raw$) { var AddToScheme = localSchemeBuilder.AddToScheme
$- range .allGroupVersions$
$.PackageAlias$.AddToScheme(scheme) func init() {
$- end$ $.metav1AddToGroupVersion|raw$($.Scheme$, $.schemaGroupVersion|raw${Version: "v1"})
$if .customRegister$ $.runtimeUtilMust|raw$(AddToScheme($.Scheme$))
ExtraAddToScheme(scheme)
$end -$
} }
` `