mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-10 20:42:26 +00:00
client-gen now generates the "generated by" comment in doc.go
This commit is contained in:
parent
4f329516ae
commit
027710baf5
@ -56,14 +56,22 @@ func DefaultNameSystem() string {
|
|||||||
return "public"
|
return "public"
|
||||||
}
|
}
|
||||||
|
|
||||||
func packageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packageBasePath string, srcTreePath string, boilerplate []byte) generator.Package {
|
func generatedBy(customArgs clientgenargs.Args) string {
|
||||||
|
if len(customArgs.CmdArgs) != 0 {
|
||||||
|
return fmt.Sprintf("\n// This package is generated by client-gen with arguments: %s\n\n", customArgs.CmdArgs)
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("\n// This package is generated by client-gen with the default arguments.\n\n")
|
||||||
|
}
|
||||||
|
|
||||||
|
func packageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packageBasePath string, srcTreePath string, boilerplate []byte, generatedBy string) generator.Package {
|
||||||
outputPackagePath := filepath.Join(packageBasePath, gv.Group, gv.Version)
|
outputPackagePath := filepath.Join(packageBasePath, gv.Group, gv.Version)
|
||||||
return &generator.DefaultPackage{
|
return &generator.DefaultPackage{
|
||||||
PackageName: gv.Version,
|
PackageName: gv.Version,
|
||||||
PackagePath: outputPackagePath,
|
PackagePath: outputPackagePath,
|
||||||
HeaderText: boilerplate,
|
HeaderText: boilerplate,
|
||||||
PackageDocumentation: []byte(
|
PackageDocumentation: []byte(
|
||||||
`// Package unversioned has the automatically generated clients for unversioned resources.
|
generatedBy +
|
||||||
|
`// This package has the automatically generated typed clients.
|
||||||
`),
|
`),
|
||||||
// GeneratorFunc returns a list of generators. Each generator makes a
|
// GeneratorFunc returns a list of generators. Each generator makes a
|
||||||
// single file.
|
// single file.
|
||||||
@ -115,18 +123,22 @@ func packageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func packageForClientset(customArgs clientgenargs.Args, typedClientBasePath string, boilerplate []byte) generator.Package {
|
func packageForClientset(customArgs clientgenargs.Args, typedClientBasePath string, boilerplate []byte, generatedBy string) generator.Package {
|
||||||
return &generator.DefaultPackage{
|
return &generator.DefaultPackage{
|
||||||
PackageName: customArgs.ClientsetName,
|
PackageName: customArgs.ClientsetName,
|
||||||
PackagePath: filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName),
|
PackagePath: filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName),
|
||||||
HeaderText: boilerplate,
|
HeaderText: boilerplate,
|
||||||
PackageDocumentation: []byte(
|
PackageDocumentation: []byte(
|
||||||
`// This package has the automatically generated clientset.
|
generatedBy +
|
||||||
|
`// This package has the automatically generated clientset.
|
||||||
`),
|
`),
|
||||||
// GeneratorFunc returns a list of generators. Each generator generates a
|
// GeneratorFunc returns a list of generators. Each generator generates a
|
||||||
// single file.
|
// single file.
|
||||||
GeneratorFunc: func(c *generator.Context) (generators []generator.Generator) {
|
GeneratorFunc: func(c *generator.Context) (generators []generator.Generator) {
|
||||||
generators = []generator.Generator{
|
generators = []generator.Generator{
|
||||||
|
// Always generate a "doc.go" file.
|
||||||
|
generator.DefaultGen{OptionalName: "doc"},
|
||||||
|
|
||||||
&genClientset{
|
&genClientset{
|
||||||
DefaultGen: generator.DefaultGen{
|
DefaultGen: generator.DefaultGen{
|
||||||
OptionalName: "clientset",
|
OptionalName: "clientset",
|
||||||
@ -154,11 +166,8 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
|
|||||||
glog.Fatalf("cannot convert arguments.CustomArgs to clientgenargs.Args")
|
glog.Fatalf("cannot convert arguments.CustomArgs to clientgenargs.Args")
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(customArgs.CmdArgs) != 0 {
|
generatedBy := generatedBy(customArgs)
|
||||||
boilerplate = append(boilerplate, []byte(fmt.Sprintf("\n// This file is generated by client-gen with arguments: %s\n\n", customArgs.CmdArgs))...)
|
|
||||||
} else {
|
|
||||||
boilerplate = append(boilerplate, []byte(fmt.Sprintf("\n// This file is generated by client-gen with the default arguments.\n\n"))...)
|
|
||||||
}
|
|
||||||
gvToTypes := map[unversioned.GroupVersion][]*types.Type{}
|
gvToTypes := map[unversioned.GroupVersion][]*types.Type{}
|
||||||
for gv, inputDir := range customArgs.GroupVersionToInputPath {
|
for gv, inputDir := range customArgs.GroupVersionToInputPath {
|
||||||
p := context.Universe.Package(inputDir)
|
p := context.Universe.Package(inputDir)
|
||||||
@ -176,9 +185,9 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
|
|||||||
var packageList []generator.Package
|
var packageList []generator.Package
|
||||||
typedClientBasePath := filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName, "typed")
|
typedClientBasePath := filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName, "typed")
|
||||||
|
|
||||||
packageList = append(packageList, packageForClientset(customArgs, typedClientBasePath, boilerplate))
|
packageList = append(packageList, packageForClientset(customArgs, typedClientBasePath, boilerplate, generatedBy))
|
||||||
if customArgs.FakeClient {
|
if customArgs.FakeClient {
|
||||||
packageList = append(packageList, fake.PackageForClientset(customArgs, typedClientBasePath, boilerplate))
|
packageList = append(packageList, fake.PackageForClientset(customArgs, typedClientBasePath, boilerplate, generatedBy))
|
||||||
}
|
}
|
||||||
|
|
||||||
// If --clientset-only=true, we don't regenerate the individual typed clients.
|
// If --clientset-only=true, we don't regenerate the individual typed clients.
|
||||||
@ -189,9 +198,9 @@ func Packages(context *generator.Context, arguments *args.GeneratorArgs) generat
|
|||||||
orderer := namer.Orderer{namer.NewPrivateNamer(0)}
|
orderer := namer.Orderer{namer.NewPrivateNamer(0)}
|
||||||
for _, gv := range customArgs.GroupVersions {
|
for _, gv := range customArgs.GroupVersions {
|
||||||
types := gvToTypes[gv]
|
types := gvToTypes[gv]
|
||||||
packageList = append(packageList, packageForGroup(normalization.GroupVersion(gv), orderer.OrderTypes(types), typedClientBasePath, arguments.OutputBase, boilerplate))
|
packageList = append(packageList, packageForGroup(normalization.GroupVersion(gv), orderer.OrderTypes(types), typedClientBasePath, arguments.OutputBase, boilerplate, generatedBy))
|
||||||
if customArgs.FakeClient {
|
if customArgs.FakeClient {
|
||||||
packageList = append(packageList, fake.PackageForGroup(normalization.GroupVersion(gv), orderer.OrderTypes(types), typedClientBasePath, arguments.OutputBase, boilerplate))
|
packageList = append(packageList, fake.PackageForGroup(normalization.GroupVersion(gv), orderer.OrderTypes(types), typedClientBasePath, arguments.OutputBase, boilerplate, generatedBy))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/api/unversioned"
|
"k8s.io/kubernetes/pkg/api/unversioned"
|
||||||
)
|
)
|
||||||
|
|
||||||
func PackageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packageBasePath string, srcTreePath string, boilerplate []byte) generator.Package {
|
func PackageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packageBasePath string, srcTreePath string, boilerplate []byte, generatedBy string) generator.Package {
|
||||||
outputPackagePath := filepath.Join(packageBasePath, gv.Group, gv.Version, "fake")
|
outputPackagePath := filepath.Join(packageBasePath, gv.Group, gv.Version, "fake")
|
||||||
// TODO: should make this a function, called by here and in client-generator.go
|
// TODO: should make this a function, called by here and in client-generator.go
|
||||||
realClientPath := filepath.Join(packageBasePath, gv.Group, gv.Version)
|
realClientPath := filepath.Join(packageBasePath, gv.Group, gv.Version)
|
||||||
@ -35,7 +35,8 @@ func PackageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packag
|
|||||||
PackagePath: outputPackagePath,
|
PackagePath: outputPackagePath,
|
||||||
HeaderText: boilerplate,
|
HeaderText: boilerplate,
|
||||||
PackageDocumentation: []byte(
|
PackageDocumentation: []byte(
|
||||||
`// Package fake has the automatically generated clients.
|
generatedBy +
|
||||||
|
`// Package fake has the automatically generated clients.
|
||||||
`),
|
`),
|
||||||
// GeneratorFunc returns a list of generators. Each generator makes a
|
// GeneratorFunc returns a list of generators. Each generator makes a
|
||||||
// single file.
|
// single file.
|
||||||
@ -76,7 +77,7 @@ func PackageForGroup(gv unversioned.GroupVersion, typeList []*types.Type, packag
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func PackageForClientset(customArgs clientgenargs.Args, typedClientBasePath string, boilerplate []byte) generator.Package {
|
func PackageForClientset(customArgs clientgenargs.Args, typedClientBasePath string, boilerplate []byte, generatedBy string) generator.Package {
|
||||||
return &generator.DefaultPackage{
|
return &generator.DefaultPackage{
|
||||||
// TODO: we'll generate fake clientset for different release in the future.
|
// TODO: we'll generate fake clientset for different release in the future.
|
||||||
// Package name and path are hard coded for now.
|
// Package name and path are hard coded for now.
|
||||||
@ -84,12 +85,16 @@ func PackageForClientset(customArgs clientgenargs.Args, typedClientBasePath stri
|
|||||||
PackagePath: filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName, "fake"),
|
PackagePath: filepath.Join(customArgs.ClientsetOutputPath, customArgs.ClientsetName, "fake"),
|
||||||
HeaderText: boilerplate,
|
HeaderText: boilerplate,
|
||||||
PackageDocumentation: []byte(
|
PackageDocumentation: []byte(
|
||||||
`// This package has the automatically generated fake clientset.
|
generatedBy +
|
||||||
|
`// This package has the automatically generated fake clientset.
|
||||||
`),
|
`),
|
||||||
// GeneratorFunc returns a list of generators. Each generator generates a
|
// GeneratorFunc returns a list of generators. Each generator generates a
|
||||||
// single file.
|
// single file.
|
||||||
GeneratorFunc: func(c *generator.Context) (generators []generator.Generator) {
|
GeneratorFunc: func(c *generator.Context) (generators []generator.Generator) {
|
||||||
generators = []generator.Generator{
|
generators = []generator.Generator{
|
||||||
|
// Always generate a "doc.go" file.
|
||||||
|
generator.DefaultGen{OptionalName: "doc"},
|
||||||
|
|
||||||
&genClientset{
|
&genClientset{
|
||||||
DefaultGen: generator.DefaultGen{
|
DefaultGen: generator.DefaultGen{
|
||||||
OptionalName: "clientset_generated",
|
OptionalName: "clientset_generated",
|
||||||
|
Loading…
Reference in New Issue
Block a user