Merge pull request #124371 from soltysh/automated-cherry-pick-of-#123893-#124193-upstream-release-1.30

Automated cherry pick of #123893: kube_codegen: expose applyconfig-openapi-schema flag for
#124193: Update applyconfig-gen for pacakges where group and dir
This commit is contained in:
Kubernetes Prow Robot 2024-04-19 04:49:27 -07:00 committed by GitHub
commit e7178656ad
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 3 deletions

View File

@ -35,6 +35,7 @@ type applyConfigurationGenerator struct {
generator.GoGenerator
// outPkgBase is the base package, under which the "internal" and GV-specific subdirs live
outPkgBase string // must be a Go import-path
localPkg string
groupVersion clientgentypes.GroupVersion
applyConfig applyConfig
imports namer.ImportTracker
@ -49,9 +50,8 @@ func (g *applyConfigurationGenerator) Filter(_ *generator.Context, t *types.Type
}
func (g *applyConfigurationGenerator) Namers(*generator.Context) namer.NameSystems {
localPkg := path.Join(g.outPkgBase, g.groupVersion.Group.PackageName(), g.groupVersion.Version.PackageName())
return namer.NameSystems{
"raw": namer.NewRawNamer(localPkg, g.imports),
"raw": namer.NewRawNamer(g.localPkg, g.imports),
"singularKind": namer.NewPublicNamer(0),
}
}
@ -336,7 +336,7 @@ func (b *$.ApplyConfig.ApplyConfiguration|public$) ensure$.MemberType.Elem|publi
var clientgenTypeConstructorNamespaced = `
// $.ApplyConfig.Type|public$ constructs an declarative configuration of the $.ApplyConfig.Type|public$ type for use with
// apply.
// apply.
func $.ApplyConfig.Type|public$(name, namespace string) *$.ApplyConfig.ApplyConfiguration|public$ {
b := &$.ApplyConfig.ApplyConfiguration|public${}
b.WithName(name)

View File

@ -185,6 +185,7 @@ func targetForApplyConfigurationsPackage(outputDirBase, outputPkgBase, pkgSubdir
OutputFilename: strings.ToLower(toGenerate.Type.Name.Name) + ".go",
},
outPkgBase: outputPkgBase,
localPkg: outputPkg,
groupVersion: gv,
applyConfig: toGenerate,
imports: generator.NewImportTracker(),

View File

@ -443,6 +443,7 @@ function kube::codegen::gen_client() {
local applyconfig="false"
local applyconfig_subdir="applyconfiguration"
local applyconfig_external=""
local applyconfig_openapi_schema=""
local watchable="false"
local listers_subdir="listers"
local informers_subdir="informers"
@ -488,6 +489,10 @@ function kube::codegen::gen_client() {
applyconfig_external="$2"
shift 2
;;
"--applyconfig-openapi-schema")
applyconfig_openapi_schema="$2"
shift 2
;;
"--with-watch")
watchable="true"
shift
@ -594,6 +599,7 @@ function kube::codegen::gen_client() {
--output-dir "${out_dir}/${applyconfig_subdir}" \
--output-pkg "${applyconfig_pkg}" \
--external-applyconfigurations "${applyconfig_external}" \
--openapi-schema "${applyconfig_openapi_schema}" \
"${input_pkgs[@]}"
fi