mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-30 15:05:27 +00:00
Merge pull request #93164 from roycaihw/fix/clientgen-use-canonical-import-path
Use canonical import path in client-gen input-base
This commit is contained in:
commit
e2c5387d3f
@ -56,7 +56,7 @@ GV_DIRS_CSV=$(IFS=',';echo "${GV_DIRS[*]// /,}";IFS=$)
|
|||||||
|
|
||||||
# This can be called with one flag, --verify-only, so it works for both the
|
# This can be called with one flag, --verify-only, so it works for both the
|
||||||
# update- and verify- scripts.
|
# update- and verify- scripts.
|
||||||
${clientgen} --output-base "${KUBE_ROOT}/vendor" --output-package="k8s.io/client-go" --clientset-name="kubernetes" --input-base="k8s.io/kubernetes/vendor/k8s.io/api" --input="${GV_DIRS_CSV}" --go-header-file "${KUBE_ROOT}/hack/boilerplate/boilerplate.generatego.txt" "$@"
|
${clientgen} --output-base "${KUBE_ROOT}/vendor" --output-package="k8s.io/client-go" --clientset-name="kubernetes" --input-base="k8s.io/api" --input="${GV_DIRS_CSV}" --go-header-file "${KUBE_ROOT}/hack/boilerplate/boilerplate.generatego.txt" "$@"
|
||||||
|
|
||||||
listergen_external_apis=()
|
listergen_external_apis=()
|
||||||
kube::util::read-array listergen_external_apis < <(
|
kube::util::read-array listergen_external_apis < <(
|
||||||
|
@ -24,6 +24,7 @@ go_library(
|
|||||||
"//staging/src/k8s.io/code-generator/cmd/client-gen/path:go_default_library",
|
"//staging/src/k8s.io/code-generator/cmd/client-gen/path:go_default_library",
|
||||||
"//staging/src/k8s.io/code-generator/cmd/client-gen/types:go_default_library",
|
"//staging/src/k8s.io/code-generator/cmd/client-gen/types:go_default_library",
|
||||||
"//staging/src/k8s.io/code-generator/pkg/namer:go_default_library",
|
"//staging/src/k8s.io/code-generator/pkg/namer:go_default_library",
|
||||||
|
"//staging/src/k8s.io/code-generator/pkg/util:go_default_library",
|
||||||
"//vendor/k8s.io/gengo/args:go_default_library",
|
"//vendor/k8s.io/gengo/args:go_default_library",
|
||||||
"//vendor/k8s.io/gengo/generator:go_default_library",
|
"//vendor/k8s.io/gengo/generator:go_default_library",
|
||||||
"//vendor/k8s.io/gengo/namer:go_default_library",
|
"//vendor/k8s.io/gengo/namer:go_default_library",
|
||||||
|
@ -28,6 +28,7 @@ import (
|
|||||||
"k8s.io/code-generator/cmd/client-gen/path"
|
"k8s.io/code-generator/cmd/client-gen/path"
|
||||||
clientgentypes "k8s.io/code-generator/cmd/client-gen/types"
|
clientgentypes "k8s.io/code-generator/cmd/client-gen/types"
|
||||||
codegennamer "k8s.io/code-generator/pkg/namer"
|
codegennamer "k8s.io/code-generator/pkg/namer"
|
||||||
|
genutil "k8s.io/code-generator/pkg/util"
|
||||||
"k8s.io/gengo/args"
|
"k8s.io/gengo/args"
|
||||||
"k8s.io/gengo/generator"
|
"k8s.io/gengo/generator"
|
||||||
"k8s.io/gengo/namer"
|
"k8s.io/gengo/namer"
|
||||||
@ -279,7 +280,7 @@ func applyGroupOverrides(universe types.Universe, customArgs *clientgenargs.Cust
|
|||||||
// Create a map from "old GV" to "new GV" so we know what changes we need to make.
|
// Create a map from "old GV" to "new GV" so we know what changes we need to make.
|
||||||
changes := make(map[clientgentypes.GroupVersion]clientgentypes.GroupVersion)
|
changes := make(map[clientgentypes.GroupVersion]clientgentypes.GroupVersion)
|
||||||
for gv, inputDir := range customArgs.GroupVersionPackages() {
|
for gv, inputDir := range customArgs.GroupVersionPackages() {
|
||||||
p := universe.Package(inputDir)
|
p := universe.Package(genutil.Vendorless(inputDir))
|
||||||
if override := types.ExtractCommentTags("+", p.Comments)["groupName"]; override != nil {
|
if override := types.ExtractCommentTags("+", p.Comments)["groupName"]; override != nil {
|
||||||
newGV := clientgentypes.GroupVersion{
|
newGV := clientgentypes.GroupVersion{
|
||||||
Group: clientgentypes.Group(override[0]),
|
Group: clientgentypes.Group(override[0]),
|
||||||
|
@ -12,6 +12,7 @@ go_library(
|
|||||||
importpath = "k8s.io/code-generator/cmd/conversion-gen/generators",
|
importpath = "k8s.io/code-generator/cmd/conversion-gen/generators",
|
||||||
deps = [
|
deps = [
|
||||||
"//staging/src/k8s.io/code-generator/cmd/conversion-gen/args:go_default_library",
|
"//staging/src/k8s.io/code-generator/cmd/conversion-gen/args:go_default_library",
|
||||||
|
"//staging/src/k8s.io/code-generator/pkg/util:go_default_library",
|
||||||
"//vendor/k8s.io/gengo/args:go_default_library",
|
"//vendor/k8s.io/gengo/args:go_default_library",
|
||||||
"//vendor/k8s.io/gengo/generator:go_default_library",
|
"//vendor/k8s.io/gengo/generator:go_default_library",
|
||||||
"//vendor/k8s.io/gengo/namer:go_default_library",
|
"//vendor/k8s.io/gengo/namer:go_default_library",
|
||||||
|
@ -33,6 +33,7 @@ import (
|
|||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
|
|
||||||
conversionargs "k8s.io/code-generator/cmd/conversion-gen/args"
|
conversionargs "k8s.io/code-generator/cmd/conversion-gen/args"
|
||||||
|
genutil "k8s.io/code-generator/pkg/util"
|
||||||
)
|
)
|
||||||
|
|
||||||
// These are the comment tags that carry parameters for conversion generation.
|
// These are the comment tags that carry parameters for conversion generation.
|
||||||
@ -292,14 +293,8 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
|
|||||||
// in the output directory.
|
// in the output directory.
|
||||||
// TODO: build a more fundamental concept in gengo for dealing with modifications
|
// TODO: build a more fundamental concept in gengo for dealing with modifications
|
||||||
// to vendored packages.
|
// to vendored packages.
|
||||||
vendorless := func(pkg string) string {
|
|
||||||
if pos := strings.LastIndex(pkg, "/vendor/"); pos != -1 {
|
|
||||||
return pkg[pos+len("/vendor/"):]
|
|
||||||
}
|
|
||||||
return pkg
|
|
||||||
}
|
|
||||||
for i := range peerPkgs {
|
for i := range peerPkgs {
|
||||||
peerPkgs[i] = vendorless(peerPkgs[i])
|
peerPkgs[i] = genutil.Vendorless(peerPkgs[i])
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make sure our peer-packages are added and fully parsed.
|
// Make sure our peer-packages are added and fully parsed.
|
||||||
|
@ -89,13 +89,6 @@ func packageForInternalInterfaces(base string) string {
|
|||||||
return filepath.Join(base, "internalinterfaces")
|
return filepath.Join(base, "internalinterfaces")
|
||||||
}
|
}
|
||||||
|
|
||||||
func vendorless(p string) string {
|
|
||||||
if pos := strings.LastIndex(p, "/vendor/"); pos != -1 {
|
|
||||||
return p[pos+len("/vendor/"):]
|
|
||||||
}
|
|
||||||
return p
|
|
||||||
}
|
|
||||||
|
|
||||||
// Packages makes the client package definition.
|
// Packages makes the client package definition.
|
||||||
func Packages(context *generator.Context, arguments *args.GeneratorArgs) generator.Packages {
|
func Packages(context *generator.Context, arguments *args.GeneratorArgs) generator.Packages {
|
||||||
boilerplate, err := arguments.LoadGoBoilerplate()
|
boilerplate, err := arguments.LoadGoBoilerplate()
|
||||||
@ -122,7 +115,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
|
|||||||
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 _, inputDir := range arguments.InputDirs {
|
||||||
p := context.Universe.Package(vendorless(inputDir))
|
p := context.Universe.Package(genutil.Vendorless(inputDir))
|
||||||
|
|
||||||
objectMeta, internal, err := objectMetaForPackage(p)
|
objectMeta, internal, err := objectMetaForPackage(p)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -59,3 +59,11 @@ func hasSubdir(root, dir string) (rel string, ok bool) {
|
|||||||
func BoilerplatePath() string {
|
func BoilerplatePath() string {
|
||||||
return path.Join(reflect.TypeOf(empty{}).PkgPath(), "/../../hack/boilerplate.go.txt")
|
return path.Join(reflect.TypeOf(empty{}).PkgPath(), "/../../hack/boilerplate.go.txt")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Vendorless trims vendor prefix from a package path to make it canonical
|
||||||
|
func Vendorless(p string) string {
|
||||||
|
if pos := strings.LastIndex(p, "/vendor/"); pos != -1 {
|
||||||
|
return p[pos+len("/vendor/"):]
|
||||||
|
}
|
||||||
|
return p
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user