Update code-generator to v0.26.0
This commit is contained in:
2
client/vendor/k8s.io/code-generator/README.md
generated
vendored
2
client/vendor/k8s.io/code-generator/README.md
generated
vendored
@@ -12,7 +12,7 @@ These code-generators can be used
|
||||
|
||||
## Resources
|
||||
- The example [sample controller](https://github.com/kubernetes/sample-controller) shows a code example of a controller that uses the clients, listers and informers generated by this library.
|
||||
- The article [Kubernetes Deep Dive: Code Generation for CustomResources](https://blog.openshift.com/kubernetes-deep-dive-code-generation-customresources/) gives a step by step instruction on how to use this library.
|
||||
- The article [Kubernetes Deep Dive: Code Generation for CustomResources](https://cloud.redhat.com/blog/kubernetes-deep-dive-code-generation-customresources/) gives a step by step instruction on how to use this library.
|
||||
|
||||
## Compatibility
|
||||
|
||||
|
@@ -108,8 +108,7 @@ type Interface interface {
|
||||
`
|
||||
|
||||
var clientsetTemplate = `
|
||||
// Clientset contains the clients for groups. Each group has exactly one
|
||||
// version included in a Clientset.
|
||||
// Clientset contains the clients for groups.
|
||||
type Clientset struct {
|
||||
*$.DiscoveryClient|raw$
|
||||
$range .allGroups$$.LowerCaseGroupGoName$$.Version$ *$.PackageAlias$.$.GroupGoName$$.Version$Client
|
||||
|
1
client/vendor/k8s.io/code-generator/cmd/client-gen/main.go
generated
vendored
1
client/vendor/k8s.io/code-generator/cmd/client-gen/main.go
generated
vendored
@@ -34,7 +34,6 @@ func main() {
|
||||
|
||||
// Override defaults.
|
||||
// TODO: move this out of client-gen
|
||||
genericArgs.GoHeaderFilePath = util.BoilerplatePath()
|
||||
genericArgs.OutputPackagePath = "k8s.io/kubernetes/pkg/client/clientset_generated/"
|
||||
|
||||
genericArgs.AddFlags(pflag.CommandLine)
|
||||
|
5
client/vendor/k8s.io/code-generator/cmd/conversion-gen/main.go
generated
vendored
5
client/vendor/k8s.io/code-generator/cmd/conversion-gen/main.go
generated
vendored
@@ -102,17 +102,12 @@ import (
|
||||
|
||||
generatorargs "k8s.io/code-generator/cmd/conversion-gen/args"
|
||||
"k8s.io/code-generator/cmd/conversion-gen/generators"
|
||||
"k8s.io/code-generator/pkg/util"
|
||||
)
|
||||
|
||||
func main() {
|
||||
klog.InitFlags(nil)
|
||||
genericArgs, customArgs := generatorargs.NewDefaults()
|
||||
|
||||
// Override defaults.
|
||||
// TODO: move this out of conversion-gen
|
||||
genericArgs.GoHeaderFilePath = util.BoilerplatePath()
|
||||
|
||||
genericArgs.AddFlags(pflag.CommandLine)
|
||||
customArgs.AddFlags(pflag.CommandLine)
|
||||
flag.Set("logtostderr", "true")
|
||||
|
5
client/vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go
generated
vendored
5
client/vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go
generated
vendored
@@ -53,17 +53,12 @@ import (
|
||||
"k8s.io/klog/v2"
|
||||
|
||||
generatorargs "k8s.io/code-generator/cmd/deepcopy-gen/args"
|
||||
"k8s.io/code-generator/pkg/util"
|
||||
)
|
||||
|
||||
func main() {
|
||||
klog.InitFlags(nil)
|
||||
genericArgs, customArgs := generatorargs.NewDefaults()
|
||||
|
||||
// Override defaults.
|
||||
// TODO: move this out of deepcopy-gen
|
||||
genericArgs.GoHeaderFilePath = util.BoilerplatePath()
|
||||
|
||||
genericArgs.AddFlags(pflag.CommandLine)
|
||||
customArgs.AddFlags(pflag.CommandLine)
|
||||
flag.Set("logtostderr", "true")
|
||||
|
5
client/vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go
generated
vendored
5
client/vendor/k8s.io/code-generator/cmd/defaulter-gen/main.go
generated
vendored
@@ -49,17 +49,12 @@ import (
|
||||
"k8s.io/klog/v2"
|
||||
|
||||
generatorargs "k8s.io/code-generator/cmd/defaulter-gen/args"
|
||||
"k8s.io/code-generator/pkg/util"
|
||||
)
|
||||
|
||||
func main() {
|
||||
klog.InitFlags(nil)
|
||||
genericArgs, customArgs := generatorargs.NewDefaults()
|
||||
|
||||
// Override defaults.
|
||||
// TODO: move this out of defaulter-gen
|
||||
genericArgs.GoHeaderFilePath = util.BoilerplatePath()
|
||||
|
||||
genericArgs.AddFlags(pflag.CommandLine)
|
||||
customArgs.AddFlags(pflag.CommandLine)
|
||||
flag.Set("logtostderr", "true")
|
||||
|
4
client/vendor/k8s.io/code-generator/cmd/go-to-protobuf/protobuf/cmd.go
generated
vendored
4
client/vendor/k8s.io/code-generator/cmd/go-to-protobuf/protobuf/cmd.go
generated
vendored
@@ -30,7 +30,6 @@ import (
|
||||
|
||||
flag "github.com/spf13/pflag"
|
||||
|
||||
"k8s.io/code-generator/pkg/util"
|
||||
"k8s.io/gengo/args"
|
||||
"k8s.io/gengo/generator"
|
||||
"k8s.io/gengo/namer"
|
||||
@@ -56,8 +55,7 @@ type Generator struct {
|
||||
func New() *Generator {
|
||||
sourceTree := args.DefaultSourceTree()
|
||||
common := args.GeneratorArgs{
|
||||
OutputBase: sourceTree,
|
||||
GoHeaderFilePath: util.BoilerplatePath(),
|
||||
OutputBase: sourceTree,
|
||||
}
|
||||
defaultProtoImport := filepath.Join(sourceTree, "k8s.io", "kubernetes", "vendor", "github.com", "gogo", "protobuf", "protobuf")
|
||||
cwd, err := os.Getwd()
|
||||
|
3
client/vendor/k8s.io/code-generator/cmd/go-to-protobuf/protobuf/parser.go
generated
vendored
3
client/vendor/k8s.io/code-generator/cmd/go-to-protobuf/protobuf/parser.go
generated
vendored
@@ -25,7 +25,6 @@ import (
|
||||
"go/parser"
|
||||
"go/printer"
|
||||
"go/token"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"reflect"
|
||||
"strings"
|
||||
@@ -35,7 +34,7 @@ import (
|
||||
|
||||
func rewriteFile(name string, header []byte, rewriteFn func(*token.FileSet, *ast.File) error) error {
|
||||
fset := token.NewFileSet()
|
||||
src, err := ioutil.ReadFile(name)
|
||||
src, err := os.ReadFile(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
3
client/vendor/k8s.io/code-generator/cmd/import-boss/main.go
generated
vendored
3
client/vendor/k8s.io/code-generator/cmd/import-boss/main.go
generated
vendored
@@ -21,7 +21,6 @@ import (
|
||||
"os"
|
||||
|
||||
"github.com/spf13/pflag"
|
||||
"k8s.io/code-generator/pkg/util"
|
||||
"k8s.io/gengo/args"
|
||||
"k8s.io/gengo/examples/import-boss/generators"
|
||||
|
||||
@@ -32,8 +31,6 @@ func main() {
|
||||
klog.InitFlags(nil)
|
||||
arguments := args.Default()
|
||||
|
||||
// Override defaults.
|
||||
arguments.GoHeaderFilePath = util.BoilerplatePath()
|
||||
pflag.CommandLine.BoolVar(&arguments.IncludeTestFiles, "include-test-files", false, "If true, include *_test.go files.")
|
||||
|
||||
if err := arguments.Execute(
|
||||
|
94
client/vendor/k8s.io/code-generator/cmd/informer-gen/generators/factory.go
generated
vendored
94
client/vendor/k8s.io/code-generator/cmd/informer-gen/generators/factory.go
generated
vendored
@@ -114,6 +114,11 @@ type sharedInformerFactory struct {
|
||||
// startedInformers is used for tracking which informers have been started.
|
||||
// This allows Start() to be called multiple times safely.
|
||||
startedInformers map[{{.reflectType|raw}}]bool
|
||||
// wg tracks how many goroutines were started.
|
||||
wg sync.WaitGroup
|
||||
// shuttingDown is true when Shutdown has been called. It may still be running
|
||||
// because it needs to wait for goroutines.
|
||||
shuttingDown bool
|
||||
}
|
||||
|
||||
// WithCustomResyncConfig sets a custom resync period for the specified informer types.
|
||||
@@ -174,20 +179,40 @@ func NewSharedInformerFactoryWithOptions(client {{.clientSetInterface|raw}}, def
|
||||
return factory
|
||||
}
|
||||
|
||||
// Start initializes all requested informers.
|
||||
func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) {
|
||||
f.lock.Lock()
|
||||
defer f.lock.Unlock()
|
||||
f.lock.Lock()
|
||||
defer f.lock.Unlock()
|
||||
|
||||
for informerType, informer := range f.informers {
|
||||
if !f.startedInformers[informerType] {
|
||||
go informer.Run(stopCh)
|
||||
f.startedInformers[informerType] = true
|
||||
}
|
||||
}
|
||||
if f.shuttingDown {
|
||||
return
|
||||
}
|
||||
|
||||
for informerType, informer := range f.informers {
|
||||
if !f.startedInformers[informerType] {
|
||||
f.wg.Add(1)
|
||||
// We need a new variable in each loop iteration,
|
||||
// otherwise the goroutine would use the loop variable
|
||||
// and that keeps changing.
|
||||
informer := informer
|
||||
go func() {
|
||||
defer f.wg.Done()
|
||||
informer.Run(stopCh)
|
||||
}()
|
||||
f.startedInformers[informerType] = true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (f *sharedInformerFactory) Shutdown() {
|
||||
f.lock.Lock()
|
||||
f.shuttingDown = true
|
||||
f.lock.Unlock()
|
||||
|
||||
|
||||
// Will return immediately if there is nothing to wait for.
|
||||
f.wg.Wait()
|
||||
}
|
||||
|
||||
// WaitForCacheSync waits for all started informers' cache were synced.
|
||||
func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool {
|
||||
informers := func()map[reflect.Type]cache.SharedIndexInformer{
|
||||
f.lock.Lock()
|
||||
@@ -237,11 +262,58 @@ func (f *sharedInformerFactory) InformerFor(obj {{.runtimeObject|raw}}, newFunc
|
||||
var sharedInformerFactoryInterface = `
|
||||
// SharedInformerFactory provides shared informers for resources in all known
|
||||
// API group versions.
|
||||
//
|
||||
// It is typically used like this:
|
||||
//
|
||||
// ctx, cancel := context.Background()
|
||||
// defer cancel()
|
||||
// factory := NewSharedInformerFactory(client, resyncPeriod)
|
||||
// defer factory.WaitForStop() // Returns immediately if nothing was started.
|
||||
// genericInformer := factory.ForResource(resource)
|
||||
// typedInformer := factory.SomeAPIGroup().V1().SomeType()
|
||||
// factory.Start(ctx.Done()) // Start processing these informers.
|
||||
// synced := factory.WaitForCacheSync(ctx.Done())
|
||||
// for v, ok := range synced {
|
||||
// if !ok {
|
||||
// fmt.Fprintf(os.Stderr, "caches failed to sync: %v", v)
|
||||
// return
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// // Creating informers can also be created after Start, but then
|
||||
// // Start must be called again:
|
||||
// anotherGenericInformer := factory.ForResource(resource)
|
||||
// factory.Start(ctx.Done())
|
||||
type SharedInformerFactory interface {
|
||||
{{.informerFactoryInterface|raw}}
|
||||
ForResource(resource {{.schemaGroupVersionResource|raw}}) (GenericInformer, error)
|
||||
|
||||
// Start initializes all requested informers. They are handled in goroutines
|
||||
// which run until the stop channel gets closed.
|
||||
Start(stopCh <-chan struct{})
|
||||
|
||||
// Shutdown marks a factory as shutting down. At that point no new
|
||||
// informers can be started anymore and Start will return without
|
||||
// doing anything.
|
||||
//
|
||||
// In addition, Shutdown blocks until all goroutines have terminated. For that
|
||||
// to happen, the close channel(s) that they were started with must be closed,
|
||||
// either before Shutdown gets called or while it is waiting.
|
||||
//
|
||||
// Shutdown may be called multiple times, even concurrently. All such calls will
|
||||
// block until all goroutines have terminated.
|
||||
Shutdown()
|
||||
|
||||
// WaitForCacheSync blocks until all started informers' caches were synced
|
||||
// or the stop channel gets closed.
|
||||
WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool
|
||||
|
||||
// ForResource gives generic access to a shared informer of the matching type.
|
||||
ForResource(resource {{.schemaGroupVersionResource|raw}}) (GenericInformer, error)
|
||||
|
||||
// InternalInformerFor returns the SharedIndexInformer for obj using an internal
|
||||
// client.
|
||||
InformerFor(obj {{.runtimeObject|raw}}, newFunc {{.interfacesNewInformerFunc|raw}}) {{.cacheSharedIndexInformer|raw}}
|
||||
|
||||
{{$gvInterfaces := .gvInterfaces}}
|
||||
{{$gvGoNames := .gvGoNames}}
|
||||
{{range $groupName, $group := .groupVersions}}{{index $gvGoNames $groupName}}() {{index $gvInterfaces $groupName|raw}}
|
||||
|
1
client/vendor/k8s.io/code-generator/cmd/informer-gen/main.go
generated
vendored
1
client/vendor/k8s.io/code-generator/cmd/informer-gen/main.go
generated
vendored
@@ -33,7 +33,6 @@ func main() {
|
||||
|
||||
// Override defaults.
|
||||
// TODO: move out of informer-gen
|
||||
genericArgs.GoHeaderFilePath = util.BoilerplatePath()
|
||||
genericArgs.OutputPackagePath = "k8s.io/kubernetes/pkg/client/informers/informers_generated"
|
||||
customArgs.VersionedClientSetPackage = "k8s.io/kubernetes/pkg/client/clientset_generated/clientset"
|
||||
customArgs.InternalClientSetPackage = "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
||||
|
1
client/vendor/k8s.io/code-generator/cmd/lister-gen/main.go
generated
vendored
1
client/vendor/k8s.io/code-generator/cmd/lister-gen/main.go
generated
vendored
@@ -33,7 +33,6 @@ func main() {
|
||||
|
||||
// Override defaults.
|
||||
// TODO: move this out of lister-gen
|
||||
genericArgs.GoHeaderFilePath = util.BoilerplatePath()
|
||||
genericArgs.OutputPackagePath = "k8s.io/kubernetes/pkg/client/listers"
|
||||
|
||||
genericArgs.AddFlags(pflag.CommandLine)
|
||||
|
2
client/vendor/k8s.io/code-generator/cmd/register-gen/main.go
generated
vendored
2
client/vendor/k8s.io/code-generator/cmd/register-gen/main.go
generated
vendored
@@ -24,13 +24,11 @@ import (
|
||||
|
||||
generatorargs "k8s.io/code-generator/cmd/register-gen/args"
|
||||
"k8s.io/code-generator/cmd/register-gen/generators"
|
||||
"k8s.io/code-generator/pkg/util"
|
||||
)
|
||||
|
||||
func main() {
|
||||
klog.InitFlags(nil)
|
||||
genericArgs := generatorargs.NewDefaults()
|
||||
genericArgs.GoHeaderFilePath = util.BoilerplatePath()
|
||||
genericArgs.AddFlags(pflag.CommandLine)
|
||||
flag.Set("logtostderr", "true")
|
||||
pflag.CommandLine.AddGoFlagSet(flag.CommandLine)
|
||||
|
2
client/vendor/k8s.io/code-generator/cmd/set-gen/main.go
generated
vendored
2
client/vendor/k8s.io/code-generator/cmd/set-gen/main.go
generated
vendored
@@ -27,7 +27,6 @@ package main
|
||||
import (
|
||||
"os"
|
||||
|
||||
"k8s.io/code-generator/pkg/util"
|
||||
"k8s.io/gengo/args"
|
||||
"k8s.io/gengo/examples/set-gen/generators"
|
||||
|
||||
@@ -39,7 +38,6 @@ func main() {
|
||||
arguments := args.Default()
|
||||
|
||||
// Override defaults.
|
||||
arguments.GoHeaderFilePath = util.BoilerplatePath()
|
||||
arguments.InputDirs = []string{"k8s.io/kubernetes/pkg/util/sets/types"}
|
||||
arguments.OutputPackagePath = "k8s.io/apimachinery/pkg/util/sets"
|
||||
|
||||
|
27
client/vendor/k8s.io/code-generator/generate-groups.sh
generated
vendored
27
client/vendor/k8s.io/code-generator/generate-groups.sh
generated
vendored
@@ -71,25 +71,36 @@ done
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "deepcopy" <<<"${GENS}"; then
|
||||
echo "Generating deepcopy funcs"
|
||||
"${gobin}/deepcopy-gen" --input-dirs "$(codegen::join , "${FQ_APIS[@]}")" -O zz_generated.deepcopy "$@"
|
||||
"${gobin}/deepcopy-gen" \
|
||||
--input-dirs "$(codegen::join , "${FQ_APIS[@]}")" \
|
||||
-O zz_generated.deepcopy \
|
||||
"$@"
|
||||
fi
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "client" <<<"${GENS}"; then
|
||||
echo "Generating clientset for ${GROUPS_WITH_VERSIONS} at ${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}"
|
||||
"${gobin}/client-gen" --clientset-name "${CLIENTSET_NAME_VERSIONED:-versioned}" --input-base "" --input "$(codegen::join , "${FQ_APIS[@]}")" --output-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}" "$@"
|
||||
"${gobin}/client-gen" \
|
||||
--clientset-name "${CLIENTSET_NAME_VERSIONED:-versioned}" \
|
||||
--input-base "" \
|
||||
--input "$(codegen::join , "${FQ_APIS[@]}")" \
|
||||
--output-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}" \
|
||||
"$@"
|
||||
fi
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "lister" <<<"${GENS}"; then
|
||||
echo "Generating listers for ${GROUPS_WITH_VERSIONS} at ${OUTPUT_PKG}/listers"
|
||||
"${gobin}/lister-gen" --input-dirs "$(codegen::join , "${FQ_APIS[@]}")" --output-package "${OUTPUT_PKG}/listers" "$@"
|
||||
"${gobin}/lister-gen" \
|
||||
--input-dirs "$(codegen::join , "${FQ_APIS[@]}")" \
|
||||
--output-package "${OUTPUT_PKG}/listers" \
|
||||
"$@"
|
||||
fi
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "informer" <<<"${GENS}"; then
|
||||
echo "Generating informers for ${GROUPS_WITH_VERSIONS} at ${OUTPUT_PKG}/informers"
|
||||
"${gobin}/informer-gen" \
|
||||
--input-dirs "$(codegen::join , "${FQ_APIS[@]}")" \
|
||||
--versioned-clientset-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}/${CLIENTSET_NAME_VERSIONED:-versioned}" \
|
||||
--listers-package "${OUTPUT_PKG}/listers" \
|
||||
--output-package "${OUTPUT_PKG}/informers" \
|
||||
"$@"
|
||||
--input-dirs "$(codegen::join , "${FQ_APIS[@]}")" \
|
||||
--versioned-clientset-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}/${CLIENTSET_NAME_VERSIONED:-versioned}" \
|
||||
--listers-package "${OUTPUT_PKG}/listers" \
|
||||
--output-package "${OUTPUT_PKG}/informers" \
|
||||
"$@"
|
||||
fi
|
||||
|
53
client/vendor/k8s.io/code-generator/generate-internal-groups.sh
generated
vendored
53
client/vendor/k8s.io/code-generator/generate-internal-groups.sh
generated
vendored
@@ -77,51 +77,70 @@ done
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "deepcopy" <<<"${GENS}"; then
|
||||
echo "Generating deepcopy funcs"
|
||||
"${GOPATH}/bin/deepcopy-gen" --input-dirs "$(codegen::join , "${ALL_FQ_APIS[@]}")" -O zz_generated.deepcopy "$@"
|
||||
"${GOPATH}/bin/deepcopy-gen" \
|
||||
--input-dirs "$(codegen::join , "${ALL_FQ_APIS[@]}")" -O zz_generated.deepcopy \
|
||||
"$@"
|
||||
fi
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "defaulter" <<<"${GENS}"; then
|
||||
echo "Generating defaulters"
|
||||
"${GOPATH}/bin/defaulter-gen" --input-dirs "$(codegen::join , "${EXT_FQ_APIS[@]}")" -O zz_generated.defaults "$@"
|
||||
"${GOPATH}/bin/defaulter-gen" \
|
||||
--input-dirs "$(codegen::join , "${EXT_FQ_APIS[@]}")" -O zz_generated.defaults \
|
||||
"$@"
|
||||
fi
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "conversion" <<<"${GENS}"; then
|
||||
echo "Generating conversions"
|
||||
"${GOPATH}/bin/conversion-gen" --input-dirs "$(codegen::join , "${ALL_FQ_APIS[@]}")" -O zz_generated.conversion "$@"
|
||||
"${GOPATH}/bin/conversion-gen" \
|
||||
--input-dirs "$(codegen::join , "${ALL_FQ_APIS[@]}")" -O zz_generated.conversion \
|
||||
"$@"
|
||||
fi
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "client" <<<"${GENS}"; then
|
||||
echo "Generating clientset for ${GROUPS_WITH_VERSIONS} at ${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}"
|
||||
if [ -n "${INT_APIS_PKG}" ]; then
|
||||
IFS=" " read -r -a APIS <<< "$(printf '%s/ ' "${INT_FQ_APIS[@]}")"
|
||||
"${GOPATH}/bin/client-gen" --clientset-name "${CLIENTSET_NAME_INTERNAL:-internalversion}" --input-base "" --input "$(codegen::join , "${APIS[@]}")" --output-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}" "$@"
|
||||
"${GOPATH}/bin/client-gen" \
|
||||
--clientset-name "${CLIENTSET_NAME_INTERNAL:-internalversion}" \
|
||||
--input-base "" \
|
||||
--input "$(codegen::join , "${APIS[@]}")" \
|
||||
--output-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}" \
|
||||
"$@"
|
||||
fi
|
||||
"${GOPATH}/bin/client-gen" --clientset-name "${CLIENTSET_NAME_VERSIONED:-versioned}" --input-base "" --input "$(codegen::join , "${EXT_FQ_APIS[@]}")" --output-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}" "$@"
|
||||
"${GOPATH}/bin/client-gen" \
|
||||
--clientset-name "${CLIENTSET_NAME_VERSIONED:-versioned}" \
|
||||
--input-base "" \
|
||||
--input "$(codegen::join , "${EXT_FQ_APIS[@]}")" \
|
||||
--output-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}" \
|
||||
"$@"
|
||||
fi
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "lister" <<<"${GENS}"; then
|
||||
echo "Generating listers for ${GROUPS_WITH_VERSIONS} at ${OUTPUT_PKG}/listers"
|
||||
"${GOPATH}/bin/lister-gen" --input-dirs "$(codegen::join , "${ALL_FQ_APIS[@]}")" --output-package "${OUTPUT_PKG}/listers" "$@"
|
||||
"${GOPATH}/bin/lister-gen" \
|
||||
--input-dirs "$(codegen::join , "${ALL_FQ_APIS[@]}")" \
|
||||
--output-package "${OUTPUT_PKG}/listers" \
|
||||
"$@"
|
||||
fi
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "informer" <<<"${GENS}"; then
|
||||
echo "Generating informers for ${GROUPS_WITH_VERSIONS} at ${OUTPUT_PKG}/informers"
|
||||
"${GOPATH}/bin/informer-gen" \
|
||||
--input-dirs "$(codegen::join , "${ALL_FQ_APIS[@]}")" \
|
||||
--versioned-clientset-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}/${CLIENTSET_NAME_VERSIONED:-versioned}" \
|
||||
--internal-clientset-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}/${CLIENTSET_NAME_INTERNAL:-internalversion}" \
|
||||
--listers-package "${OUTPUT_PKG}/listers" \
|
||||
--output-package "${OUTPUT_PKG}/informers" \
|
||||
"$@"
|
||||
--input-dirs "$(codegen::join , "${ALL_FQ_APIS[@]}")" \
|
||||
--versioned-clientset-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}/${CLIENTSET_NAME_VERSIONED:-versioned}" \
|
||||
--internal-clientset-package "${OUTPUT_PKG}/${CLIENTSET_PKG_NAME:-clientset}/${CLIENTSET_NAME_INTERNAL:-internalversion}" \
|
||||
--listers-package "${OUTPUT_PKG}/listers" \
|
||||
--output-package "${OUTPUT_PKG}/informers" \
|
||||
"$@"
|
||||
fi
|
||||
|
||||
if [ "${GENS}" = "all" ] || grep -qw "openapi" <<<"${GENS}"; then
|
||||
echo "Generating OpenAPI definitions for ${GROUPS_WITH_VERSIONS} at ${OUTPUT_PKG}/openapi"
|
||||
declare -a OPENAPI_EXTRA_PACKAGES
|
||||
"${GOPATH}/bin/openapi-gen" \
|
||||
--input-dirs "$(codegen::join , "${EXT_FQ_APIS[@]}" "${OPENAPI_EXTRA_PACKAGES[@]+"${OPENAPI_EXTRA_PACKAGES[@]}"}")" \
|
||||
--input-dirs "k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/runtime,k8s.io/apimachinery/pkg/version" \
|
||||
--output-package "${OUTPUT_PKG}/openapi" \
|
||||
-O zz_generated.openapi \
|
||||
"$@"
|
||||
--input-dirs "$(codegen::join , "${EXT_FQ_APIS[@]}" "${OPENAPI_EXTRA_PACKAGES[@]+"${OPENAPI_EXTRA_PACKAGES[@]}"}")" \
|
||||
--input-dirs "k8s.io/apimachinery/pkg/apis/meta/v1,k8s.io/apimachinery/pkg/runtime,k8s.io/apimachinery/pkg/version" \
|
||||
--output-package "${OUTPUT_PKG}/openapi" \
|
||||
-O zz_generated.openapi \
|
||||
"$@"
|
||||
fi
|
||||
|
39
client/vendor/k8s.io/code-generator/pkg/util/build.go
generated
vendored
39
client/vendor/k8s.io/code-generator/pkg/util/build.go
generated
vendored
@@ -18,16 +18,10 @@ package util
|
||||
|
||||
import (
|
||||
gobuild "go/build"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"reflect"
|
||||
"strings"
|
||||
|
||||
"golang.org/x/tools/go/packages"
|
||||
)
|
||||
|
||||
type empty struct{}
|
||||
|
||||
// CurrentPackage returns the go package of the current directory, or "" if it cannot
|
||||
// be derived from the GOPATH.
|
||||
func CurrentPackage() string {
|
||||
@@ -57,39 +51,6 @@ func hasSubdir(root, dir string) (rel string, ok bool) {
|
||||
return filepath.ToSlash(dir[len(root):]), true
|
||||
}
|
||||
|
||||
// BoilerplatePath returns the path to the boilerplate file in code-generator,
|
||||
// or "" if the default boilerplate.go.txt file cannot be located.
|
||||
func BoilerplatePath() string {
|
||||
// set up paths to check
|
||||
paths := []string{
|
||||
// works when run from root of $GOPATH containing k8s.io/code-generator
|
||||
filepath.Join(reflect.TypeOf(empty{}).PkgPath(), "/../../hack/boilerplate.go.txt"),
|
||||
// works when run from root of module vendoring k8s.io/code-generator
|
||||
"vendor/k8s.io/code-generator/hack/boilerplate.go.txt",
|
||||
// works when run from root of $GOPATH containing k8s.io/kubernetes
|
||||
"k8s.io/kubernetes/vendor/k8s.io/code-generator/hack/boilerplate.go.txt",
|
||||
}
|
||||
|
||||
// see if we can locate the module directory and add that to the list
|
||||
config := packages.Config{Mode: packages.NeedModule}
|
||||
if loadedPackages, err := packages.Load(&config, "k8s.io/code-generator/pkg/util"); err == nil {
|
||||
for _, loadedPackage := range loadedPackages {
|
||||
if loadedPackage.Module != nil && loadedPackage.Module.Dir != "" {
|
||||
paths = append(paths, filepath.Join(loadedPackage.Module.Dir, "hack/boilerplate.go.txt"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// try all paths and return the first that exists
|
||||
for _, path := range paths {
|
||||
if _, err := os.Stat(path); err == nil {
|
||||
return path
|
||||
}
|
||||
}
|
||||
// cannot be located, invoker will have to explicitly specify boilerplate file
|
||||
return ""
|
||||
}
|
||||
|
||||
// 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 {
|
||||
|
Reference in New Issue
Block a user