mirror of
https://github.com/rancher/types.git
synced 2025-05-07 14:46:19 +00:00
Explicit group and version for native types
No longer guess group and version from package structure
This commit is contained in:
parent
007b83c082
commit
7b8ac28023
@ -3,11 +3,11 @@ package generator
|
||||
import (
|
||||
"fmt"
|
||||
"path"
|
||||
"reflect"
|
||||
"strings"
|
||||
|
||||
"github.com/rancher/norman/generator"
|
||||
"github.com/rancher/norman/types"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -28,14 +28,13 @@ func Generate(schemas *types.Schemas) {
|
||||
}
|
||||
}
|
||||
|
||||
func GenerateNativeTypes(objs ...interface{}) {
|
||||
pkgNamePaths := strings.Split(reflect.TypeOf(objs[0]).PkgPath(), "/")
|
||||
version := pkgNamePaths[len(pkgNamePaths)-1]
|
||||
group := pkgNamePaths[len(pkgNamePaths)-2]
|
||||
func GenerateNativeTypes(gv schema.GroupVersion, objs ...interface{}) {
|
||||
version := gv.Version
|
||||
group := gv.Group
|
||||
groupPath := group
|
||||
|
||||
if group == "core" {
|
||||
group = ""
|
||||
if groupPath == "" {
|
||||
groupPath = "core"
|
||||
}
|
||||
|
||||
k8sOutputPackage := path.Join(basePackage, baseK8s, groupPath, version)
|
||||
|
8
main.go
8
main.go
@ -19,8 +19,8 @@ func main() {
|
||||
generator.Generate(clusterSchema.Schemas)
|
||||
generator.Generate(projectSchema.Schemas)
|
||||
// Group by API group
|
||||
generator.GenerateNativeTypes(v1.Pod{}, v1.Node{}, v1.ComponentStatus{}, v1.Namespace{}, v1.Event{})
|
||||
generator.GenerateNativeTypes(v1beta2.Deployment{})
|
||||
generator.GenerateNativeTypes(rbacv1.RoleBinding{}, rbacv1.ClusterRoleBinding{}, rbacv1.ClusterRole{})
|
||||
generator.GenerateNativeTypes(extv1beta1.PodSecurityPolicy{})
|
||||
generator.GenerateNativeTypes(v1.SchemeGroupVersion, v1.Pod{}, v1.Node{}, v1.ComponentStatus{}, v1.Namespace{}, v1.Event{})
|
||||
generator.GenerateNativeTypes(v1beta2.SchemeGroupVersion, v1beta2.Deployment{})
|
||||
generator.GenerateNativeTypes(rbacv1.SchemeGroupVersion, rbacv1.RoleBinding{}, rbacv1.ClusterRoleBinding{}, rbacv1.ClusterRole{})
|
||||
generator.GenerateNativeTypes(extv1beta1.SchemeGroupVersion, extv1beta1.PodSecurityPolicy{})
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user