mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-24 04:06:03 +00:00
Client-gen: handle dotted package name
This commit is contained in:
parent
d800dca7f8
commit
08fc35018a
@ -88,7 +88,7 @@ func packageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packag
|
||||
OptionalName: strings.ToLower(c.Namers["private"].Name(t)),
|
||||
},
|
||||
outputPackage: outputPackagePath,
|
||||
group: gv.Group,
|
||||
group: normalization.BeforeFirstDot(gv.Group),
|
||||
typeToMatch: t,
|
||||
imports: generator.NewImportTracker(),
|
||||
})
|
||||
@ -96,7 +96,7 @@ func packageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packag
|
||||
|
||||
generators = append(generators, &genGroup{
|
||||
DefaultGen: generator.DefaultGen{
|
||||
OptionalName: gv.Group + "_client",
|
||||
OptionalName: normalization.BeforeFirstDot(gv.Group) + "_client",
|
||||
},
|
||||
outputPackage: outputPackagePath,
|
||||
group: gv.Group,
|
||||
|
@ -21,6 +21,7 @@ import (
|
||||
"strings"
|
||||
|
||||
clientgenargs "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/args"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/generators/normalization"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/generator"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/types"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
@ -53,7 +54,7 @@ func PackageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packag
|
||||
OptionalName: "fake_" + strings.ToLower(c.Namers["private"].Name(t)),
|
||||
},
|
||||
outputPackage: outputPackagePath,
|
||||
group: gv.Group,
|
||||
group: normalization.BeforeFirstDot(gv.Group),
|
||||
typeToMatch: t,
|
||||
imports: generator.NewImportTracker(),
|
||||
})
|
||||
@ -65,7 +66,7 @@ func PackageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packag
|
||||
},
|
||||
outputPackage: outputPackagePath,
|
||||
realClientPath: realClientPath,
|
||||
group: gv.Group,
|
||||
group: normalization.BeforeFirstDot(gv.Group),
|
||||
types: typeList,
|
||||
imports: generator.NewImportTracker(),
|
||||
})
|
||||
|
@ -59,6 +59,7 @@ func (g *genClientset) Imports(c *generator.Context) (imports []string) {
|
||||
group := normalization.Group(gv.Group)
|
||||
version := normalization.Version(gv.Version)
|
||||
typedClientPath := filepath.Join(g.typedClientPath, group, version)
|
||||
group = normalization.BeforeFirstDot(group)
|
||||
imports = append(imports, fmt.Sprintf("%s%s \"%s\"", version, group, typedClientPath))
|
||||
imports = append(imports, "github.com/golang/glog")
|
||||
}
|
||||
@ -79,7 +80,7 @@ func (g *genClientset) GenerateType(c *generator.Context, t *types.Type, w io.Wr
|
||||
|
||||
allGroups := []arg{}
|
||||
for _, gv := range g.groupVersions {
|
||||
group := normalization.Group(gv.Group)
|
||||
group := normalization.BeforeFirstDot(normalization.Group(gv.Group))
|
||||
version := normalization.Version(gv.Version)
|
||||
allGroups = append(allGroups, arg{namer.IC(group), version + group})
|
||||
}
|
||||
|
@ -19,6 +19,7 @@ package generators
|
||||
import (
|
||||
"io"
|
||||
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/generators/normalization"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/generator"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/namer"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/types"
|
||||
@ -71,8 +72,8 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer
|
||||
}
|
||||
|
||||
m := map[string]interface{}{
|
||||
"group": g.group,
|
||||
"Group": namer.IC(g.group),
|
||||
"group": normalization.BeforeFirstDot(g.group),
|
||||
"Group": namer.IC(normalization.BeforeFirstDot(g.group)),
|
||||
"canonicalGroup": canonize(g.group),
|
||||
"types": g.types,
|
||||
"Config": c.Universe.Type(types.Name{Package: pkgRESTClient, Name: "Config"}),
|
||||
@ -89,7 +90,7 @@ func (g *genGroup) GenerateType(c *generator.Context, t *types.Type, w io.Writer
|
||||
for _, t := range g.types {
|
||||
wrapper := map[string]interface{}{
|
||||
"type": t,
|
||||
"Group": namer.IC(g.group),
|
||||
"Group": namer.IC(normalization.BeforeFirstDot(g.group)),
|
||||
}
|
||||
namespaced := !(types.ExtractCommentTags("+", t.SecondClosestCommentLines)["nonNamespaced"] == "true")
|
||||
if namespaced {
|
||||
|
@ -16,7 +16,11 @@ limitations under the License.
|
||||
|
||||
package normalization
|
||||
|
||||
import "k8s.io/kubernetes/pkg/api/unversioned"
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
)
|
||||
|
||||
func Group(group string) string {
|
||||
if group == "api" {
|
||||
@ -35,3 +39,7 @@ func Version(version string) string {
|
||||
func GroupVersion(gv unversioned.GroupVersion) unversioned.GroupVersion {
|
||||
return unversioned.GroupVersion{Group: Group(gv.Group), Version: Version(gv.Version)}
|
||||
}
|
||||
|
||||
func BeforeFirstDot(dotted string) string {
|
||||
return strings.Split(dotted, ".")[0]
|
||||
}
|
||||
|
@ -92,12 +92,12 @@ func main() {
|
||||
|
||||
if *test {
|
||||
arguments.InputDirs = append(dependencies, []string{
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup",
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io",
|
||||
}...)
|
||||
arguments.CustomArgs = clientgenargs.Args{
|
||||
GroupVersions: []unversioned.GroupVersion{{Group: "testgroup", Version: ""}},
|
||||
GroupVersions: []unversioned.GroupVersion{{Group: "testgroup.k8s.io", Version: ""}},
|
||||
GroupVersionToInputPath: map[unversioned.GroupVersion]string{
|
||||
unversioned.GroupVersion{Group: "testgroup", Version: ""}: "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup",
|
||||
unversioned.GroupVersion{Group: "testgroup.k8s.io", Version: ""}: "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io",
|
||||
},
|
||||
ClientsetName: "test_internalclientset",
|
||||
ClientsetOutputPath: "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/",
|
||||
|
@ -23,8 +23,8 @@ import (
|
||||
|
||||
"github.com/golang/glog"
|
||||
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup/v1"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io/v1"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/meta"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
@ -34,11 +34,11 @@ import (
|
||||
"k8s.io/kubernetes/pkg/util/sets"
|
||||
)
|
||||
|
||||
const importPrefix = "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup"
|
||||
const importPrefix = "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io"
|
||||
|
||||
var accessor = meta.NewAccessor()
|
||||
|
||||
const groupName = "testgroup"
|
||||
const groupName = "testgroup.k8s.io"
|
||||
|
||||
// availableVersions lists all known external versions for this group from most preferred to least preferred
|
||||
var availableVersions = []unversioned.GroupVersion{{Group: groupName, Version: "v1"}}
|
@ -22,7 +22,7 @@ import (
|
||||
"k8s.io/kubernetes/pkg/runtime"
|
||||
)
|
||||
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: "testgroup", Version: runtime.APIVersionInternal}
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: "testgroup.k8s.io", Version: runtime.APIVersionInternal}
|
||||
|
||||
func AddToScheme(scheme *runtime.Scheme) {
|
||||
// Add the API to Scheme.
|
@ -23,7 +23,7 @@ import (
|
||||
versionedwatch "k8s.io/kubernetes/pkg/watch/versioned"
|
||||
)
|
||||
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: "testgroup", Version: "v1"}
|
||||
var SchemeGroupVersion = unversioned.GroupVersion{Group: "testgroup.k8s.io", Version: "v1"}
|
||||
|
||||
func AddToScheme(scheme *runtime.Scheme) {
|
||||
// Add the API to Scheme.
|
@ -21,9 +21,9 @@ import (
|
||||
"net/url"
|
||||
"testing"
|
||||
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup"
|
||||
_ "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup/install"
|
||||
. "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup/unversioned"
|
||||
testgroup "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io"
|
||||
_ "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io/install"
|
||||
. "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup.k8s.io/unversioned"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
@ -19,7 +19,7 @@ package apiserver
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup/v1"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io/v1"
|
||||
testgroupetcd "k8s.io/kubernetes/examples/apiserver/rest"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/api/rest"
|
||||
@ -29,7 +29,7 @@ import (
|
||||
etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
|
||||
|
||||
// Install the testgroup API
|
||||
_ "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup/install"
|
||||
_ "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io/install"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -24,7 +24,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup/v1"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io/v1"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||
@ -107,7 +107,7 @@ func testAPIGroupList(t *testing.T) {
|
||||
}
|
||||
|
||||
func testAPIGroup(t *testing.T) {
|
||||
serverURL := serverIP + "/apis/testgroup"
|
||||
serverURL := serverIP + "/apis/testgroup.k8s.io"
|
||||
contents, err := readResponse(serverURL)
|
||||
if err != nil {
|
||||
t.Fatalf("%v", err)
|
||||
@ -126,7 +126,7 @@ func testAPIGroup(t *testing.T) {
|
||||
}
|
||||
|
||||
func testAPIResourceList(t *testing.T) {
|
||||
serverURL := serverIP + "/apis/testgroup/v1"
|
||||
serverURL := serverIP + "/apis/testgroup.k8s.io/v1"
|
||||
contents, err := readResponse(serverURL)
|
||||
if err != nil {
|
||||
t.Fatalf("%v", err)
|
||||
|
@ -17,7 +17,7 @@ limitations under the License.
|
||||
package rest
|
||||
|
||||
import (
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup"
|
||||
"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup.k8s.io"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/fields"
|
||||
"k8s.io/kubernetes/pkg/labels"
|
||||
|
Loading…
Reference in New Issue
Block a user