diff --git a/cmd/libs/go2idl/informer-gen/generators/factory.go b/cmd/libs/go2idl/informer-gen/generators/factory.go index b9dad9b4d52..1f87d04272f 100644 --- a/cmd/libs/go2idl/informer-gen/generators/factory.go +++ b/cmd/libs/go2idl/informer-gen/generators/factory.go @@ -68,8 +68,8 @@ func (g *factoryGenerator) GenerateType(c *generator.Context, t *types.Type, w i gvInterfaces := make(map[string]*types.Type) gvNewFuncs := make(map[string]*types.Type) for groupName := range g.groupVersions { - gvInterfaces[groupName] = c.Universe.Type(types.Name{Package: packageForGroup(g.outputPackage, g.groupVersions[groupName].Group), Name: "Interface"}) - gvNewFuncs[groupName] = c.Universe.Function(types.Name{Package: packageForGroup(g.outputPackage, g.groupVersions[groupName].Group), Name: "New"}) + gvInterfaces[groupName] = c.Universe.Type(types.Name{Package: packageForGroup(vendorless(g.outputPackage), g.groupVersions[groupName].Group), Name: "Interface"}) + gvNewFuncs[groupName] = c.Universe.Function(types.Name{Package: packageForGroup(vendorless(g.outputPackage), g.groupVersions[groupName].Group), Name: "New"}) } m := map[string]interface{}{ "cacheSharedIndexInformer": c.Universe.Type(cacheSharedIndexInformer), diff --git a/cmd/libs/go2idl/informer-gen/generators/packages.go b/cmd/libs/go2idl/informer-gen/generators/packages.go index 6d34474e014..b83e5987b8b 100644 --- a/cmd/libs/go2idl/informer-gen/generators/packages.go +++ b/cmd/libs/go2idl/informer-gen/generators/packages.go @@ -99,6 +99,13 @@ func packageForInternalInterfaces(base string) string { return filepath.Join(base, "internalinterfaces") } +func vendorless(p string) string { + if pos := strings.LastIndex(p, "/vendor/"); pos != -1 { + return p[pos+len("/vendor/"):] + } + return p +} + // Packages makes the client package definition. func Packages(context *generator.Context, arguments *args.GeneratorArgs) generator.Packages { boilerplate, err := arguments.LoadGoBoilerplate() @@ -122,7 +129,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat externalGroupVersions := make(map[string]clientgentypes.GroupVersions) internalGroupVersions := make(map[string]clientgentypes.GroupVersions) for _, inputDir := range arguments.InputDirs { - p := context.Universe.Package(inputDir) + p := context.Universe.Package(vendorless(inputDir)) objectMeta, internal, err := objectMetaForPackage(p) if err != nil {