From 875566f997a4a1786ffd5771b7aa80f72c0a60c5 Mon Sep 17 00:00:00 2001 From: Tim Hockin Date: Mon, 15 Jan 2024 17:00:44 -0800 Subject: [PATCH] Type-assert gengo CustomArgs blindly If it does fail, it is catastophic. Don't bother trying to handle it. --- .../client-gen/generators/client_generator.go | 6 ++--- .../conversion-gen/generators/conversion.go | 27 ++++++++----------- .../cmd/informer-gen/generators/targets.go | 5 +--- 3 files changed, 14 insertions(+), 24 deletions(-) diff --git a/staging/src/k8s.io/code-generator/cmd/client-gen/generators/client_generator.go b/staging/src/k8s.io/code-generator/cmd/client-gen/generators/client_generator.go index 9c949d4d4b0..b9084ecb8d6 100644 --- a/staging/src/k8s.io/code-generator/cmd/client-gen/generators/client_generator.go +++ b/staging/src/k8s.io/code-generator/cmd/client-gen/generators/client_generator.go @@ -346,10 +346,8 @@ func GetTargets(context *generator.Context, arguments *args.GeneratorArgs) []gen klog.Fatalf("Failed loading boilerplate: %v", err) } - customArgs, ok := arguments.CustomArgs.(*clientgenargs.CustomArgs) - if !ok { - klog.Fatalf("cannot convert arguments.CustomArgs to clientgenargs.CustomArgs") - } + customArgs := arguments.CustomArgs.(*clientgenargs.CustomArgs) + includedTypesOverrides := customArgs.IncludedTypesOverrides if err := sanitizePackagePaths(context, customArgs); err != nil { diff --git a/staging/src/k8s.io/code-generator/cmd/conversion-gen/generators/conversion.go b/staging/src/k8s.io/code-generator/cmd/conversion-gen/generators/conversion.go index 9de181f7628..d37aa9f496c 100644 --- a/staging/src/k8s.io/code-generator/cmd/conversion-gen/generators/conversion.go +++ b/staging/src/k8s.io/code-generator/cmd/conversion-gen/generators/conversion.go @@ -271,17 +271,17 @@ func GetTargets(context *generator.Context, arguments *args.GeneratorArgs) []gen } } + customArgs := arguments.CustomArgs.(*conversionargs.CustomArgs) + // Make sure explicit peer-packages are added. - if customArgs, ok := arguments.CustomArgs.(*conversionargs.CustomArgs); ok { - peers := append(customArgs.BasePeerDirs, customArgs.ExtraPeerDirs...) - if expanded, err := context.FindPackages(peers...); err != nil { - klog.Fatalf("cannot find peer packages: %v", err) - } else { - otherPkgs = append(otherPkgs, expanded...) - // for each pkg, add these extras, too - for k := range pkgToPeers { - pkgToPeers[k] = append(pkgToPeers[k], expanded...) - } + peers := append(customArgs.BasePeerDirs, customArgs.ExtraPeerDirs...) + if expanded, err := context.FindPackages(peers...); err != nil { + klog.Fatalf("cannot find peer packages: %v", err) + } else { + otherPkgs = append(otherPkgs, expanded...) + // for each pkg, add these extras, too + for k := range pkgToPeers { + pkgToPeers[k] = append(pkgToPeers[k], expanded...) } } @@ -303,11 +303,6 @@ func GetTargets(context *generator.Context, arguments *args.GeneratorArgs) []gen getManualConversionFunctions(context, p, manualConversions) } - skipUnsafe := false - if customArgs, ok := arguments.CustomArgs.(*conversionargs.CustomArgs); ok { - skipUnsafe = customArgs.SkipUnsafe - } - // We are generating conversions only for packages that are explicitly // passed as InputDir. for _, i := range filteredInputs { @@ -326,7 +321,7 @@ func GetTargets(context *generator.Context, arguments *args.GeneratorArgs) []gen typesPkg = context.Universe[externalTypes] unsafeEquality := TypesEqual(memoryEquivalentTypes) - if skipUnsafe { + if customArgs.SkipUnsafe { unsafeEquality = noEquality{} } diff --git a/staging/src/k8s.io/code-generator/cmd/informer-gen/generators/targets.go b/staging/src/k8s.io/code-generator/cmd/informer-gen/generators/targets.go index 41adb3c6ce6..deac968f8a2 100644 --- a/staging/src/k8s.io/code-generator/cmd/informer-gen/generators/targets.go +++ b/staging/src/k8s.io/code-generator/cmd/informer-gen/generators/targets.go @@ -99,10 +99,7 @@ func GetTargets(context *generator.Context, arguments *args.GeneratorArgs) []gen klog.Fatalf("Failed loading boilerplate: %v", err) } - customArgs, ok := arguments.CustomArgs.(*informergenargs.CustomArgs) - if !ok { - klog.Fatalf("Wrong CustomArgs type: %T", arguments.CustomArgs) - } + customArgs := arguments.CustomArgs.(*informergenargs.CustomArgs) internalVersionOutputDir := arguments.OutputBase internalVersionOutputPkg := customArgs.OutputPackage