vendorless path for informer-gen

This commit is contained in:
Chao Xu 2017-05-05 14:17:04 -07:00
parent 48134bc02a
commit e74c17a0ed
2 changed files with 10 additions and 3 deletions

View File

@ -68,8 +68,8 @@ func (g *factoryGenerator) GenerateType(c *generator.Context, t *types.Type, w i
gvInterfaces := make(map[string]*types.Type) gvInterfaces := make(map[string]*types.Type)
gvNewFuncs := make(map[string]*types.Type) gvNewFuncs := make(map[string]*types.Type)
for groupName := range g.groupVersions { for groupName := range g.groupVersions {
gvInterfaces[groupName] = c.Universe.Type(types.Name{Package: packageForGroup(g.outputPackage, g.groupVersions[groupName].Group), Name: "Interface"}) 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(g.outputPackage, g.groupVersions[groupName].Group), Name: "New"}) gvNewFuncs[groupName] = c.Universe.Function(types.Name{Package: packageForGroup(vendorless(g.outputPackage), g.groupVersions[groupName].Group), Name: "New"})
} }
m := map[string]interface{}{ m := map[string]interface{}{
"cacheSharedIndexInformer": c.Universe.Type(cacheSharedIndexInformer), "cacheSharedIndexInformer": c.Universe.Type(cacheSharedIndexInformer),

View File

@ -99,6 +99,13 @@ func packageForInternalInterfaces(base string) string {
return filepath.Join(base, "internalinterfaces") 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. // Packages makes the client package definition.
func Packages(context *generator.Context, arguments *args.GeneratorArgs) generator.Packages { func Packages(context *generator.Context, arguments *args.GeneratorArgs) generator.Packages {
boilerplate, err := arguments.LoadGoBoilerplate() boilerplate, err := arguments.LoadGoBoilerplate()
@ -122,7 +129,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
externalGroupVersions := make(map[string]clientgentypes.GroupVersions) externalGroupVersions := make(map[string]clientgentypes.GroupVersions)
internalGroupVersions := make(map[string]clientgentypes.GroupVersions) internalGroupVersions := make(map[string]clientgentypes.GroupVersions)
for _, inputDir := range arguments.InputDirs { for _, inputDir := range arguments.InputDirs {
p := context.Universe.Package(inputDir) p := context.Universe.Package(vendorless(inputDir))
objectMeta, internal, err := objectMetaForPackage(p) objectMeta, internal, err := objectMetaForPackage(p)
if err != nil { if err != nil {