Skip to content

Commit e2c5387

Browse files
authored
Merge pull request kubernetes#93164 from roycaihw/fix/clientgen-use-canonical-import-path
Use canonical import path in client-gen input-base
2 parents 2c12a81 + a42299b commit e2c5387

File tree

7 files changed

+16
-17
lines changed

7 files changed

+16
-17
lines changed

hack/update-codegen.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ GV_DIRS_CSV=$(IFS=',';echo "${GV_DIRS[*]// /,}";IFS=$)
5656

5757
# This can be called with one flag, --verify-only, so it works for both the
5858
# update- and verify- scripts.
59-
${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" "$@"
59+
${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" "$@"
6060

6161
listergen_external_apis=()
6262
kube::util::read-array listergen_external_apis < <(

staging/src/k8s.io/code-generator/cmd/client-gen/generators/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ go_library(
2424
"//staging/src/k8s.io/code-generator/cmd/client-gen/path:go_default_library",
2525
"//staging/src/k8s.io/code-generator/cmd/client-gen/types:go_default_library",
2626
"//staging/src/k8s.io/code-generator/pkg/namer:go_default_library",
27+
"//staging/src/k8s.io/code-generator/pkg/util:go_default_library",
2728
"//vendor/k8s.io/gengo/args:go_default_library",
2829
"//vendor/k8s.io/gengo/generator:go_default_library",
2930
"//vendor/k8s.io/gengo/namer:go_default_library",

staging/src/k8s.io/code-generator/cmd/client-gen/generators/client_generator.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"k8s.io/code-generator/cmd/client-gen/path"
2929
clientgentypes "k8s.io/code-generator/cmd/client-gen/types"
3030
codegennamer "k8s.io/code-generator/pkg/namer"
31+
genutil "k8s.io/code-generator/pkg/util"
3132
"k8s.io/gengo/args"
3233
"k8s.io/gengo/generator"
3334
"k8s.io/gengo/namer"
@@ -279,7 +280,7 @@ func applyGroupOverrides(universe types.Universe, customArgs *clientgenargs.Cust
279280
// Create a map from "old GV" to "new GV" so we know what changes we need to make.
280281
changes := make(map[clientgentypes.GroupVersion]clientgentypes.GroupVersion)
281282
for gv, inputDir := range customArgs.GroupVersionPackages() {
282-
p := universe.Package(inputDir)
283+
p := universe.Package(genutil.Vendorless(inputDir))
283284
if override := types.ExtractCommentTags("+", p.Comments)["groupName"]; override != nil {
284285
newGV := clientgentypes.GroupVersion{
285286
Group: clientgentypes.Group(override[0]),

staging/src/k8s.io/code-generator/cmd/conversion-gen/generators/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ go_library(
1212
importpath = "k8s.io/code-generator/cmd/conversion-gen/generators",
1313
deps = [
1414
"//staging/src/k8s.io/code-generator/cmd/conversion-gen/args:go_default_library",
15+
"//staging/src/k8s.io/code-generator/pkg/util:go_default_library",
1516
"//vendor/k8s.io/gengo/args:go_default_library",
1617
"//vendor/k8s.io/gengo/generator:go_default_library",
1718
"//vendor/k8s.io/gengo/namer:go_default_library",

staging/src/k8s.io/code-generator/cmd/conversion-gen/generators/conversion.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ import (
3333
"k8s.io/klog/v2"
3434

3535
conversionargs "k8s.io/code-generator/cmd/conversion-gen/args"
36+
genutil "k8s.io/code-generator/pkg/util"
3637
)
3738

3839
// These are the comment tags that carry parameters for conversion generation.
@@ -292,14 +293,8 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
292293
// in the output directory.
293294
// TODO: build a more fundamental concept in gengo for dealing with modifications
294295
// to vendored packages.
295-
vendorless := func(pkg string) string {
296-
if pos := strings.LastIndex(pkg, "/vendor/"); pos != -1 {
297-
return pkg[pos+len("/vendor/"):]
298-
}
299-
return pkg
300-
}
301296
for i := range peerPkgs {
302-
peerPkgs[i] = vendorless(peerPkgs[i])
297+
peerPkgs[i] = genutil.Vendorless(peerPkgs[i])
303298
}
304299

305300
// Make sure our peer-packages are added and fully parsed.

staging/src/k8s.io/code-generator/cmd/informer-gen/generators/packages.go

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,6 @@ func packageForInternalInterfaces(base string) string {
8989
return filepath.Join(base, "internalinterfaces")
9090
}
9191

92-
func vendorless(p string) string {
93-
if pos := strings.LastIndex(p, "/vendor/"); pos != -1 {
94-
return p[pos+len("/vendor/"):]
95-
}
96-
return p
97-
}
98-
9992
// Packages makes the client package definition.
10093
func Packages(context *generator.Context, arguments *args.GeneratorArgs) generator.Packages {
10194
boilerplate, err := arguments.LoadGoBoilerplate()
@@ -122,7 +115,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
122115
internalGroupVersions := make(map[string]clientgentypes.GroupVersions)
123116
groupGoNames := make(map[string]string)
124117
for _, inputDir := range arguments.InputDirs {
125-
p := context.Universe.Package(vendorless(inputDir))
118+
p := context.Universe.Package(genutil.Vendorless(inputDir))
126119

127120
objectMeta, internal, err := objectMetaForPackage(p)
128121
if err != nil {

staging/src/k8s.io/code-generator/pkg/util/build.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,11 @@ func hasSubdir(root, dir string) (rel string, ok bool) {
5959
func BoilerplatePath() string {
6060
return path.Join(reflect.TypeOf(empty{}).PkgPath(), "/../../hack/boilerplate.go.txt")
6161
}
62+
63+
// Vendorless trims vendor prefix from a package path to make it canonical
64+
func Vendorless(p string) string {
65+
if pos := strings.LastIndex(p, "/vendor/"); pos != -1 {
66+
return p[pos+len("/vendor/"):]
67+
}
68+
return p
69+
}

0 commit comments

Comments
 (0)