upgrade controller-tools to v0.4.1
Signed-off-by: yuswift <yuswift2018@gmail.com>
This commit is contained in:
22
vendor/sigs.k8s.io/controller-tools/pkg/crd/parser.go
generated
vendored
22
vendor/sigs.k8s.io/controller-tools/pkg/crd/parser.go
generated
vendored
@@ -18,7 +18,6 @@ package crd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"go/ast"
|
||||
|
||||
apiext "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
@@ -216,7 +215,7 @@ func (p *Parser) AddPackage(pkg *loader.Package) {
|
||||
return
|
||||
}
|
||||
p.indexTypes(pkg)
|
||||
p.Checker.Check(pkg, filterTypesForCRDs)
|
||||
p.Checker.Check(pkg)
|
||||
p.packages[pkg] = struct{}{}
|
||||
}
|
||||
|
||||
@@ -236,22 +235,3 @@ func (p *Parser) NeedPackage(pkg *loader.Package) {
|
||||
}
|
||||
p.AddPackage(pkg)
|
||||
}
|
||||
|
||||
// filterTypesForCRDs filters out all nodes that aren't used in CRD generation,
|
||||
// like interfaces and struct fields without JSON tag.
|
||||
func filterTypesForCRDs(node ast.Node) bool {
|
||||
switch node := node.(type) {
|
||||
case *ast.InterfaceType:
|
||||
// skip interfaces, we never care about references in them
|
||||
return false
|
||||
case *ast.StructType:
|
||||
return true
|
||||
case *ast.Field:
|
||||
_, hasTag := loader.ParseAstTag(node.Tag).Lookup("json")
|
||||
// fields without JSON tags mean we have custom serialization,
|
||||
// so only visit fields with tags.
|
||||
return hasTag
|
||||
default:
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user