From c05e46c1630ba95636faa6036faa45f4b25e4d35 Mon Sep 17 00:00:00 2001 From: Lionel Jouin Date: Thu, 19 Dec 2024 19:02:34 +0100 Subject: [PATCH 1/5] Add missing imports in register-gen Due to a recent change in k8s.io/gengo/v2, the register-gen is missing 2 imports.The imports were previously auto inserted during the code generation by k8s.io/gengo/v2. Now, instead, they are directly imported by the register-gen. An output_tests has been added to register-gen. This generates an example, which would have been invalid with these changes. Signed-off-by: Lionel Jouin --- .../generators/register_external.go | 22 +++--- .../cmd/register-gen/output_tests/generate.go | 20 ++++++ .../output_tests/simpletype/doc.go | 18 +++++ .../output_tests/simpletype/fake_deepcopy.go | 44 ++++++++++++ .../output_tests/simpletype/types.go | 25 +++++++ .../simpletype/zz_generated.register.go | 69 +++++++++++++++++++ staging/src/k8s.io/code-generator/go.mod | 3 + staging/src/k8s.io/code-generator/go.sum | 2 + 8 files changed, 194 insertions(+), 9 deletions(-) create mode 100644 staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/generate.go create mode 100644 staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go create mode 100644 staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/fake_deepcopy.go create mode 100644 staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/types.go create mode 100644 staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/zz_generated.register.go diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/generators/register_external.go b/staging/src/k8s.io/code-generator/cmd/register-gen/generators/register_external.go index 7eb7793e408..623d100758e 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/generators/register_external.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/generators/register_external.go @@ -61,11 +61,15 @@ func (g *registerExternalGenerator) Finalize(context *generator.Context, w io.Wr sw := generator.NewSnippetWriter(w, context, "$", "$") m := map[string]interface{}{ - "groupName": g.gv.Group, - "version": g.gv.Version, - "types": typesToGenerateOnlyNames, - "addToGroupVersion": context.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "AddToGroupVersion"}), - "groupVersion": context.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "GroupVersion"}), + "groupName": g.gv.Group, + "version": g.gv.Version, + "types": typesToGenerateOnlyNames, + "addToGroupVersion": context.Universe.Function(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "AddToGroupVersion"}), + "groupVersion": context.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/apis/meta/v1", Name: "GroupVersion"}), + "schemaGroupVersion": context.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupVersion"}), + "schemaGroupResource": context.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime/schema", Name: "GroupResource"}), + "scheme": context.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "Scheme"}), + "schemeBuilder": context.Universe.Type(types.Name{Package: "k8s.io/apimachinery/pkg/runtime", Name: "SchemeBuilder"}), } sw.Do(registerExternalTypesTemplate, m) return sw.Error() @@ -80,16 +84,16 @@ var GroupVersion = $.groupVersion|raw${Group: GroupName, Version: "$.version$"} // SchemeGroupVersion is group version used to register these objects // Deprecated: use GroupVersion instead. -var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "$.version$"} +var SchemeGroupVersion = $.schemaGroupVersion|raw${Group: GroupName, Version: "$.version$"} // Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { +func Resource(resource string) $.schemaGroupResource|raw$ { return SchemeGroupVersion.WithResource(resource).GroupResource() } var ( // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. - SchemeBuilder runtime.SchemeBuilder + SchemeBuilder $.schemeBuilder|raw$ localSchemeBuilder = &SchemeBuilder // Deprecated: use Install instead AddToScheme = localSchemeBuilder.AddToScheme @@ -104,7 +108,7 @@ func init() { } // Adds the list of known types to Scheme. -func addKnownTypes(scheme *runtime.Scheme) error { +func addKnownTypes(scheme *$.scheme|raw$) error { scheme.AddKnownTypes(SchemeGroupVersion, $range .types -$ &$.${}, diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/generate.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/generate.go new file mode 100644 index 00000000000..3e50604b79f --- /dev/null +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/generate.go @@ -0,0 +1,20 @@ +//go:build !ignore_autogenerated + +/* +Copyright 2024 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +//go:generate go run k8s.io/code-generator/cmd/register-gen --output-file zz_generated.register.go --go-header-file=../../../examples/hack/boilerplate.go.txt k8s.io/code-generator/cmd/register-gen/output_tests/... +package outputtests diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go new file mode 100644 index 00000000000..a1f9fbcc6a3 --- /dev/null +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go @@ -0,0 +1,18 @@ +/* +Copyright 2018 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// +groupName=simpletype.foo.bar +package simpletype diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/fake_deepcopy.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/fake_deepcopy.go new file mode 100644 index 00000000000..7a286022479 --- /dev/null +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/fake_deepcopy.go @@ -0,0 +1,44 @@ +/* +Copyright 2024 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package simpletype + +import ( + "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SimpleType) DeepCopyInto(out *SimpleType) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Inner. +func (in *SimpleType) DeepCopy() *SimpleType { + if in == nil { + return nil + } + out := new(SimpleType) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *SimpleType) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/types.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/types.go new file mode 100644 index 00000000000..5ebd211ee45 --- /dev/null +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/types.go @@ -0,0 +1,25 @@ +/* +Copyright 2018 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package simpletype + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + +type SimpleType struct { + metav1.TypeMeta `json:",inline"` +} diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/zz_generated.register.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/zz_generated.register.go new file mode 100644 index 00000000000..ca1fef67419 --- /dev/null +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/zz_generated.register.go @@ -0,0 +1,69 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by register-gen. DO NOT EDIT. + +package simpletype + +import ( + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName specifies the group name used to register the objects. +const GroupName = "simpletype.foo.bar" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "simpletype"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "simpletype"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. + SchemeBuilder runtime.SchemeBuilder + localSchemeBuilder = &SchemeBuilder + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme +) + +func init() { + // We only register manually written functions here. The registration of the + // generated functions takes place in the generated files. The separation + // makes the code compile even when the generated files are missing. + localSchemeBuilder.Register(addKnownTypes) +} + +// Adds the list of known types to Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &SimpleType{}, + ) + // AddToGroupVersion allows the serialization of client types like ListOptions. + v1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil +} diff --git a/staging/src/k8s.io/code-generator/go.mod b/staging/src/k8s.io/code-generator/go.mod index 1e23a31ca43..30f3fa8f8b3 100644 --- a/staging/src/k8s.io/code-generator/go.mod +++ b/staging/src/k8s.io/code-generator/go.mod @@ -38,10 +38,13 @@ require ( github.com/modern-go/reflect2 v1.0.2 // indirect github.com/x448/float16 v0.8.4 // indirect golang.org/x/mod v0.21.0 // indirect + golang.org/x/net v0.30.0 // indirect golang.org/x/sync v0.8.0 // indirect golang.org/x/tools v0.26.0 // indirect google.golang.org/protobuf v1.35.1 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect + k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.2 // indirect ) diff --git a/staging/src/k8s.io/code-generator/go.sum b/staging/src/k8s.io/code-generator/go.sum index 268ddf45329..f029b8f1e43 100644 --- a/staging/src/k8s.io/code-generator/go.sum +++ b/staging/src/k8s.io/code-generator/go.sum @@ -89,6 +89,7 @@ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5t golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.28.0/go.mod h1:rmgy+3RHxRZMyY0jjAJShp2zgEdOqj2AO7U0pYmeQ7U= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0= @@ -110,6 +111,7 @@ golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM= From 5fa72a8c1db08e7b43bd29202c3c4d25b6d33bc6 Mon Sep 17 00:00:00 2001 From: Lionel Jouin Date: Sun, 29 Dec 2024 12:00:24 +0100 Subject: [PATCH 2/5] Add codegen::register to hack/update-codegen.sh Co-authored-by: Joe Betz Signed-off-by: Lionel Jouin --- hack/update-codegen.sh | 54 +++++++++++++++++++ .../output_tests/simpletype/doc.go | 2 + 2 files changed, 56 insertions(+) diff --git a/hack/update-codegen.sh b/hack/update-codegen.sh index 281a6f2749a..8fb1ed6c42b 100755 --- a/hack/update-codegen.sh +++ b/hack/update-codegen.sh @@ -456,6 +456,60 @@ function codegen::conversions() { fi } +# Register generation +# +# Any package that wants register functions generated must include a +# comment-tag in column 0 of one file of the form: +# // +k8s:register-gen=package +# +function codegen::register() { + # Build the tool. + GOPROXY=off go install \ + k8s.io/code-generator/cmd/register-gen + + # The result file, in each pkg, of register generation. + local output_file="${GENERATED_FILE_PREFIX}register.go" + + # All directories that request any form of register generation. + if [[ "${DBG_CODEGEN}" == 1 ]]; then + kube::log::status "DBG: finding all +k8s:register-gen tags" + fi + local tag_dirs=() + kube::util::read-array tag_dirs < <( \ + grep -l --null '+k8s:register-gen=' "${ALL_K8S_TAG_FILES[@]}" \ + | while read -r -d $'\0' F; do dirname "${F}"; done \ + | sort -u) + if [[ "${DBG_CODEGEN}" == 1 ]]; then + kube::log::status "DBG: found ${#tag_dirs[@]} +k8s:register-gen tagged dirs" + fi + + local tag_pkgs=() + for dir in "${tag_dirs[@]}"; do + tag_pkgs+=("./$dir") + done + + kube::log::status "Generating register code for ${#tag_pkgs[@]} targets" + if [[ "${DBG_CODEGEN}" == 1 ]]; then + kube::log::status "DBG: running register-gen for:" + for dir in "${tag_dirs[@]}"; do + kube::log::status "DBG: $dir" + done + fi + + git_find -z ':(glob)**'/"${output_file}" | xargs -0 rm -f + + register-gen \ + -v "${KUBE_VERBOSE}" \ + --go-header-file "${BOILERPLATE_FILENAME}" \ + --output-file "${output_file}" \ + "${tag_pkgs[@]}" \ + "$@" + + if [[ "${DBG_CODEGEN}" == 1 ]]; then + kube::log::status "Generated register code" + fi +} + # $@: directories to exclude # example: # k8s_tag_files_except foo bat/qux diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go index a1f9fbcc6a3..8c3b819e019 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go @@ -14,5 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ +// +k8s:register-gen=simpletype + // +groupName=simpletype.foo.bar package simpletype From 6ad91995281edbb885ec0eecb40a68ff9b3f6f6e Mon Sep 17 00:00:00 2001 From: Lionel Jouin Date: Tue, 4 Feb 2025 20:11:37 +0100 Subject: [PATCH 3/5] add simpletype pkg in v1 for register-gen test Signed-off-by: Lionel Jouin --- .../output_tests/simpletype/{ => v1}/doc.go | 3 +-- .../simpletype/{ => v1}/fake_deepcopy.go | 2 +- .../output_tests/simpletype/{ => v1}/types.go | 2 +- .../simpletype/{ => v1}/zz_generated.register.go | 12 ++++++------ 4 files changed, 9 insertions(+), 10 deletions(-) rename staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/{ => v1}/doc.go (92%) rename staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/{ => v1}/fake_deepcopy.go (98%) rename staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/{ => v1}/types.go (97%) rename staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/{ => v1}/zz_generated.register.go (89%) diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/doc.go similarity index 92% rename from staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go rename to staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/doc.go index 8c3b819e019..07b9bb95e3b 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/doc.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/doc.go @@ -16,5 +16,4 @@ limitations under the License. // +k8s:register-gen=simpletype -// +groupName=simpletype.foo.bar -package simpletype +package v1 diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/fake_deepcopy.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/fake_deepcopy.go similarity index 98% rename from staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/fake_deepcopy.go rename to staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/fake_deepcopy.go index 7a286022479..5f87053d92f 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/fake_deepcopy.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/fake_deepcopy.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package simpletype +package v1 import ( "k8s.io/apimachinery/pkg/runtime" diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/types.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/types.go similarity index 97% rename from staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/types.go rename to staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/types.go index 5ebd211ee45..9788ca68778 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/types.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/types.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package simpletype +package v1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/zz_generated.register.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/zz_generated.register.go similarity index 89% rename from staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/zz_generated.register.go rename to staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/zz_generated.register.go index ca1fef67419..1dcc5674a7b 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/zz_generated.register.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/zz_generated.register.go @@ -19,23 +19,23 @@ limitations under the License. // Code generated by register-gen. DO NOT EDIT. -package simpletype +package v1 import ( - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" schema "k8s.io/apimachinery/pkg/runtime/schema" ) // GroupName specifies the group name used to register the objects. -const GroupName = "simpletype.foo.bar" +const GroupName = "simpletype" // GroupVersion specifies the group and the version used to register the objects. -var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "simpletype"} +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} // SchemeGroupVersion is group version used to register these objects // Deprecated: use GroupVersion instead. -var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "simpletype"} +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} // Resource takes an unqualified resource and returns a Group qualified GroupResource func Resource(resource string) schema.GroupResource { @@ -64,6 +64,6 @@ func addKnownTypes(scheme *runtime.Scheme) error { &SimpleType{}, ) // AddToGroupVersion allows the serialization of client types like ListOptions. - v1.AddToGroupVersion(scheme, SchemeGroupVersion) + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil } From 849aa0858f349d16af9b7f7f1e7b17d97e3cb017 Mon Sep 17 00:00:00 2001 From: Henrik Schmidt Date: Sat, 22 Feb 2025 14:01:49 +0100 Subject: [PATCH 4/5] Generate register files for all examples (cherry picked from commit b365634a0d0b2456e918729a9e4b1a4950902dc9) --- .../apis/example/v1/zz_generated.register.go | 72 +++++++++++++++++++ .../apis/example/v1/zz_generated.register.go | 72 +++++++++++++++++++ .../apis/core/v1/zz_generated.register.go} | 43 ++++++----- .../v1/zz_generated.register.go} | 43 ++++++----- .../apiserver/apis/example2/v1/register.go | 59 --------------- .../apis/example2/v1/zz_generated.register.go | 70 ++++++++++++++++++ .../apiserver/apis/example3.io/v1/register.go | 59 --------------- .../example3.io/v1/zz_generated.register.go | 70 ++++++++++++++++++ .../crd/apis/conflicting/v1/register.go | 59 --------------- .../conflicting/v1/zz_generated.register.go} | 43 ++++++----- .../examples/crd/apis/example/v1/register.go | 59 --------------- .../apis/example/v1/zz_generated.register.go | 72 +++++++++++++++++++ .../examples/crd/apis/example2/v1/register.go | 59 --------------- .../example2/v1/zz_generated.register.go} | 43 ++++++----- .../crd/apis/extensions/v1/register.go | 59 --------------- .../extensions/v1/zz_generated.register.go | 71 ++++++++++++++++++ .../examples/hack/update-codegen.sh | 4 ++ .../examples/single/api/v1/register.go | 59 --------------- .../single/api/v1/zz_generated.register.go | 72 +++++++++++++++++++ 19 files changed, 611 insertions(+), 477 deletions(-) create mode 100644 staging/src/k8s.io/code-generator/examples/HyphenGroup/apis/example/v1/zz_generated.register.go create mode 100644 staging/src/k8s.io/code-generator/examples/MixedCase/apis/example/v1/zz_generated.register.go rename staging/src/k8s.io/code-generator/examples/{HyphenGroup/apis/example/v1/register.go => apiserver/apis/core/v1/zz_generated.register.go} (61%) rename staging/src/k8s.io/code-generator/examples/apiserver/apis/{core/v1/register.go => example/v1/zz_generated.register.go} (60%) delete mode 100644 staging/src/k8s.io/code-generator/examples/apiserver/apis/example2/v1/register.go create mode 100644 staging/src/k8s.io/code-generator/examples/apiserver/apis/example2/v1/zz_generated.register.go delete mode 100644 staging/src/k8s.io/code-generator/examples/apiserver/apis/example3.io/v1/register.go create mode 100644 staging/src/k8s.io/code-generator/examples/apiserver/apis/example3.io/v1/zz_generated.register.go delete mode 100644 staging/src/k8s.io/code-generator/examples/crd/apis/conflicting/v1/register.go rename staging/src/k8s.io/code-generator/examples/{apiserver/apis/example/v1/register.go => crd/apis/conflicting/v1/zz_generated.register.go} (60%) delete mode 100644 staging/src/k8s.io/code-generator/examples/crd/apis/example/v1/register.go create mode 100644 staging/src/k8s.io/code-generator/examples/crd/apis/example/v1/zz_generated.register.go delete mode 100644 staging/src/k8s.io/code-generator/examples/crd/apis/example2/v1/register.go rename staging/src/k8s.io/code-generator/examples/{MixedCase/apis/example/v1/register.go => crd/apis/example2/v1/zz_generated.register.go} (60%) delete mode 100644 staging/src/k8s.io/code-generator/examples/crd/apis/extensions/v1/register.go create mode 100644 staging/src/k8s.io/code-generator/examples/crd/apis/extensions/v1/zz_generated.register.go delete mode 100644 staging/src/k8s.io/code-generator/examples/single/api/v1/register.go create mode 100644 staging/src/k8s.io/code-generator/examples/single/api/v1/zz_generated.register.go diff --git a/staging/src/k8s.io/code-generator/examples/HyphenGroup/apis/example/v1/zz_generated.register.go b/staging/src/k8s.io/code-generator/examples/HyphenGroup/apis/example/v1/zz_generated.register.go new file mode 100644 index 00000000000..bf9e0062fd1 --- /dev/null +++ b/staging/src/k8s.io/code-generator/examples/HyphenGroup/apis/example/v1/zz_generated.register.go @@ -0,0 +1,72 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by register-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName specifies the group name used to register the objects. +const GroupName = "example-group.hyphens.code-generator.k8s.io" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. + SchemeBuilder runtime.SchemeBuilder + localSchemeBuilder = &SchemeBuilder + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme +) + +func init() { + // We only register manually written functions here. The registration of the + // generated functions takes place in the generated files. The separation + // makes the code compile even when the generated files are missing. + localSchemeBuilder.Register(addKnownTypes) +} + +// Adds the list of known types to Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &ClusterTestType{}, + &ClusterTestTypeList{}, + &TestType{}, + &TestTypeList{}, + ) + // AddToGroupVersion allows the serialization of client types like ListOptions. + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil +} diff --git a/staging/src/k8s.io/code-generator/examples/MixedCase/apis/example/v1/zz_generated.register.go b/staging/src/k8s.io/code-generator/examples/MixedCase/apis/example/v1/zz_generated.register.go new file mode 100644 index 00000000000..386efdf2a48 --- /dev/null +++ b/staging/src/k8s.io/code-generator/examples/MixedCase/apis/example/v1/zz_generated.register.go @@ -0,0 +1,72 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by register-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName specifies the group name used to register the objects. +const GroupName = "example.crd.code-generator.k8s.io" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. + SchemeBuilder runtime.SchemeBuilder + localSchemeBuilder = &SchemeBuilder + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme +) + +func init() { + // We only register manually written functions here. The registration of the + // generated functions takes place in the generated files. The separation + // makes the code compile even when the generated files are missing. + localSchemeBuilder.Register(addKnownTypes) +} + +// Adds the list of known types to Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &ClusterTestType{}, + &ClusterTestTypeList{}, + &TestType{}, + &TestTypeList{}, + ) + // AddToGroupVersion allows the serialization of client types like ListOptions. + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil +} diff --git a/staging/src/k8s.io/code-generator/examples/HyphenGroup/apis/example/v1/register.go b/staging/src/k8s.io/code-generator/examples/apiserver/apis/core/v1/zz_generated.register.go similarity index 61% rename from staging/src/k8s.io/code-generator/examples/HyphenGroup/apis/example/v1/register.go rename to staging/src/k8s.io/code-generator/examples/apiserver/apis/core/v1/zz_generated.register.go index 3c837ae7306..009b60ca876 100644 --- a/staging/src/k8s.io/code-generator/examples/HyphenGroup/apis/example/v1/register.go +++ b/staging/src/k8s.io/code-generator/examples/apiserver/apis/core/v1/zz_generated.register.go @@ -1,5 +1,8 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + /* -Copyright 2019 The Kubernetes Authors. +Copyright The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,22 +17,38 @@ See the License for the specific language governing permissions and limitations under the License. */ +// Code generated by register-gen. DO NOT EDIT. + package v1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" ) -var SchemeGroupVersion = schema.GroupVersion{Group: "example-group.hyphens.code-generator.k8s.io", Version: "v1"} +// GroupName specifies the group name used to register the objects. +const GroupName = "" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme ) func init() { @@ -39,21 +58,13 @@ func init() { localSchemeBuilder.Register(addKnownTypes) } -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to the given scheme. +// Adds the list of known types to Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &TestType{}, &TestTypeList{}, ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) + // AddToGroupVersion allows the serialization of client types like ListOptions. metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil } diff --git a/staging/src/k8s.io/code-generator/examples/apiserver/apis/core/v1/register.go b/staging/src/k8s.io/code-generator/examples/apiserver/apis/example/v1/zz_generated.register.go similarity index 60% rename from staging/src/k8s.io/code-generator/examples/apiserver/apis/core/v1/register.go rename to staging/src/k8s.io/code-generator/examples/apiserver/apis/example/v1/zz_generated.register.go index 0bfc241a424..29a9b7ad0d8 100644 --- a/staging/src/k8s.io/code-generator/examples/apiserver/apis/core/v1/register.go +++ b/staging/src/k8s.io/code-generator/examples/apiserver/apis/example/v1/zz_generated.register.go @@ -1,5 +1,8 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + /* -Copyright 2024 The Kubernetes Authors. +Copyright The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,22 +17,38 @@ See the License for the specific language governing permissions and limitations under the License. */ +// Code generated by register-gen. DO NOT EDIT. + package v1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" ) -var SchemeGroupVersion = schema.GroupVersion{Group: "example.apiserver.code-generator.k8s.io", Version: "v1"} +// GroupName specifies the group name used to register the objects. +const GroupName = "example.apiserver.code-generator.k8s.io" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme ) func init() { @@ -39,21 +58,13 @@ func init() { localSchemeBuilder.Register(addKnownTypes) } -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to the given scheme. +// Adds the list of known types to Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &TestType{}, &TestTypeList{}, ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) + // AddToGroupVersion allows the serialization of client types like ListOptions. metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil } diff --git a/staging/src/k8s.io/code-generator/examples/apiserver/apis/example2/v1/register.go b/staging/src/k8s.io/code-generator/examples/apiserver/apis/example2/v1/register.go deleted file mode 100644 index 19dd0c356ff..00000000000 --- a/staging/src/k8s.io/code-generator/examples/apiserver/apis/example2/v1/register.go +++ /dev/null @@ -1,59 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package v1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" -) - -var SchemeGroupVersion = schema.GroupVersion{Group: "example.test.apiserver.code-generator.k8s.io", Version: "v1"} - -var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. - // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. - SchemeBuilder runtime.SchemeBuilder - localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme -) - -func init() { - // We only register manually written functions here. The registration of the - // generated functions takes place in the generated files. The separation - // makes the code compile even when the generated files are missing. - localSchemeBuilder.Register(addKnownTypes) -} - -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to api.Scheme. -func addKnownTypes(scheme *runtime.Scheme) error { - scheme.AddKnownTypes(SchemeGroupVersion, - &TestType{}, - &TestTypeList{}, - ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) - metav1.AddToGroupVersion(scheme, SchemeGroupVersion) - return nil -} diff --git a/staging/src/k8s.io/code-generator/examples/apiserver/apis/example2/v1/zz_generated.register.go b/staging/src/k8s.io/code-generator/examples/apiserver/apis/example2/v1/zz_generated.register.go new file mode 100644 index 00000000000..031f94bb611 --- /dev/null +++ b/staging/src/k8s.io/code-generator/examples/apiserver/apis/example2/v1/zz_generated.register.go @@ -0,0 +1,70 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by register-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName specifies the group name used to register the objects. +const GroupName = "example.test.apiserver.code-generator.k8s.io" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. + SchemeBuilder runtime.SchemeBuilder + localSchemeBuilder = &SchemeBuilder + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme +) + +func init() { + // We only register manually written functions here. The registration of the + // generated functions takes place in the generated files. The separation + // makes the code compile even when the generated files are missing. + localSchemeBuilder.Register(addKnownTypes) +} + +// Adds the list of known types to Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &TestType{}, + &TestTypeList{}, + ) + // AddToGroupVersion allows the serialization of client types like ListOptions. + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil +} diff --git a/staging/src/k8s.io/code-generator/examples/apiserver/apis/example3.io/v1/register.go b/staging/src/k8s.io/code-generator/examples/apiserver/apis/example3.io/v1/register.go deleted file mode 100644 index 3e0a393f7cc..00000000000 --- a/staging/src/k8s.io/code-generator/examples/apiserver/apis/example3.io/v1/register.go +++ /dev/null @@ -1,59 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package v1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" -) - -var SchemeGroupVersion = schema.GroupVersion{Group: "example.dots.apiserver.code-generator.k8s.io", Version: "v1"} - -var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. - // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. - SchemeBuilder runtime.SchemeBuilder - localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme -) - -func init() { - // We only register manually written functions here. The registration of the - // generated functions takes place in the generated files. The separation - // makes the code compile even when the generated files are missing. - localSchemeBuilder.Register(addKnownTypes) -} - -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to api.Scheme. -func addKnownTypes(scheme *runtime.Scheme) error { - scheme.AddKnownTypes(SchemeGroupVersion, - &TestType{}, - &TestTypeList{}, - ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) - metav1.AddToGroupVersion(scheme, SchemeGroupVersion) - return nil -} diff --git a/staging/src/k8s.io/code-generator/examples/apiserver/apis/example3.io/v1/zz_generated.register.go b/staging/src/k8s.io/code-generator/examples/apiserver/apis/example3.io/v1/zz_generated.register.go new file mode 100644 index 00000000000..4b932d80359 --- /dev/null +++ b/staging/src/k8s.io/code-generator/examples/apiserver/apis/example3.io/v1/zz_generated.register.go @@ -0,0 +1,70 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by register-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName specifies the group name used to register the objects. +const GroupName = "example.dots.apiserver.code-generator.k8s.io" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. + SchemeBuilder runtime.SchemeBuilder + localSchemeBuilder = &SchemeBuilder + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme +) + +func init() { + // We only register manually written functions here. The registration of the + // generated functions takes place in the generated files. The separation + // makes the code compile even when the generated files are missing. + localSchemeBuilder.Register(addKnownTypes) +} + +// Adds the list of known types to Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &TestType{}, + &TestTypeList{}, + ) + // AddToGroupVersion allows the serialization of client types like ListOptions. + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil +} diff --git a/staging/src/k8s.io/code-generator/examples/crd/apis/conflicting/v1/register.go b/staging/src/k8s.io/code-generator/examples/crd/apis/conflicting/v1/register.go deleted file mode 100644 index 1f2d6d85fe3..00000000000 --- a/staging/src/k8s.io/code-generator/examples/crd/apis/conflicting/v1/register.go +++ /dev/null @@ -1,59 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package v1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" -) - -var SchemeGroupVersion = schema.GroupVersion{Group: "conflicting.test.crd.code-generator.k8s.io", Version: "v1"} - -var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. - // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. - SchemeBuilder runtime.SchemeBuilder - localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme -) - -func init() { - // We only register manually written functions here. The registration of the - // generated functions takes place in the generated files. The separation - // makes the code compile even when the generated files are missing. - localSchemeBuilder.Register(addKnownTypes) -} - -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to api.Scheme. -func addKnownTypes(scheme *runtime.Scheme) error { - scheme.AddKnownTypes(SchemeGroupVersion, - &TestType{}, - &TestTypeList{}, - ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) - metav1.AddToGroupVersion(scheme, SchemeGroupVersion) - return nil -} diff --git a/staging/src/k8s.io/code-generator/examples/apiserver/apis/example/v1/register.go b/staging/src/k8s.io/code-generator/examples/crd/apis/conflicting/v1/zz_generated.register.go similarity index 60% rename from staging/src/k8s.io/code-generator/examples/apiserver/apis/example/v1/register.go rename to staging/src/k8s.io/code-generator/examples/crd/apis/conflicting/v1/zz_generated.register.go index c99619d7acf..4870dad6688 100644 --- a/staging/src/k8s.io/code-generator/examples/apiserver/apis/example/v1/register.go +++ b/staging/src/k8s.io/code-generator/examples/crd/apis/conflicting/v1/zz_generated.register.go @@ -1,5 +1,8 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + /* -Copyright 2015 The Kubernetes Authors. +Copyright The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,22 +17,38 @@ See the License for the specific language governing permissions and limitations under the License. */ +// Code generated by register-gen. DO NOT EDIT. + package v1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" ) -var SchemeGroupVersion = schema.GroupVersion{Group: "example.apiserver.code-generator.k8s.io", Version: "v1"} +// GroupName specifies the group name used to register the objects. +const GroupName = "conflicting.test.crd.code-generator.k8s.io" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme ) func init() { @@ -39,21 +58,13 @@ func init() { localSchemeBuilder.Register(addKnownTypes) } -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to the given scheme. +// Adds the list of known types to Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &TestType{}, &TestTypeList{}, ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) + // AddToGroupVersion allows the serialization of client types like ListOptions. metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil } diff --git a/staging/src/k8s.io/code-generator/examples/crd/apis/example/v1/register.go b/staging/src/k8s.io/code-generator/examples/crd/apis/example/v1/register.go deleted file mode 100644 index 58371e0e943..00000000000 --- a/staging/src/k8s.io/code-generator/examples/crd/apis/example/v1/register.go +++ /dev/null @@ -1,59 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package v1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" -) - -var SchemeGroupVersion = schema.GroupVersion{Group: "example.crd.code-generator.k8s.io", Version: "v1"} - -var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. - // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. - SchemeBuilder runtime.SchemeBuilder - localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme -) - -func init() { - // We only register manually written functions here. The registration of the - // generated functions takes place in the generated files. The separation - // makes the code compile even when the generated files are missing. - localSchemeBuilder.Register(addKnownTypes) -} - -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to the given scheme. -func addKnownTypes(scheme *runtime.Scheme) error { - scheme.AddKnownTypes(SchemeGroupVersion, - &TestType{}, - &TestTypeList{}, - ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) - metav1.AddToGroupVersion(scheme, SchemeGroupVersion) - return nil -} diff --git a/staging/src/k8s.io/code-generator/examples/crd/apis/example/v1/zz_generated.register.go b/staging/src/k8s.io/code-generator/examples/crd/apis/example/v1/zz_generated.register.go new file mode 100644 index 00000000000..386efdf2a48 --- /dev/null +++ b/staging/src/k8s.io/code-generator/examples/crd/apis/example/v1/zz_generated.register.go @@ -0,0 +1,72 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by register-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName specifies the group name used to register the objects. +const GroupName = "example.crd.code-generator.k8s.io" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. + SchemeBuilder runtime.SchemeBuilder + localSchemeBuilder = &SchemeBuilder + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme +) + +func init() { + // We only register manually written functions here. The registration of the + // generated functions takes place in the generated files. The separation + // makes the code compile even when the generated files are missing. + localSchemeBuilder.Register(addKnownTypes) +} + +// Adds the list of known types to Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &ClusterTestType{}, + &ClusterTestTypeList{}, + &TestType{}, + &TestTypeList{}, + ) + // AddToGroupVersion allows the serialization of client types like ListOptions. + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil +} diff --git a/staging/src/k8s.io/code-generator/examples/crd/apis/example2/v1/register.go b/staging/src/k8s.io/code-generator/examples/crd/apis/example2/v1/register.go deleted file mode 100644 index d0a852a310f..00000000000 --- a/staging/src/k8s.io/code-generator/examples/crd/apis/example2/v1/register.go +++ /dev/null @@ -1,59 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package v1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" -) - -var SchemeGroupVersion = schema.GroupVersion{Group: "example.test.crd.code-generator.k8s.io", Version: "v1"} - -var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. - // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. - SchemeBuilder runtime.SchemeBuilder - localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme -) - -func init() { - // We only register manually written functions here. The registration of the - // generated functions takes place in the generated files. The separation - // makes the code compile even when the generated files are missing. - localSchemeBuilder.Register(addKnownTypes) -} - -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to api.Scheme. -func addKnownTypes(scheme *runtime.Scheme) error { - scheme.AddKnownTypes(SchemeGroupVersion, - &TestType{}, - &TestTypeList{}, - ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) - metav1.AddToGroupVersion(scheme, SchemeGroupVersion) - return nil -} diff --git a/staging/src/k8s.io/code-generator/examples/MixedCase/apis/example/v1/register.go b/staging/src/k8s.io/code-generator/examples/crd/apis/example2/v1/zz_generated.register.go similarity index 60% rename from staging/src/k8s.io/code-generator/examples/MixedCase/apis/example/v1/register.go rename to staging/src/k8s.io/code-generator/examples/crd/apis/example2/v1/zz_generated.register.go index 58371e0e943..88a3a517296 100644 --- a/staging/src/k8s.io/code-generator/examples/MixedCase/apis/example/v1/register.go +++ b/staging/src/k8s.io/code-generator/examples/crd/apis/example2/v1/zz_generated.register.go @@ -1,5 +1,8 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + /* -Copyright 2015 The Kubernetes Authors. +Copyright The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,22 +17,38 @@ See the License for the specific language governing permissions and limitations under the License. */ +// Code generated by register-gen. DO NOT EDIT. + package v1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" ) -var SchemeGroupVersion = schema.GroupVersion{Group: "example.crd.code-generator.k8s.io", Version: "v1"} +// GroupName specifies the group name used to register the objects. +const GroupName = "example.test.crd.code-generator.k8s.io" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. SchemeBuilder runtime.SchemeBuilder localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme ) func init() { @@ -39,21 +58,13 @@ func init() { localSchemeBuilder.Register(addKnownTypes) } -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to the given scheme. +// Adds the list of known types to Scheme. func addKnownTypes(scheme *runtime.Scheme) error { scheme.AddKnownTypes(SchemeGroupVersion, &TestType{}, &TestTypeList{}, ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) + // AddToGroupVersion allows the serialization of client types like ListOptions. metav1.AddToGroupVersion(scheme, SchemeGroupVersion) return nil } diff --git a/staging/src/k8s.io/code-generator/examples/crd/apis/extensions/v1/register.go b/staging/src/k8s.io/code-generator/examples/crd/apis/extensions/v1/register.go deleted file mode 100644 index df9912421da..00000000000 --- a/staging/src/k8s.io/code-generator/examples/crd/apis/extensions/v1/register.go +++ /dev/null @@ -1,59 +0,0 @@ -/* -Copyright 2024 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package v1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" -) - -var SchemeGroupVersion = schema.GroupVersion{Group: "extensions.test.crd.code-generator.k8s.io", Version: "v1"} - -var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. - // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. - SchemeBuilder runtime.SchemeBuilder - localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme -) - -func init() { - // We only register manually written functions here. The registration of the - // generated functions takes place in the generated files. The separation - // makes the code compile even when the generated files are missing. - localSchemeBuilder.Register(addKnownTypes) -} - -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to api.Scheme. -func addKnownTypes(scheme *runtime.Scheme) error { - scheme.AddKnownTypes(SchemeGroupVersion, - &TestType{}, - &TestTypeList{}, - ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) - metav1.AddToGroupVersion(scheme, SchemeGroupVersion) - return nil -} diff --git a/staging/src/k8s.io/code-generator/examples/crd/apis/extensions/v1/zz_generated.register.go b/staging/src/k8s.io/code-generator/examples/crd/apis/extensions/v1/zz_generated.register.go new file mode 100644 index 00000000000..03ef971a502 --- /dev/null +++ b/staging/src/k8s.io/code-generator/examples/crd/apis/extensions/v1/zz_generated.register.go @@ -0,0 +1,71 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by register-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName specifies the group name used to register the objects. +const GroupName = "extensions.test.crd.code-generator.k8s.io" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. + SchemeBuilder runtime.SchemeBuilder + localSchemeBuilder = &SchemeBuilder + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme +) + +func init() { + // We only register manually written functions here. The registration of the + // generated functions takes place in the generated files. The separation + // makes the code compile even when the generated files are missing. + localSchemeBuilder.Register(addKnownTypes) +} + +// Adds the list of known types to Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &TestSubresource{}, + &TestType{}, + &TestTypeList{}, + ) + // AddToGroupVersion allows the serialization of client types like ListOptions. + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil +} diff --git a/staging/src/k8s.io/code-generator/examples/hack/update-codegen.sh b/staging/src/k8s.io/code-generator/examples/hack/update-codegen.sh index 2f9a734cd68..c04bc344e86 100755 --- a/staging/src/k8s.io/code-generator/examples/hack/update-codegen.sh +++ b/staging/src/k8s.io/code-generator/examples/hack/update-codegen.sh @@ -30,6 +30,10 @@ kube::codegen::gen_helpers \ --boilerplate "${SCRIPT_ROOT}/hack/boilerplate.go.txt" \ "${SCRIPT_ROOT}" +kube::codegen::gen_register \ + --boilerplate "${SCRIPT_ROOT}/hack/boilerplate.go.txt" \ + "${SCRIPT_ROOT}" + if [[ -n "${API_KNOWN_VIOLATIONS_DIR:-}" ]]; then report_filename="${API_KNOWN_VIOLATIONS_DIR}/codegen_violation_exceptions.list" if [[ "${UPDATE_API_KNOWN_VIOLATIONS:-}" == "true" ]]; then diff --git a/staging/src/k8s.io/code-generator/examples/single/api/v1/register.go b/staging/src/k8s.io/code-generator/examples/single/api/v1/register.go deleted file mode 100644 index 58371e0e943..00000000000 --- a/staging/src/k8s.io/code-generator/examples/single/api/v1/register.go +++ /dev/null @@ -1,59 +0,0 @@ -/* -Copyright 2015 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package v1 - -import ( - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" -) - -var SchemeGroupVersion = schema.GroupVersion{Group: "example.crd.code-generator.k8s.io", Version: "v1"} - -var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. - // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. - SchemeBuilder runtime.SchemeBuilder - localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme -) - -func init() { - // We only register manually written functions here. The registration of the - // generated functions takes place in the generated files. The separation - // makes the code compile even when the generated files are missing. - localSchemeBuilder.Register(addKnownTypes) -} - -// Resource takes an unqualified resource and returns a Group qualified GroupResource -func Resource(resource string) schema.GroupResource { - return SchemeGroupVersion.WithResource(resource).GroupResource() -} - -// Adds the list of known types to the given scheme. -func addKnownTypes(scheme *runtime.Scheme) error { - scheme.AddKnownTypes(SchemeGroupVersion, - &TestType{}, - &TestTypeList{}, - ) - - scheme.AddKnownTypes(SchemeGroupVersion, - &metav1.Status{}, - ) - metav1.AddToGroupVersion(scheme, SchemeGroupVersion) - return nil -} diff --git a/staging/src/k8s.io/code-generator/examples/single/api/v1/zz_generated.register.go b/staging/src/k8s.io/code-generator/examples/single/api/v1/zz_generated.register.go new file mode 100644 index 00000000000..386efdf2a48 --- /dev/null +++ b/staging/src/k8s.io/code-generator/examples/single/api/v1/zz_generated.register.go @@ -0,0 +1,72 @@ +//go:build !ignore_autogenerated +// +build !ignore_autogenerated + +/* +Copyright The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by register-gen. DO NOT EDIT. + +package v1 + +import ( + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + runtime "k8s.io/apimachinery/pkg/runtime" + schema "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName specifies the group name used to register the objects. +const GroupName = "example.crd.code-generator.k8s.io" + +// GroupVersion specifies the group and the version used to register the objects. +var GroupVersion = metav1.GroupVersion{Group: GroupName, Version: "v1"} + +// SchemeGroupVersion is group version used to register these objects +// Deprecated: use GroupVersion instead. +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"} + +// Resource takes an unqualified resource and returns a Group qualified GroupResource +func Resource(resource string) schema.GroupResource { + return SchemeGroupVersion.WithResource(resource).GroupResource() +} + +var ( + // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. + SchemeBuilder runtime.SchemeBuilder + localSchemeBuilder = &SchemeBuilder + // Deprecated: use Install instead + AddToScheme = localSchemeBuilder.AddToScheme + Install = localSchemeBuilder.AddToScheme +) + +func init() { + // We only register manually written functions here. The registration of the + // generated functions takes place in the generated files. The separation + // makes the code compile even when the generated files are missing. + localSchemeBuilder.Register(addKnownTypes) +} + +// Adds the list of known types to Scheme. +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &ClusterTestType{}, + &ClusterTestTypeList{}, + &TestType{}, + &TestTypeList{}, + ) + // AddToGroupVersion allows the serialization of client types like ListOptions. + metav1.AddToGroupVersion(scheme, SchemeGroupVersion) + return nil +} From 1c07a39847017ca01033662146269cef9a3cdb15 Mon Sep 17 00:00:00 2001 From: Lionel Jouin Date: Sun, 23 Feb 2025 20:37:14 +0100 Subject: [PATCH 5/5] fix copyright year Signed-off-by: Lionel Jouin --- .../cmd/register-gen/generators/register_external.go | 2 +- .../code-generator/cmd/register-gen/output_tests/generate.go | 2 +- .../cmd/register-gen/output_tests/simpletype/v1/doc.go | 2 +- .../register-gen/output_tests/simpletype/v1/fake_deepcopy.go | 2 +- .../cmd/register-gen/output_tests/simpletype/v1/types.go | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/generators/register_external.go b/staging/src/k8s.io/code-generator/cmd/register-gen/generators/register_external.go index 623d100758e..ba867054e94 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/generators/register_external.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/generators/register_external.go @@ -1,5 +1,5 @@ /* -Copyright 2018 The Kubernetes Authors. +Copyright 2025 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/generate.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/generate.go index 3e50604b79f..efbf7791a52 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/generate.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/generate.go @@ -1,7 +1,7 @@ //go:build !ignore_autogenerated /* -Copyright 2024 The Kubernetes Authors. +Copyright 2025 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/doc.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/doc.go index 07b9bb95e3b..729c3ae5e0d 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/doc.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2018 The Kubernetes Authors. +Copyright 2025 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/fake_deepcopy.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/fake_deepcopy.go index 5f87053d92f..c35312d2689 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/fake_deepcopy.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/fake_deepcopy.go @@ -1,5 +1,5 @@ /* -Copyright 2024 The Kubernetes Authors. +Copyright 2025 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/types.go b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/types.go index 9788ca68778..ae1c939c7ee 100644 --- a/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/types.go +++ b/staging/src/k8s.io/code-generator/cmd/register-gen/output_tests/simpletype/v1/types.go @@ -1,5 +1,5 @@ /* -Copyright 2018 The Kubernetes Authors. +Copyright 2025 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.