codegen: Remove most uses of InputDirs

This clears the path to getting rid of it completely.
This commit is contained in:
Tim Hockin 2024-01-11 17:36:53 -08:00
parent e78dc86288
commit 299b045307
No known key found for this signature in database
5 changed files with 7 additions and 19 deletions

View File

@ -63,7 +63,7 @@ func GetTargets(context *generator.Context, arguments *args.GeneratorArgs) []gen
klog.Fatalf("Failed loading boilerplate: %v", err) klog.Fatalf("Failed loading boilerplate: %v", err)
} }
pkgTypes := packageTypesForInputDirs(context, arguments.InputDirs, customArgs.OutputPkg) pkgTypes := packageTypesForInputs(context, customArgs.OutputPkg)
initialTypes := customArgs.ExternalApplyConfigurations initialTypes := customArgs.ExternalApplyConfigurations
refs := refGraphForReachableTypes(context.Universe, pkgTypes, initialTypes) refs := refGraphForReachableTypes(context.Universe, pkgTypes, initialTypes)
typeModels, err := newTypeModels(customArgs.OpenAPISchemaFilePath, pkgTypes) typeModels, err := newTypeModels(customArgs.OpenAPISchemaFilePath, pkgTypes)
@ -251,9 +251,9 @@ func goName(gv clientgentypes.GroupVersion, p *types.Package) string {
return goName return goName
} }
func packageTypesForInputDirs(context *generator.Context, inputDirs []string, outPkgBase string) map[string]*types.Package { func packageTypesForInputs(context *generator.Context, outPkgBase string) map[string]*types.Package {
pkgTypes := map[string]*types.Package{} pkgTypes := map[string]*types.Package{}
for _, inputDir := range inputDirs { for _, inputDir := range context.Inputs {
p := context.Universe.Package(inputDir) p := context.Universe.Package(inputDir)
internal := isInternalPackage(p) internal := isInternalPackage(p)
if internal { if internal {

View File

@ -25,8 +25,6 @@ import (
"k8s.io/code-generator/cmd/client-gen/types" "k8s.io/code-generator/cmd/client-gen/types"
) )
var DefaultInputDirs = []string{}
// CustomArgs is a wrapper for arguments to client-gen. // CustomArgs is a wrapper for arguments to client-gen.
type CustomArgs struct { type CustomArgs struct {
// The directory for the generated results. // The directory for the generated results.
@ -78,7 +76,6 @@ func NewDefaults() (*args.GeneratorArgs, *CustomArgs) {
ApplyConfigurationPackage: "", ApplyConfigurationPackage: "",
} }
genericArgs.CustomArgs = customArgs genericArgs.CustomArgs = customArgs
genericArgs.InputDirs = DefaultInputDirs
return genericArgs, customArgs return genericArgs, customArgs
} }

View File

@ -115,15 +115,6 @@ func main() {
pflag.CommandLine.AddGoFlagSet(flag.CommandLine) pflag.CommandLine.AddGoFlagSet(flag.CommandLine)
pflag.Parse() pflag.Parse()
// k8s.io/apimachinery/pkg/runtime contains a number of manual conversions,
// that we need to generate conversions.
// Packages being dependencies of explicitly requested packages are only
// partially scanned - only types explicitly used are being traversed.
// Not used functions or types are omitted.
// Adding this explicitly to InputDirs ensures that the package is fully
// scanned and all functions are parsed and processed.
genericArgs.InputDirs = append(genericArgs.InputDirs, "k8s.io/apimachinery/pkg/runtime")
if err := generatorargs.Validate(genericArgs); err != nil { if err := generatorargs.Validate(genericArgs); err != nil {
klog.Fatalf("Error: %v", err) klog.Fatalf("Error: %v", err)
} }

View File

@ -118,8 +118,8 @@ func GetTargets(context *generator.Context, arguments *args.GeneratorArgs) []gen
externalGroupVersions := make(map[string]clientgentypes.GroupVersions) externalGroupVersions := make(map[string]clientgentypes.GroupVersions)
internalGroupVersions := make(map[string]clientgentypes.GroupVersions) internalGroupVersions := make(map[string]clientgentypes.GroupVersions)
groupGoNames := make(map[string]string) groupGoNames := make(map[string]string)
for _, inputDir := range arguments.InputDirs { for _, inputPkg := range context.Inputs {
p := context.Universe.Package(inputDir) p := context.Universe.Package(inputPkg)
objectMeta, internal, err := objectMetaForPackage(p) objectMeta, internal, err := objectMetaForPackage(p)
if err != nil { if err != nil {

View File

@ -68,8 +68,8 @@ func GetTargets(context *generator.Context, arguments *args.GeneratorArgs) []gen
} }
var targetList []generator.Target var targetList []generator.Target
for _, inputDir := range arguments.InputDirs { for _, inputPkg := range context.Inputs {
p := context.Universe.Package(inputDir) p := context.Universe.Package(inputPkg)
objectMeta, internal, err := objectMetaForPackage(p) objectMeta, internal, err := objectMetaForPackage(p)
if err != nil { if err != nil {