Skip to content

Commit 94d2a67

Browse files
committed
client-gen: use --output-package instead of --clientset-path
1 parent 916812e commit 94d2a67

File tree

10 files changed

+31
-26
lines changed

10 files changed

+31
-26
lines changed

hack/update-codegen.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ INTERNAL_DIRS_CSV=$(IFS=',';echo "${INTERNAL_DIRS[*]// /,}";IFS=$)
7272
# This can be called with one flag, --verify-only, so it works for both the
7373
# update- and verify- scripts.
7474
${clientgen} --input-base="k8s.io/kubernetes/pkg/apis" --input="${INTERNAL_DIRS_CSV}" "$@"
75-
${clientgen} --output-base "${KUBE_ROOT}/vendor" --clientset-path="k8s.io/client-go" --clientset-name="kubernetes" --input-base="k8s.io/kubernetes/vendor/k8s.io/api" --input="${GV_DIRS_CSV}" "$@"
75+
${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}" "$@"
7676

7777
listergen_internal_apis=(
7878
$(

staging/src/k8s.io/apiextensions-apiserver/hack/update-codegen.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ apiextensions/
5050
apiextensions/v1beta1
5151
)
5252
INPUT="--input ${INPUT_APIS[@]}"
53-
CLIENTSET_PATH="--clientset-path k8s.io/apiextensions-apiserver/pkg/client/clientset"
53+
CLIENTSET_PATH="--output-package k8s.io/apiextensions-apiserver/pkg/client/clientset"
5454

5555
${CLIENTGEN} ${INPUT_BASE} ${INPUT} ${CLIENTSET_PATH} --output-base ${SCRIPT_BASE}
5656
${CLIENTGEN} --clientset-name="clientset" ${INPUT_BASE} --input apiextensions/v1beta1 ${CLIENTSET_PATH} --output-base ${SCRIPT_BASE}

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

+13-8
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,6 @@ type CustomArgs struct {
4646
// ClientsetName is the name of the clientset to be generated. It's
4747
// populated from command-line arguments.
4848
ClientsetName string
49-
// ClientsetOutputPath is the path the clientset will be generated at. It's
50-
// populated from command-line arguments.
51-
ClientsetOutputPath string
5249
// ClientsetAPIPath is the default API HTTP path for generated clients.
5350
ClientsetAPIPath string
5451
// ClientsetOnly determines if we should generate the clients for groups and
@@ -71,7 +68,7 @@ func NewDefaults() (*args.GeneratorArgs, *CustomArgs) {
7168
genericArgs.InputDirs = DefaultInputDirs
7269

7370
if pkg := codegenutil.CurrentPackage(); len(pkg) != 0 {
74-
customArgs.ClientsetOutputPath = path.Join(pkg, "pkg/client/clientset/")
71+
genericArgs.OutputPackagePath = path.Join(pkg, "pkg/client/clientset")
7572
}
7673

7774
return genericArgs, customArgs
@@ -84,9 +81,11 @@ func (ca *CustomArgs) AddFlags(fs *pflag.FlagSet, inputBase string) {
8481
pflag.Var(NewInputBasePathValue(gvsBuilder, inputBase), "input-base", "base path to look for the api group.")
8582
pflag.StringVarP(&ca.ClientsetName, "clientset-name", "n", ca.ClientsetName, "the name of the generated clientset package.")
8683
pflag.StringVarP(&ca.ClientsetAPIPath, "clientset-api-path", "", ca.ClientsetAPIPath, "the value of default API HTTP path, starting with / and without trailing /.")
87-
pflag.StringVar(&ca.ClientsetOutputPath, "clientset-path", ca.ClientsetOutputPath, "the generated clientset will be output to <clientset-path>/<clientset-name>.")
8884
pflag.BoolVar(&ca.ClientsetOnly, "clientset-only", ca.ClientsetOnly, "when set, client-gen only generates the clientset shell, without generating the individual typed clients")
8985
pflag.BoolVar(&ca.FakeClient, "fake-clientset", ca.FakeClient, "when set, client-gen will generate the fake clientset that can be used in tests")
86+
87+
// support old flags
88+
fs.SetNormalizeFunc(mapFlagName("clientset-path", "output-package", fs.GetNormalizeFunc()))
9089
}
9190

9291
func Validate(genericArgs *args.GeneratorArgs) error {
@@ -101,9 +100,6 @@ func Validate(genericArgs *args.GeneratorArgs) error {
101100
if len(customArgs.ClientsetAPIPath) == 0 {
102101
return fmt.Errorf("clientset API path cannot be empty")
103102
}
104-
if len(customArgs.ClientsetOutputPath) == 0 {
105-
return fmt.Errorf("clientset path cannot be empty")
106-
}
107103

108104
return nil
109105
}
@@ -118,3 +114,12 @@ func (ca *CustomArgs) GroupVersionPackages() map[types.GroupVersion]string {
118114
}
119115
return res
120116
}
117+
118+
func mapFlagName(from, to string, old func(fs *pflag.FlagSet, name string) pflag.NormalizedName) func(fs *pflag.FlagSet, name string) pflag.NormalizedName {
119+
return func(fs *pflag.FlagSet, name string) pflag.NormalizedName {
120+
if name == from {
121+
name = to
122+
}
123+
return old(fs, name)
124+
}
125+
}

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
371371
}
372372

373373
var packageList []generator.Package
374-
clientsetPackage := filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName)
374+
clientsetPackage := filepath.Join(arguments.OutputPackagePath, customArgs.ClientsetName)
375375

376376
packageList = append(packageList, packageForClientset(customArgs, clientsetPackage, groupGoNames, boilerplate))
377377
packageList = append(packageList, packageForScheme(customArgs, clientsetPackage, arguments.OutputBase, groupGoNames, boilerplate))

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,12 @@ func PackageForGroup(gv clientgentypes.GroupVersion, typeList []*types.Type, cli
8484
}
8585
}
8686

87-
func PackageForClientset(customArgs *clientgenargs.CustomArgs, fakeClientsetPackage string, groupGoNames map[clientgentypes.GroupVersion]string, boilerplate []byte) generator.Package {
87+
func PackageForClientset(customArgs *clientgenargs.CustomArgs, clientsetPackage string, groupGoNames map[clientgentypes.GroupVersion]string, boilerplate []byte) generator.Package {
8888
return &generator.DefaultPackage{
8989
// TODO: we'll generate fake clientset for different release in the future.
9090
// Package name and path are hard coded for now.
9191
PackageName: "fake",
92-
PackagePath: filepath.Join(fakeClientsetPackage, "fake"),
92+
PackagePath: filepath.Join(clientsetPackage, "fake"),
9393
HeaderText: boilerplate,
9494
PackageDocumentation: []byte(
9595
`// This package has the automatically generated fake clientset.
@@ -107,17 +107,17 @@ func PackageForClientset(customArgs *clientgenargs.CustomArgs, fakeClientsetPack
107107
},
108108
groups: customArgs.Groups,
109109
groupGoNames: groupGoNames,
110-
fakeClientsetPackage: fakeClientsetPackage,
110+
fakeClientsetPackage: clientsetPackage,
111111
outputPackage: "fake",
112112
imports: generator.NewImportTracker(),
113-
realClientsetPackage: filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName),
113+
realClientsetPackage: clientsetPackage,
114114
},
115115
&scheme.GenScheme{
116116
DefaultGen: generator.DefaultGen{
117117
OptionalName: "register",
118118
},
119119
InputPackages: customArgs.GroupVersionPackages(),
120-
OutputPackage: fakeClientsetPackage,
120+
OutputPackage: clientsetPackage,
121121
Groups: customArgs.Groups,
122122
GroupGoNames: groupGoNames,
123123
ImportTracker: generator.NewImportTracker(),

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

+5-5
Original file line numberDiff line numberDiff line change
@@ -35,24 +35,24 @@ func main() {
3535
// Override defaults.
3636
// TODO: move this out of client-gen
3737
genericArgs.GoHeaderFilePath = filepath.Join(args.DefaultSourceTree(), "k8s.io/kubernetes/hack/boilerplate/boilerplate.go.txt")
38-
customArgs.ClientsetOutputPath = "k8s.io/kubernetes/pkg/client/clientset_generated/"
38+
genericArgs.OutputPackagePath = "k8s.io/kubernetes/pkg/client/clientset_generated/"
3939

4040
genericArgs.AddFlags(pflag.CommandLine)
4141
customArgs.AddFlags(pflag.CommandLine, "k8s.io/kubernetes/pkg/apis") // TODO: move this input path out of client-gen
4242
pflag.CommandLine.AddGoFlagSet(flag.CommandLine)
4343
pflag.Parse()
4444

45-
if err := generatorargs.Validate(genericArgs); err != nil {
46-
glog.Fatalf("Error: %v", err)
47-
}
48-
4945
// add group version package as input dirs for gengo
5046
for _, pkg := range customArgs.Groups {
5147
for _, v := range pkg.Versions {
5248
genericArgs.InputDirs = append(genericArgs.InputDirs, v.Package)
5349
}
5450
}
5551

52+
if err := generatorargs.Validate(genericArgs); err != nil {
53+
glog.Fatalf("Error: %v", err)
54+
}
55+
5656
if err := genericArgs.Execute(
5757
generators.NameSystems(),
5858
generators.DefaultNameSystem(),

staging/src/k8s.io/code-generator/generate-groups.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ fi
6767

6868
if [ "${GENS}" = "all" ] || grep -qw "client" <<<"${GENS}"; then
6969
echo "Generating clientset for ${GROUPS_WITH_VERSIONS} at ${OUTPUT_PKG}/clientset"
70-
${GOPATH}/bin/client-gen --clientset-name versioned --input-base "" --input $(codegen::join , "${FQ_APIS[@]}") --clientset-path ${OUTPUT_PKG}/clientset "$@"
70+
${GOPATH}/bin/client-gen --clientset-name versioned --input-base "" --input $(codegen::join , "${FQ_APIS[@]}") --output-package ${OUTPUT_PKG}/clientset "$@"
7171
fi
7272

7373
if [ "${GENS}" = "all" ] || grep -qw "lister" <<<"${GENS}"; then

staging/src/k8s.io/code-generator/generate-internal-groups.sh

+2-2
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ fi
8787
if [ "${GENS}" = "all" ] || grep -qw "client" <<<"${GENS}"; then
8888
echo "Generating clientset for ${GROUPS_WITH_VERSIONS} at ${OUTPUT_PKG}/clientset"
8989
if [ -n "${INT_APIS_PKG}" ]; then
90-
${GOPATH}/bin/client-gen --clientset-name internalversion --input-base "" --input $(codegen::join , $(printf '%s/ ' "${INT_FQ_APIS[@]}")) --clientset-path ${OUTPUT_PKG}/clientset "$@"
90+
${GOPATH}/bin/client-gen --clientset-name internalversion --input-base "" --input $(codegen::join , $(printf '%s/ ' "${INT_FQ_APIS[@]}")) --output-package ${OUTPUT_PKG}/clientset "$@"
9191
fi
92-
${GOPATH}/bin/client-gen --clientset-name versioned --input-base "" --input $(codegen::join , "${EXT_FQ_APIS[@]}") --clientset-path ${OUTPUT_PKG}/clientset "$@"
92+
${GOPATH}/bin/client-gen --clientset-name versioned --input-base "" --input $(codegen::join , "${EXT_FQ_APIS[@]}") --output-package ${OUTPUT_PKG}/clientset "$@"
9393
fi
9494

9595
if [ "${GENS}" = "all" ] || grep -qw "lister" <<<"${GENS}"; then

staging/src/k8s.io/kube-aggregator/hack/update-codegen.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ apiregistration/
5151
apiregistration/v1beta1
5252
)
5353
INPUT="--input ${INPUT_APIS[@]}"
54-
CLIENTSET_PATH="--clientset-path k8s.io/kube-aggregator/pkg/client/clientset_generated"
54+
CLIENTSET_PATH="--output-package k8s.io/kube-aggregator/pkg/client/clientset_generated"
5555

5656
${CLIENTGEN} ${INPUT_BASE} ${INPUT} ${CLIENTSET_PATH} --output-base ${SCRIPT_BASE}
5757
${CLIENTGEN} --clientset-name="clientset" ${INPUT_BASE} --input apiregistration/v1beta1 ${CLIENTSET_PATH} --output-base ${SCRIPT_BASE}

staging/src/k8s.io/metrics/hack/update-codegen.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ go build -o "${CLIENTGEN}" ${CODEGEN_PKG}/cmd/client-gen
3434

3535
PREFIX=k8s.io/metrics/pkg/apis
3636
INPUT_BASE="--input-base ${PREFIX}"
37-
CLIENTSET_PATH="--clientset-path k8s.io/metrics/pkg/client/clientset_generated"
37+
CLIENTSET_PATH="--output-package k8s.io/metrics/pkg/client/clientset_generated"
3838

3939
${CLIENTGEN} --clientset-name="clientset" ${INPUT_BASE} --input metrics/v1alpha1 --input metrics/v1beta1 ${CLIENTSET_PATH} --output-base ${SCRIPT_BASE}
4040

0 commit comments

Comments
 (0)