Skip to content

Commit e256c15

Browse files
Make metav1beta1 be equivalent to metav1 internally
All except PartialObjectMetadataList are identical and should be made that way internally. This allows the internalversion to convert between them.
1 parent c516bb5 commit e256c15

File tree

12 files changed

+88
-661
lines changed

12 files changed

+88
-661
lines changed

staging/src/k8s.io/apimachinery/pkg/apis/meta/internalversion/register.go

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -89,18 +89,12 @@ func addToGroupVersion(scheme *runtime.Scheme, groupVersion schema.GroupVersion)
8989
&metav1beta1.PartialObjectMetadata{},
9090
&metav1beta1.PartialObjectMetadataList{},
9191
)
92-
scheme.AddKnownTypes(metav1beta1.SchemeGroupVersion,
93-
&metav1beta1.Table{},
94-
&metav1beta1.TableOptions{},
95-
&metav1beta1.PartialObjectMetadata{},
96-
&metav1beta1.PartialObjectMetadataList{},
97-
)
98-
scheme.AddKnownTypes(metav1.SchemeGroupVersion,
99-
&metav1.Table{},
100-
&metav1.TableOptions{},
101-
&metav1.PartialObjectMetadata{},
102-
&metav1.PartialObjectMetadataList{},
103-
)
92+
if err := metav1beta1.AddMetaToScheme(scheme); err != nil {
93+
return err
94+
}
95+
if err := metav1.AddMetaToScheme(scheme); err != nil {
96+
return err
97+
}
10498
// Allow delete options to be decoded across all version in this scheme (we may want to be more clever than this)
10599
scheme.AddUnversionedTypes(SchemeGroupVersion,
106100
&metav1.DeleteOptions{},

staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/register.go

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,13 +94,26 @@ func init() {
9494
&PatchOptions{},
9595
)
9696

97+
if err := AddMetaToScheme(scheme); err != nil {
98+
panic(err)
99+
}
100+
101+
// register manually. This usually goes through the SchemeBuilder, which we cannot use here.
102+
utilruntime.Must(RegisterDefaults(scheme))
103+
}
104+
105+
func AddMetaToScheme(scheme *runtime.Scheme) error {
97106
scheme.AddKnownTypes(SchemeGroupVersion,
98107
&Table{},
99108
&TableOptions{},
100109
&PartialObjectMetadata{},
101110
&PartialObjectMetadataList{},
102111
)
103112

113+
return scheme.AddConversionFuncs(
114+
Convert_Slice_string_To_v1_IncludeObjectPolicy,
115+
)
116+
104117
// register manually. This usually goes through the SchemeBuilder, which we cannot use here.
105-
utilruntime.Must(RegisterDefaults(scheme))
118+
//scheme.AddGeneratedDeepCopyFuncs(GetGeneratedDeepCopyFuncs()...)
106119
}

staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/types.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1150,8 +1150,8 @@ type Fields struct {
11501150

11511151
// Table is a tabular representation of a set of API resources. The server transforms the
11521152
// object into a set of preferred columns for quickly reviewing the objects.
1153-
// +protobuf=false
11541153
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
1154+
// +protobuf=false
11551155
type Table struct {
11561156
TypeMeta `json:",inline"`
11571157
// Standard list metadata.

staging/src/k8s.io/apimachinery/pkg/apis/meta/v1beta1/deepcopy.go

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,30 +15,3 @@ limitations under the License.
1515
*/
1616

1717
package v1beta1
18-
19-
import "k8s.io/apimachinery/pkg/runtime"
20-
21-
func (in *TableRow) DeepCopy() *TableRow {
22-
if in == nil {
23-
return nil
24-
}
25-
26-
out := new(TableRow)
27-
28-
if in.Cells != nil {
29-
out.Cells = make([]interface{}, len(in.Cells))
30-
for i := range in.Cells {
31-
out.Cells[i] = runtime.DeepCopyJSONValue(in.Cells[i])
32-
}
33-
}
34-
35-
if in.Conditions != nil {
36-
out.Conditions = make([]TableRowCondition, len(in.Conditions))
37-
for i := range in.Conditions {
38-
in.Conditions[i].DeepCopyInto(&out.Conditions[i])
39-
}
40-
}
41-
42-
in.Object.DeepCopyInto(&out.Object)
43-
return out
44-
}

0 commit comments

Comments
 (0)