From 58edb6b4851ddab6f620d8af607f58c7f9fe60d9 Mon Sep 17 00:00:00 2001 From: Chao Xu Date: Thu, 27 Apr 2017 17:09:59 -0700 Subject: [PATCH] split v1/register.go to regsiter.go and builder.go move api/v1 to k8s.io/api/v1 duplicate some global variables/functions in pkg/api/v1/builder.go, add todo to remove these --- pkg/api/v1/builder.go | 46 +++++++++++++++++++ pkg/api/v1/doc.go | 4 +- .../api/core}/v1/annotation_key_constants.go | 0 staging/src/k8s.io/api/core/v1/doc.go | 21 +++++++++ .../src/k8s.io/api/core}/v1/generated.pb.go | 0 .../src/k8s.io/api/core}/v1/meta.go | 0 .../k8s.io/api/core}/v1/objectreference.go | 0 .../src/k8s.io/api/core}/v1/register.go | 15 ++---- .../src/k8s.io/api/core}/v1/resource.go | 0 .../src/k8s.io/api/core}/v1/taint.go | 0 .../src/k8s.io/api/core}/v1/taint_test.go | 0 .../src/k8s.io/api/core}/v1/toleration.go | 0 .../k8s.io/api/core}/v1/toleration_test.go | 0 .../k8s.io/api/core}/v1/types.generated.go | 0 .../src/k8s.io/api/core}/v1/types.go | 0 .../core}/v1/types_swagger_doc_generated.go | 0 .../api/core}/v1/zz_generated.deepcopy.go | 0 vendor/k8s.io/api | 1 + 18 files changed, 75 insertions(+), 12 deletions(-) create mode 100644 pkg/api/v1/builder.go rename {pkg/api => staging/src/k8s.io/api/core}/v1/annotation_key_constants.go (100%) create mode 100644 staging/src/k8s.io/api/core/v1/doc.go rename {pkg/api => staging/src/k8s.io/api/core}/v1/generated.pb.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/meta.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/objectreference.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/register.go (86%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/resource.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/taint.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/taint_test.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/toleration.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/toleration_test.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/types.generated.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/types.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/types_swagger_doc_generated.go (100%) rename {pkg/api => staging/src/k8s.io/api/core}/v1/zz_generated.deepcopy.go (100%) create mode 120000 vendor/k8s.io/api diff --git a/pkg/api/v1/builder.go b/pkg/api/v1/builder.go new file mode 100644 index 00000000000..79611beabe6 --- /dev/null +++ b/pkg/api/v1/builder.go @@ -0,0 +1,46 @@ +/* +Copyright 2017 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 ( + "k8s.io/api/core/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var ( + localSchemeBuilder = &v1.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(addDefaultingFuncs, addConversionFuncs, addFastPathConversionFuncs) +} + +// TODO: remove these global varialbes +// GroupName is the group name use in this package +const GroupName = "" + +// SchemeGroupVersion is group version used to register these objects +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() +} diff --git a/pkg/api/v1/doc.go b/pkg/api/v1/doc.go index e97948d4919..0f1e0d495e2 100644 --- a/pkg/api/v1/doc.go +++ b/pkg/api/v1/doc.go @@ -14,10 +14,10 @@ See the License for the specific language governing permissions and limitations under the License. */ -// +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=k8s.io/kubernetes/pkg/api -// +k8s:openapi-gen=true +// +k8s:conversion-gen-external-types=../../../vendor/k8s.io/api/core/v1 // +k8s:defaulter-gen=TypeMeta +// +k8s:defaulter-gen-input=../../../vendor/k8s.io/api/core/v1 // Package v1 is the v1 version of the API. package v1 // import "k8s.io/kubernetes/pkg/api/v1" diff --git a/pkg/api/v1/annotation_key_constants.go b/staging/src/k8s.io/api/core/v1/annotation_key_constants.go similarity index 100% rename from pkg/api/v1/annotation_key_constants.go rename to staging/src/k8s.io/api/core/v1/annotation_key_constants.go diff --git a/staging/src/k8s.io/api/core/v1/doc.go b/staging/src/k8s.io/api/core/v1/doc.go new file mode 100644 index 00000000000..a31af9ea49a --- /dev/null +++ b/staging/src/k8s.io/api/core/v1/doc.go @@ -0,0 +1,21 @@ +/* +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. +*/ + +// +k8s:openapi-gen=true +// +k8s:deepcopy-gen=package,register + +// Package v1 is the v1 version of the core API. +package v1 // import "k8s.io/api/core/v1" diff --git a/pkg/api/v1/generated.pb.go b/staging/src/k8s.io/api/core/v1/generated.pb.go similarity index 100% rename from pkg/api/v1/generated.pb.go rename to staging/src/k8s.io/api/core/v1/generated.pb.go diff --git a/pkg/api/v1/meta.go b/staging/src/k8s.io/api/core/v1/meta.go similarity index 100% rename from pkg/api/v1/meta.go rename to staging/src/k8s.io/api/core/v1/meta.go diff --git a/pkg/api/v1/objectreference.go b/staging/src/k8s.io/api/core/v1/objectreference.go similarity index 100% rename from pkg/api/v1/objectreference.go rename to staging/src/k8s.io/api/core/v1/objectreference.go diff --git a/pkg/api/v1/register.go b/staging/src/k8s.io/api/core/v1/register.go similarity index 86% rename from pkg/api/v1/register.go rename to staging/src/k8s.io/api/core/v1/register.go index c70d6ac5615..73252bb14c0 100644 --- a/pkg/api/v1/register.go +++ b/staging/src/k8s.io/api/core/v1/register.go @@ -14,6 +14,8 @@ See the License for the specific language governing permissions and limitations under the License. */ +//TODO: this file is going to be moved to k8s.io/api + package v1 import ( @@ -34,19 +36,12 @@ func Resource(resource string) schema.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 -) - -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, addDefaultingFuncs, addConversionFuncs, addFastPathConversionFuncs) -} + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + AddToScheme = SchemeBuilder.AddToScheme +) // Adds the list of known types to api.Scheme. func addKnownTypes(scheme *runtime.Scheme) error { diff --git a/pkg/api/v1/resource.go b/staging/src/k8s.io/api/core/v1/resource.go similarity index 100% rename from pkg/api/v1/resource.go rename to staging/src/k8s.io/api/core/v1/resource.go diff --git a/pkg/api/v1/taint.go b/staging/src/k8s.io/api/core/v1/taint.go similarity index 100% rename from pkg/api/v1/taint.go rename to staging/src/k8s.io/api/core/v1/taint.go diff --git a/pkg/api/v1/taint_test.go b/staging/src/k8s.io/api/core/v1/taint_test.go similarity index 100% rename from pkg/api/v1/taint_test.go rename to staging/src/k8s.io/api/core/v1/taint_test.go diff --git a/pkg/api/v1/toleration.go b/staging/src/k8s.io/api/core/v1/toleration.go similarity index 100% rename from pkg/api/v1/toleration.go rename to staging/src/k8s.io/api/core/v1/toleration.go diff --git a/pkg/api/v1/toleration_test.go b/staging/src/k8s.io/api/core/v1/toleration_test.go similarity index 100% rename from pkg/api/v1/toleration_test.go rename to staging/src/k8s.io/api/core/v1/toleration_test.go diff --git a/pkg/api/v1/types.generated.go b/staging/src/k8s.io/api/core/v1/types.generated.go similarity index 100% rename from pkg/api/v1/types.generated.go rename to staging/src/k8s.io/api/core/v1/types.generated.go diff --git a/pkg/api/v1/types.go b/staging/src/k8s.io/api/core/v1/types.go similarity index 100% rename from pkg/api/v1/types.go rename to staging/src/k8s.io/api/core/v1/types.go diff --git a/pkg/api/v1/types_swagger_doc_generated.go b/staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go similarity index 100% rename from pkg/api/v1/types_swagger_doc_generated.go rename to staging/src/k8s.io/api/core/v1/types_swagger_doc_generated.go diff --git a/pkg/api/v1/zz_generated.deepcopy.go b/staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go similarity index 100% rename from pkg/api/v1/zz_generated.deepcopy.go rename to staging/src/k8s.io/api/core/v1/zz_generated.deepcopy.go diff --git a/vendor/k8s.io/api b/vendor/k8s.io/api new file mode 120000 index 00000000000..0988ec49871 --- /dev/null +++ b/vendor/k8s.io/api @@ -0,0 +1 @@ +../../staging/src/k8s.io/api \ No newline at end of file