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