mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-10 20:42:26 +00:00
update generators for groupVersion
This commit is contained in:
parent
e0b7f52633
commit
47e496364d
@ -92,17 +92,25 @@ func main() {
|
|||||||
glog.Fatalf("Error while writing package line: %v", err)
|
glog.Fatalf("Error while writing package line: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var schemeVersion string
|
||||||
|
if *groupVersion == "" || *groupVersion == "/" {
|
||||||
|
// This occurs when we generate deep-copy for internal version.
|
||||||
|
schemeVersion = ""
|
||||||
|
} else {
|
||||||
|
schemeVersion = *groupVersion
|
||||||
|
}
|
||||||
|
|
||||||
versionPath := pkgPath(group, version)
|
versionPath := pkgPath(group, version)
|
||||||
generator := kruntime.NewConversionGenerator(api.Scheme.Raw(), versionPath)
|
generator := kruntime.NewConversionGenerator(api.Scheme.Raw(), versionPath)
|
||||||
apiShort := generator.AddImport(path.Join(pkgBase, "api"))
|
apiShort := generator.AddImport(path.Join(pkgBase, "api"))
|
||||||
generator.AddImport(path.Join(pkgBase, "api/resource"))
|
generator.AddImport(path.Join(pkgBase, "api/resource"))
|
||||||
// TODO(wojtek-t): Change the overwrites to a flag.
|
// TODO(wojtek-t): Change the overwrites to a flag.
|
||||||
generator.OverwritePackage(version, "")
|
generator.OverwritePackage(version, "")
|
||||||
for _, knownType := range api.Scheme.KnownTypes(*groupVersion) {
|
for _, knownType := range api.Scheme.KnownTypes(schemeVersion) {
|
||||||
if knownType.PkgPath() != versionPath {
|
if knownType.PkgPath() != versionPath {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if err := generator.GenerateConversionsForType(version, knownType); err != nil {
|
if err := generator.GenerateConversionsForType(*groupVersion, knownType); err != nil {
|
||||||
glog.Errorf("Error while generating conversion functions for %v: %v", knownType, err)
|
glog.Errorf("Error while generating conversion functions for %v: %v", knownType, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -125,8 +125,9 @@ func main() {
|
|||||||
generator.OverwritePackage(vals[0], vals[1])
|
generator.OverwritePackage(vals[0], vals[1])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var schemeVersion string
|
var schemeVersion string
|
||||||
if version == "" {
|
if *groupVersion == "" || *groupVersion == "/" {
|
||||||
// This occurs when we generate deep-copy for internal version.
|
// This occurs when we generate deep-copy for internal version.
|
||||||
schemeVersion = ""
|
schemeVersion = ""
|
||||||
} else {
|
} else {
|
||||||
|
@ -24,6 +24,7 @@ import (
|
|||||||
"sort"
|
"sort"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||||
"k8s.io/kubernetes/pkg/conversion"
|
"k8s.io/kubernetes/pkg/conversion"
|
||||||
"k8s.io/kubernetes/pkg/util/sets"
|
"k8s.io/kubernetes/pkg/util/sets"
|
||||||
)
|
)
|
||||||
@ -86,10 +87,20 @@ func (g *conversionGenerator) AddImport(pkg string) string {
|
|||||||
return g.addImportByPath(pkg)
|
return g.addImportByPath(pkg)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *conversionGenerator) GenerateConversionsForType(version string, reflection reflect.Type) error {
|
func (g *conversionGenerator) GenerateConversionsForType(gvString string, reflection reflect.Type) error {
|
||||||
|
gv, err := unversioned.ParseGroupVersion(gvString)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
kind := reflection.Name()
|
kind := reflection.Name()
|
||||||
// TODO this is equivalent to what it did before, but it needs to be fixed for the proper group
|
// TODO this is equivalent to what it did before, but it needs to be fixed for the proper group
|
||||||
internalObj, err := g.scheme.NewObject(g.scheme.InternalVersions[""].String(), kind)
|
internalGV, exists := g.scheme.InternalVersions[gv.Group]
|
||||||
|
if !exists {
|
||||||
|
return fmt.Errorf("no internal version for %v", gv)
|
||||||
|
}
|
||||||
|
|
||||||
|
internalObj, err := g.scheme.NewObject(internalGV.String(), kind)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("cannot create an object of type %v in internal version", kind)
|
return fmt.Errorf("cannot create an object of type %v in internal version", kind)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user