mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-07-18 04:54:54 +00:00
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:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user