Merge pull request #135770 from dnaeon/code-generator/defaulter-gen

code-generator/defaulter-gen: generate defaults only if required tags are present
This commit is contained in:
Kubernetes Prow Robot
2026-01-13 08:33:36 +05:30
committed by GitHub

View File

@@ -73,12 +73,19 @@ func extractDefaultTag(comments []string) ([]string, error) {
return tags[defaultTagName], nil
}
func extractTag(comments []string) ([]string, error) {
func extractTag(comments []string) ([]string, bool) {
tags, err := genutil.ExtractCommentTagsWithoutArguments("+", []string{tagName}, comments)
if err != nil {
return nil, err
klog.Fatalf("Error extracting %s tag: %v", tagName, err)
return nil, false
}
return tags[tagName], nil
values, found := tags[tagName]
if !found || len(values) == 0 {
return nil, false
}
return values, true
}
func extractInputTag(comments []string) ([]string, error) {
@@ -330,9 +337,10 @@ func GetTargets(context *generator.Context, args *args.Args) []generator.Target
getManualDefaultingFunctions(context, context.Universe[pp], existingDefaulters)
}
typesWith, err := extractTag(pkg.Comments)
if err != nil {
klog.Fatalf("Error extracting %s tag: %v", tagName, err)
typesWith, found := extractTag(pkg.Comments)
if !found {
klog.V(2).InfoS(" did not find required tag", "tag", tagName)
continue
}
shouldCreateObjectDefaulterFn := func(t *types.Type) bool {
if defaults, ok := existingDefaulters[t]; ok && defaults.object != nil {