mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-09 03:57:41 +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)
|
||||
}
|
||||
|
||||
var schemeVersion string
|
||||
if *groupVersion == "" || *groupVersion == "/" {
|
||||
// This occurs when we generate deep-copy for internal version.
|
||||
schemeVersion = ""
|
||||
} else {
|
||||
schemeVersion = *groupVersion
|
||||
}
|
||||
|
||||
versionPath := pkgPath(group, version)
|
||||
generator := kruntime.NewConversionGenerator(api.Scheme.Raw(), versionPath)
|
||||
apiShort := generator.AddImport(path.Join(pkgBase, "api"))
|
||||
generator.AddImport(path.Join(pkgBase, "api/resource"))
|
||||
// TODO(wojtek-t): Change the overwrites to a flag.
|
||||
generator.OverwritePackage(version, "")
|
||||
for _, knownType := range api.Scheme.KnownTypes(*groupVersion) {
|
||||
for _, knownType := range api.Scheme.KnownTypes(schemeVersion) {
|
||||
if knownType.PkgPath() != versionPath {
|
||||
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)
|
||||
}
|
||||
}
|
||||
|
@ -125,8 +125,9 @@ func main() {
|
||||
generator.OverwritePackage(vals[0], vals[1])
|
||||
}
|
||||
}
|
||||
|
||||
var schemeVersion string
|
||||
if version == "" {
|
||||
if *groupVersion == "" || *groupVersion == "/" {
|
||||
// This occurs when we generate deep-copy for internal version.
|
||||
schemeVersion = ""
|
||||
} else {
|
||||
|
@ -24,6 +24,7 @@ import (
|
||||
"sort"
|
||||
"strings"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
"k8s.io/kubernetes/pkg/conversion"
|
||||
"k8s.io/kubernetes/pkg/util/sets"
|
||||
)
|
||||
@ -86,10 +87,20 @@ func (g *conversionGenerator) AddImport(pkg string) string {
|
||||
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()
|
||||
// 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 {
|
||||
return fmt.Errorf("cannot create an object of type %v in internal version", kind)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user