From fb4d0150b96a98befd527e50da989967d6341d05 Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Sun, 12 Mar 2023 17:18:19 -0700 Subject: [PATCH] Convert apiextensions-apiserver to new codegen --- .../examples/client-go/hack/update-codegen.sh | 21 ++++++++----- .../hack/update-codegen.sh | 30 ++++++++----------- .../client/clientset/clientset/clientset.go | 20 ++++++------- .../clientset/fake/clientset_generated.go | 10 +++---- .../clientset/clientset/fake/register.go | 2 +- .../clientset/clientset/scheme/register.go | 2 +- .../apiextensions/interface.go | 14 ++++----- 7 files changed, 50 insertions(+), 49 deletions(-) diff --git a/staging/src/k8s.io/apiextensions-apiserver/examples/client-go/hack/update-codegen.sh b/staging/src/k8s.io/apiextensions-apiserver/examples/client-go/hack/update-codegen.sh index e3d87c3f10e..151ebd32d4e 100755 --- a/staging/src/k8s.io/apiextensions-apiserver/examples/client-go/hack/update-codegen.sh +++ b/staging/src/k8s.io/apiextensions-apiserver/examples/client-go/hack/update-codegen.sh @@ -21,17 +21,22 @@ set -o pipefail SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. CODEGEN_PKG=${CODEGEN_PKG:-$(cd "${SCRIPT_ROOT}"; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} +source "${CODEGEN_PKG}/kube_codegen.sh" + # generate the code with: # --output-base because this script should also be able to run inside the vendor dir of # k8s.io/kubernetes. The output-base is needed for the generators to output into the vendor dir # instead of the $GOPATH directly. For normal projects this can be dropped. -"${CODEGEN_PKG}/generate-groups.sh" "applyconfiguration,client,deepcopy,informer,lister" \ - k8s.io/apiextensions-apiserver/examples/client-go/pkg/client \ - k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis \ - cr:v1 \ - --output-base "$(dirname "${BASH_SOURCE[0]}")/../../../../.." \ - --go-header-file "${SCRIPT_ROOT}/hack/boilerplate.go.txt" +kube::codegen::gen_helpers \ + --input-pkg-root k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis \ + --output-base "$(dirname "${BASH_SOURCE[0]}")/../../../../.." \ + --boilerplate "${SCRIPT_ROOT}/hack/boilerplate.go.txt" -# To use your own boilerplate text append: -# --go-header-file ${SCRIPT_ROOT}/hack/custom-boilerplate.go.txt +kube::codegen::gen_client \ + --with-watch \ + --with-applyconfig \ + --input-pkg-root k8s.io/apiextensions-apiserver/examples/client-go/pkg/apis \ + --output-pkg-root k8s.io/apiextensions-apiserver/examples/client-go/pkg/client \ + --output-base "$(dirname "${BASH_SOURCE[0]}")/../../../../.." \ + --boilerplate "${SCRIPT_ROOT}/hack/boilerplate.go.txt" diff --git a/staging/src/k8s.io/apiextensions-apiserver/hack/update-codegen.sh b/staging/src/k8s.io/apiextensions-apiserver/hack/update-codegen.sh index f5dc31758ca..44aca6f1ec2 100755 --- a/staging/src/k8s.io/apiextensions-apiserver/hack/update-codegen.sh +++ b/staging/src/k8s.io/apiextensions-apiserver/hack/update-codegen.sh @@ -21,21 +21,17 @@ set -o pipefail SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. CODEGEN_PKG=${CODEGEN_PKG:-$(cd "${SCRIPT_ROOT}"; ls -d -1 ./vendor/k8s.io/code-generator 2>/dev/null || echo ../code-generator)} -CLIENTSET_NAME_VERSIONED=clientset \ -CLIENTSET_PKG_NAME=clientset \ -"${CODEGEN_PKG}/generate-groups.sh" "deepcopy,defaulter,client,lister,informer" \ - k8s.io/apiextensions-apiserver/pkg/client \ - k8s.io/apiextensions-apiserver/pkg/apis \ - "apiextensions:v1beta1,v1" \ - --output-base "$(dirname "${BASH_SOURCE[0]}")/../../.." \ - --go-header-file "${SCRIPT_ROOT}/hack/boilerplate.go.txt" +source "${CODEGEN_PKG}/kube_codegen.sh" -CLIENTSET_NAME_VERSIONED=clientset \ -CLIENTSET_PKG_NAME=clientset \ -"${CODEGEN_PKG}/generate-internal-groups.sh" "deepcopy,conversion" \ - k8s.io/apiextensions-apiserver/pkg/client \ - k8s.io/apiextensions-apiserver/pkg/apis \ - k8s.io/apiextensions-apiserver/pkg/apis \ - "apiextensions:v1beta1,v1" \ - --output-base "$(dirname "${BASH_SOURCE[0]}")/../../.." \ - --go-header-file "${SCRIPT_ROOT}/hack/boilerplate.go.txt" +kube::codegen::gen_helpers \ + --input-pkg-root k8s.io/apiextensions-apiserver/pkg \ + --output-base "$(dirname "${BASH_SOURCE[0]}")/../../.." \ + --boilerplate "${SCRIPT_ROOT}/hack/boilerplate.go.txt" + +kube::codegen::gen_client \ + --with-watch \ + --input-pkg-root k8s.io/apiextensions-apiserver/pkg/apis \ + --output-pkg-root k8s.io/apiextensions-apiserver/pkg/client \ + --output-base "$(dirname "${BASH_SOURCE[0]}")/../../.." \ + --versioned-name clientset \ + --boilerplate "${SCRIPT_ROOT}/hack/boilerplate.go.txt" diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/clientset.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/clientset.go index 13fc8159426..449285e1796 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/clientset.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/clientset.go @@ -31,20 +31,15 @@ import ( type Interface interface { Discovery() discovery.DiscoveryInterface - ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface ApiextensionsV1() apiextensionsv1.ApiextensionsV1Interface + ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface } // Clientset contains the clients for groups. type Clientset struct { *discovery.DiscoveryClient - apiextensionsV1beta1 *apiextensionsv1beta1.ApiextensionsV1beta1Client apiextensionsV1 *apiextensionsv1.ApiextensionsV1Client -} - -// ApiextensionsV1beta1 retrieves the ApiextensionsV1beta1Client -func (c *Clientset) ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface { - return c.apiextensionsV1beta1 + apiextensionsV1beta1 *apiextensionsv1beta1.ApiextensionsV1beta1Client } // ApiextensionsV1 retrieves the ApiextensionsV1Client @@ -52,6 +47,11 @@ func (c *Clientset) ApiextensionsV1() apiextensionsv1.ApiextensionsV1Interface { return c.apiextensionsV1 } +// ApiextensionsV1beta1 retrieves the ApiextensionsV1beta1Client +func (c *Clientset) ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface { + return c.apiextensionsV1beta1 +} + // Discovery retrieves the DiscoveryClient func (c *Clientset) Discovery() discovery.DiscoveryInterface { if c == nil { @@ -96,11 +96,11 @@ func NewForConfigAndClient(c *rest.Config, httpClient *http.Client) (*Clientset, var cs Clientset var err error - cs.apiextensionsV1beta1, err = apiextensionsv1beta1.NewForConfigAndClient(&configShallowCopy, httpClient) + cs.apiextensionsV1, err = apiextensionsv1.NewForConfigAndClient(&configShallowCopy, httpClient) if err != nil { return nil, err } - cs.apiextensionsV1, err = apiextensionsv1.NewForConfigAndClient(&configShallowCopy, httpClient) + cs.apiextensionsV1beta1, err = apiextensionsv1beta1.NewForConfigAndClient(&configShallowCopy, httpClient) if err != nil { return nil, err } @@ -125,8 +125,8 @@ func NewForConfigOrDie(c *rest.Config) *Clientset { // New creates a new Clientset for the given RESTClient. func New(c rest.Interface) *Clientset { var cs Clientset - cs.apiextensionsV1beta1 = apiextensionsv1beta1.New(c) cs.apiextensionsV1 = apiextensionsv1.New(c) + cs.apiextensionsV1beta1 = apiextensionsv1beta1.New(c) cs.DiscoveryClient = discovery.NewDiscoveryClient(c) return &cs diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/clientset_generated.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/clientset_generated.go index 14acba99af5..325781f5fda 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/clientset_generated.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/clientset_generated.go @@ -81,12 +81,12 @@ var ( _ testing.FakeClient = &Clientset{} ) -// ApiextensionsV1beta1 retrieves the ApiextensionsV1beta1Client -func (c *Clientset) ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface { - return &fakeapiextensionsv1beta1.FakeApiextensionsV1beta1{Fake: &c.Fake} -} - // ApiextensionsV1 retrieves the ApiextensionsV1Client func (c *Clientset) ApiextensionsV1() apiextensionsv1.ApiextensionsV1Interface { return &fakeapiextensionsv1.FakeApiextensionsV1{Fake: &c.Fake} } + +// ApiextensionsV1beta1 retrieves the ApiextensionsV1beta1Client +func (c *Clientset) ApiextensionsV1beta1() apiextensionsv1beta1.ApiextensionsV1beta1Interface { + return &fakeapiextensionsv1beta1.FakeApiextensionsV1beta1{Fake: &c.Fake} +} diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/register.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/register.go index 7f9da840e18..355c699073f 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/register.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/fake/register.go @@ -32,8 +32,8 @@ var scheme = runtime.NewScheme() var codecs = serializer.NewCodecFactory(scheme) var localSchemeBuilder = runtime.SchemeBuilder{ - apiextensionsv1beta1.AddToScheme, apiextensionsv1.AddToScheme, + apiextensionsv1beta1.AddToScheme, } // AddToScheme adds all types of this clientset into the given scheme. This allows composition diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/register.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/register.go index 25fca99178b..b5c4fdc7897 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/register.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/scheme/register.go @@ -32,8 +32,8 @@ var Scheme = runtime.NewScheme() var Codecs = serializer.NewCodecFactory(Scheme) var ParameterCodec = runtime.NewParameterCodec(Scheme) var localSchemeBuilder = runtime.SchemeBuilder{ - apiextensionsv1beta1.AddToScheme, apiextensionsv1.AddToScheme, + apiextensionsv1beta1.AddToScheme, } // AddToScheme adds all types of this clientset into the given scheme. This allows composition diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/interface.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/interface.go index 1bdd40e26c3..dcb16e7814e 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/interface.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/client/informers/externalversions/apiextensions/interface.go @@ -26,10 +26,10 @@ import ( // Interface provides access to each of this group's versions. type Interface interface { - // V1beta1 provides access to shared informers for resources in V1beta1. - V1beta1() v1beta1.Interface // V1 provides access to shared informers for resources in V1. V1() v1.Interface + // V1beta1 provides access to shared informers for resources in V1beta1. + V1beta1() v1beta1.Interface } type group struct { @@ -43,12 +43,12 @@ func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakList return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions} } -// V1beta1 returns a new v1beta1.Interface. -func (g *group) V1beta1() v1beta1.Interface { - return v1beta1.New(g.factory, g.namespace, g.tweakListOptions) -} - // V1 returns a new v1.Interface. func (g *group) V1() v1.Interface { return v1.New(g.factory, g.namespace, g.tweakListOptions) } + +// V1beta1 returns a new v1beta1.Interface. +func (g *group) V1beta1() v1beta1.Interface { + return v1beta1.New(g.factory, g.namespace, g.tweakListOptions) +}