Use generator.NewImportTrackerForPackage for all generators to prevent generation of import to package being generated

Co-authored-by: Tim Hockin <thockin@google.com>
This commit is contained in:
Joe Betz 2024-08-29 20:46:51 -04:00
parent d5555af62b
commit 1606be6974
9 changed files with 21 additions and 22 deletions

View File

@ -188,7 +188,7 @@ func targetForApplyConfigurationsPackage(outputDirBase, outputPkgBase, pkgSubdir
localPkg: outputPkg, localPkg: outputPkg,
groupVersion: gv, groupVersion: gv,
applyConfig: toGenerate, applyConfig: toGenerate,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkg),
refGraph: refs, refGraph: refs,
openAPIType: openAPIType, openAPIType: openAPIType,
}) })
@ -211,7 +211,7 @@ func targetForUtils(outputDirBase, outputPkgBase string, boilerplate []byte, gro
OutputFilename: "utils.go", OutputFilename: "utils.go",
}, },
outputPackage: outputPkgBase, outputPackage: outputPkgBase,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkgBase),
groupVersions: groupVersions, groupVersions: groupVersions,
typesForGroupVersion: applyConfigsForGroupVersion, typesForGroupVersion: applyConfigsForGroupVersion,
groupGoNames: groupGoNames, groupGoNames: groupGoNames,
@ -236,7 +236,7 @@ func targetForInternal(outputDirBase, outputPkgBase string, boilerplate []byte,
OutputFilename: "internal.go", OutputFilename: "internal.go",
}, },
outputPackage: outputPkgBase, outputPackage: outputPkgBase,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkg),
typeModels: models, typeModels: models,
}) })
return generators return generators

View File

@ -161,7 +161,7 @@ func targetForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, clie
version: gv.Version.String(), version: gv.Version.String(),
groupGoName: groupGoName, groupGoName: groupGoName,
typeToMatch: t, typeToMatch: t,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(gvPkg),
}) })
} }
@ -177,7 +177,7 @@ func targetForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, clie
groupGoName: groupGoName, groupGoName: groupGoName,
apiPath: apiPath, apiPath: apiPath,
types: typeList, types: typeList,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(gvPkg),
}) })
expansionFileName := "generated_expansion.go" expansionFileName := "generated_expansion.go"
@ -214,7 +214,7 @@ func targetForClientset(args *args.Args, clientsetDir, clientsetPkg string, grou
groups: args.Groups, groups: args.Groups,
groupGoNames: groupGoNames, groupGoNames: groupGoNames,
clientsetPackage: clientsetPkg, clientsetPackage: clientsetPkg,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(clientsetPkg),
}, },
} }
return generators return generators
@ -260,7 +260,7 @@ NextGroup:
OutputPath: schemeDir, OutputPath: schemeDir,
Groups: args.Groups, Groups: args.Groups,
GroupGoNames: groupGoNames, GroupGoNames: groupGoNames,
ImportTracker: generator.NewImportTracker(), ImportTracker: generator.NewImportTrackerForPackage(schemePkg),
CreateRegistry: internalClient, CreateRegistry: internalClient,
}, },
} }

View File

@ -63,7 +63,7 @@ func TargetForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, clie
version: gv.Version.String(), version: gv.Version.String(),
groupGoName: groupGoName, groupGoName: groupGoName,
typeToMatch: t, typeToMatch: t,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkg),
applyConfigurationPackage: applyBuilderPackage, applyConfigurationPackage: applyBuilderPackage,
}) })
} }
@ -78,7 +78,7 @@ func TargetForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, clie
version: gv.Version.String(), version: gv.Version.String(),
groupGoName: groupGoName, groupGoName: groupGoName,
types: typeList, types: typeList,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkg),
}) })
return generators return generators
}, },
@ -111,7 +111,7 @@ func TargetForClientset(args *args.Args, clientsetDir, clientsetPkg string, appl
groups: args.Groups, groups: args.Groups,
groupGoNames: groupGoNames, groupGoNames: groupGoNames,
fakeClientsetPackage: clientsetPkg, fakeClientsetPackage: clientsetPkg,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(clientsetPkg),
realClientsetPackage: clientsetPkg, realClientsetPackage: clientsetPkg,
applyConfigurationPackage: applyConfigurationPkg, applyConfigurationPackage: applyConfigurationPkg,
}, },
@ -123,7 +123,7 @@ func TargetForClientset(args *args.Args, clientsetDir, clientsetPkg string, appl
OutputPkg: clientsetPkg, OutputPkg: clientsetPkg,
Groups: args.Groups, Groups: args.Groups,
GroupGoNames: groupGoNames, GroupGoNames: groupGoNames,
ImportTracker: generator.NewImportTracker(), ImportTracker: generator.NewImportTrackerForPackage(clientsetPkg),
PrivateScheme: true, PrivateScheme: true,
}, },
} }

View File

@ -77,7 +77,6 @@ func (g *genClientset) Imports(c *generator.Context) (imports []string) {
"fakediscovery \"k8s.io/client-go/discovery/fake\"", "fakediscovery \"k8s.io/client-go/discovery/fake\"",
"k8s.io/apimachinery/pkg/runtime", "k8s.io/apimachinery/pkg/runtime",
"k8s.io/apimachinery/pkg/watch", "k8s.io/apimachinery/pkg/watch",
"k8s.io/apimachinery/pkg/api/meta/testrestmapper",
) )
return return

View File

@ -478,7 +478,7 @@ func NewGenConversion(outputFilename, typesPackage, outputPackage string, manual
outputPackage: outputPackage, outputPackage: outputPackage,
peerPackages: peerPkgs, peerPackages: peerPkgs,
manualConversions: manualConversions, manualConversions: manualConversions,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPackage),
types: []*types.Type{}, types: []*types.Type{},
explicitConversions: []conversionPair{}, explicitConversions: []conversionPair{},
skippedFields: map[*types.Type][]string{}, skippedFields: map[*types.Type][]string{},

View File

@ -222,7 +222,7 @@ func NewGenDeepCopy(outputFilename, targetPackage string, boundingDirs []string,
boundingDirs: boundingDirs, boundingDirs: boundingDirs,
allTypes: allTypes, allTypes: allTypes,
registerTypes: registerTypes, registerTypes: registerTypes,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(targetPackage),
typesForInit: make([]*types.Type, 0), typesForInit: make([]*types.Type, 0),
} }
} }

View File

@ -249,7 +249,7 @@ func factoryTarget(outputDirBase, outputPkgBase string, boilerplate []byte, grou
OutputFilename: "factory.go", OutputFilename: "factory.go",
}, },
outputPackage: outputPkgBase, outputPackage: outputPkgBase,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkgBase),
groupVersions: groupVersions, groupVersions: groupVersions,
clientSetPackage: clientSetPackage, clientSetPackage: clientSetPackage,
internalInterfacesPackage: path.Join(outputPkgBase, subdirForInternalInterfaces), internalInterfacesPackage: path.Join(outputPkgBase, subdirForInternalInterfaces),
@ -261,7 +261,7 @@ func factoryTarget(outputDirBase, outputPkgBase string, boilerplate []byte, grou
OutputFilename: "generic.go", OutputFilename: "generic.go",
}, },
outputPackage: outputPkgBase, outputPackage: outputPkgBase,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkgBase),
groupVersions: groupVersions, groupVersions: groupVersions,
pluralExceptions: pluralExceptions, pluralExceptions: pluralExceptions,
typesForGroupVersion: typesForGroupVersion, typesForGroupVersion: typesForGroupVersion,
@ -288,7 +288,7 @@ func factoryInterfaceTarget(outputDirBase, outputPkgBase string, boilerplate []b
OutputFilename: "factory_interfaces.go", OutputFilename: "factory_interfaces.go",
}, },
outputPackage: outputPkg, outputPackage: outputPkg,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkg),
clientSetPackage: clientSetPackage, clientSetPackage: clientSetPackage,
}) })
@ -314,7 +314,7 @@ func groupTarget(outputDirBase, outputPackageBase string, groupVersions clientge
}, },
outputPackage: outputPkg, outputPackage: outputPkg,
groupVersions: groupVersions, groupVersions: groupVersions,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkg),
internalInterfacesPackage: path.Join(outputPackageBase, subdirForInternalInterfaces), internalInterfacesPackage: path.Join(outputPackageBase, subdirForInternalInterfaces),
}) })
return generators return generators
@ -342,7 +342,7 @@ func versionTarget(outputDirBase, outputPkgBase string, groupPkgName string, gv
OutputFilename: "interface.go", OutputFilename: "interface.go",
}, },
outputPackage: outputPkg, outputPackage: outputPkg,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkg),
types: typesToGenerate, types: typesToGenerate,
internalInterfacesPackage: path.Join(outputPkgBase, subdirForInternalInterfaces), internalInterfacesPackage: path.Join(outputPkgBase, subdirForInternalInterfaces),
}) })
@ -357,7 +357,7 @@ func versionTarget(outputDirBase, outputPkgBase string, groupPkgName string, gv
groupVersion: gv, groupVersion: gv,
groupGoName: groupGoName, groupGoName: groupGoName,
typeToGenerate: t, typeToGenerate: t,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkg),
clientSetPackage: clientSetPackage, clientSetPackage: clientSetPackage,
listersPackage: listersPackage, listersPackage: listersPackage,
internalInterfacesPackage: path.Join(outputPkgBase, subdirForInternalInterfaces), internalInterfacesPackage: path.Join(outputPkgBase, subdirForInternalInterfaces),

View File

@ -149,7 +149,7 @@ func GetTargets(context *generator.Context, args *args.Args) []generator.Target
groupVersion: gv, groupVersion: gv,
internalGVPkg: internalGVPkg, internalGVPkg: internalGVPkg,
typeToGenerate: t, typeToGenerate: t,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(outputPkg),
objectMeta: objectMeta, objectMeta: objectMeta,
}) })
} }

View File

@ -115,7 +115,7 @@ func GetTargets(context *generator.Context, args *args.Args) []generator.Target
gv: gv, gv: gv,
typesToGenerate: typesToRegister, typesToGenerate: typesToRegister,
outputPackage: pkg.Path, outputPackage: pkg.Path,
imports: generator.NewImportTracker(), imports: generator.NewImportTrackerForPackage(pkg.Path),
}, },
} }
}, },