func main() { arguments := args.Default() // Override defaults. These are Kubernetes specific input and output // locations. arguments.InputDirs = []string{ "k8s.io/kubernetes/pkg/api", "k8s.io/kubernetes/pkg/apis/extensions", "k8s.io/kubernetes/pkg/fields", "k8s.io/kubernetes/pkg/labels", "k8s.io/kubernetes/pkg/watch", "k8s.io/kubernetes/pkg/client/unversioned", "k8s.io/kubernetes/pkg/api/latest", } // We may change the output path later. arguments.OutputPackagePath = "k8s.io/kubernetes/pkg/client/clientset/unversioned" if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } }
func main() { arguments := args.Default() // Override defaults. These are Kubernetes specific input locations. arguments.InputDirs = []string{ "k8s.io/kubernetes/pkg/api/v1", "k8s.io/kubernetes/pkg/api", "k8s.io/kubernetes/pkg/apis/authorization", "k8s.io/kubernetes/pkg/apis/authorization/v1beta1", "k8s.io/kubernetes/pkg/apis/autoscaling", "k8s.io/kubernetes/pkg/apis/autoscaling/v1", "k8s.io/kubernetes/pkg/apis/batch", "k8s.io/kubernetes/pkg/apis/batch/v1", "k8s.io/kubernetes/pkg/apis/componentconfig", "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1", "k8s.io/kubernetes/pkg/apis/extensions", "k8s.io/kubernetes/pkg/apis/extensions/v1beta1", "k8s.io/kubernetes/pkg/apis/metrics", "k8s.io/kubernetes/pkg/apis/metrics/v1alpha1", "k8s.io/kubernetes/pkg/conversion", "k8s.io/kubernetes/pkg/runtime", } if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } glog.Info("Completed successfully.") }
func main() { arguments := args.Default() // Override defaults. arguments.OutputFileBaseName = "conversion_generated" // Custom args. customArgs := &generators.CustomArgs{ ExtraPeerDirs: []string{ "k8s.io/kubernetes/pkg/api", "k8s.io/kubernetes/pkg/api/v1", "k8s.io/kubernetes/pkg/api/unversioned", "k8s.io/kubernetes/pkg/conversion", "k8s.io/kubernetes/pkg/runtime", }, } pflag.CommandLine.StringSliceVar(&customArgs.ExtraPeerDirs, "extra-peer-dirs", customArgs.ExtraPeerDirs, "Comma-separated list of import paths which are considered, after tag-specified peers, for conversions.") arguments.CustomArgs = customArgs // Run it. if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } glog.V(2).Info("Completed successfully.") }
func main() { arguments := args.Default() flag.Parse() dependencies := []string{ "k8s.io/kubernetes/pkg/fields", "k8s.io/kubernetes/pkg/labels", "k8s.io/kubernetes/pkg/watch", "k8s.io/kubernetes/pkg/client/unversioned", "k8s.io/kubernetes/pkg/client/testing/fake", "k8s.io/kubernetes/pkg/apimachinery/registered", } if *test { arguments.InputDirs = append(dependencies, []string{ "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup", }...) // We may change the output path later. arguments.OutputPackagePath = "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput" arguments.CustomArgs = generators.ClientGenArgs{ []unversioned.GroupVersion{{"testgroup", ""}}, map[unversioned.GroupVersion]string{ unversioned.GroupVersion{"testgroup", ""}: "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup", }, "test_internalclientset", "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/", false, false, } } else { inputPath, groupVersions, gvToPath, err := parseInputVersions() if err != nil { glog.Fatalf("Error: %v", err) } glog.Infof("going to generate clientset from these input paths: %v", inputPath) arguments.InputDirs = append(inputPath, dependencies...) // TODO: we need to make OutPackagePath a map[string]string. For example, // we need clientset and the individual typed clients be output to different // output path. // We may change the output path later. arguments.OutputPackagePath = "k8s.io/kubernetes/pkg/client/typed/generated" arguments.CustomArgs = generators.ClientGenArgs{ groupVersions, gvToPath, *clientsetName, *clientsetPath, *clientsetOnly, *fakeClient, } } if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } }
func main() { arguments := args.Default() arguments.CustomArgs = generators.Constraints{ // Types outside of this package will be inlined. PackageConstraints: []string{"k8s.io/kubernetes/"}, } // Override defaults. These are Kubernetes specific input locations. arguments.InputDirs = []string{ // generate all types, but do not register them "+k8s.io/kubernetes/pkg/api/unversioned", "-k8s.io/kubernetes/pkg/api/meta", "-k8s.io/kubernetes/pkg/api/meta/metatypes", "-k8s.io/kubernetes/pkg/api/resource", "-k8s.io/kubernetes/pkg/conversion", "-k8s.io/kubernetes/pkg/labels", "-k8s.io/kubernetes/pkg/runtime", "-k8s.io/kubernetes/pkg/runtime/serializer", "-k8s.io/kubernetes/pkg/util/intstr", "-k8s.io/kubernetes/pkg/util/sets", "k8s.io/kubernetes/pkg/api", "k8s.io/kubernetes/pkg/api/v1", "k8s.io/kubernetes/pkg/apis/authentication.k8s.io", "k8s.io/kubernetes/pkg/apis/authentication.k8s.io/v1beta1", "k8s.io/kubernetes/pkg/apis/authorization", "k8s.io/kubernetes/pkg/apis/authorization/v1beta1", "k8s.io/kubernetes/pkg/apis/autoscaling", "k8s.io/kubernetes/pkg/apis/autoscaling/v1", "k8s.io/kubernetes/pkg/apis/batch", "k8s.io/kubernetes/pkg/apis/batch/v1", "k8s.io/kubernetes/pkg/apis/batch/v2alpha1", "k8s.io/kubernetes/pkg/apis/apps", "k8s.io/kubernetes/pkg/apis/apps/v1alpha1", "k8s.io/kubernetes/pkg/apis/certificates", "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1", "k8s.io/kubernetes/pkg/apis/componentconfig", "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1", "k8s.io/kubernetes/pkg/apis/policy", "k8s.io/kubernetes/pkg/apis/policy/v1alpha1", "k8s.io/kubernetes/pkg/apis/extensions", "k8s.io/kubernetes/pkg/apis/extensions/v1beta1", "k8s.io/kubernetes/pkg/apis/rbac", "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1", "k8s.io/kubernetes/federation/apis/federation", "k8s.io/kubernetes/federation/apis/federation/v1alpha1", } if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } glog.Info("Completed successfully.") }
func main() { arguments := args.Default() if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } }
func main() { arguments := args.Default() // Override defaults. These are Kubernetes specific input locations. arguments.InputDirs = []string{ "k8s.io/kubernetes/pkg/api/v1", "k8s.io/kubernetes/pkg/api", "k8s.io/kubernetes/pkg/runtime", "k8s.io/kubernetes/pkg/conversion", "github.com/openshift/origin/pkg/authorization/api/v1", "github.com/openshift/origin/pkg/authorization/api", "github.com/openshift/origin/pkg/build/api/v1", "github.com/openshift/origin/pkg/build/api", "github.com/openshift/origin/pkg/deploy/api/v1", "github.com/openshift/origin/pkg/deploy/api", "github.com/openshift/origin/pkg/image/api/v1", "github.com/openshift/origin/pkg/image/api", "github.com/openshift/origin/pkg/oauth/api/v1", "github.com/openshift/origin/pkg/oauth/api", "github.com/openshift/origin/pkg/project/api/v1", "github.com/openshift/origin/pkg/project/api", "github.com/openshift/origin/pkg/route/api/v1", "github.com/openshift/origin/pkg/route/api", "github.com/openshift/origin/pkg/sdn/api/v1", "github.com/openshift/origin/pkg/sdn/api", "github.com/openshift/origin/pkg/template/api/v1", "github.com/openshift/origin/pkg/template/api", "github.com/openshift/origin/pkg/user/api/v1", "github.com/openshift/origin/pkg/user/api", } arguments.GoHeaderFilePath = "hack/boilerplate.txt" if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), func(context *generator.Context, arguments *args.GeneratorArgs) generator.Packages { pkgs := generators.Packages(context, arguments) var include generator.Packages for _, pkg := range pkgs { if strings.HasPrefix(pkg.Path(), "k8s.io/") { continue } include = append(include, pkg) } return include }, ); err != nil { glog.Fatalf("Error: %v", err) } glog.Info("Completed successfully.") }
func main() { arguments := args.Default() // Override defaults. These are Kubernetes specific input and output // locations. arguments.InputDirs = []string{"k8s.io/kubernetes/pkg/util/sets/types"} arguments.OutputPackagePath = "k8s.io/kubernetes/pkg/util/sets" if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } }
func main() { arguments := args.Default() // Override defaults. arguments.OutputFileBaseName = "openapi_generated" // Run it. if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } glog.V(2).Info("Completed successfully.") }
func main() { arguments := args.Default() // Override defaults. These are Kubernetes specific input locations. arguments.InputDirs = []string{ "k8s.io/kubernetes/pkg/api", } if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } glog.Info("Completed successfully.") }
func main() { arguments := args.Default() flag.Parse() if *test { // Override defaults. These are Kubernetes specific input and output // locations. arguments.InputDirs = []string{ "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testdata/apis/testgroup", "k8s.io/kubernetes/pkg/fields", "k8s.io/kubernetes/pkg/labels", "k8s.io/kubernetes/pkg/watch", "k8s.io/kubernetes/pkg/client/unversioned", "k8s.io/kubernetes/pkg/api/latest", } // We may change the output path later. arguments.OutputPackagePath = "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput" } else { // Override defaults. These are Kubernetes specific input and output // locations. arguments.InputDirs = []string{ "k8s.io/kubernetes/pkg/api", "k8s.io/kubernetes/pkg/apis/extensions", "k8s.io/kubernetes/pkg/fields", "k8s.io/kubernetes/pkg/labels", "k8s.io/kubernetes/pkg/watch", "k8s.io/kubernetes/pkg/client/unversioned", "k8s.io/kubernetes/pkg/api/latest", } // We may change the output path later. arguments.OutputPackagePath = "k8s.io/kubernetes/pkg/client/typed/generated" } if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } }
func main() { arguments := args.Default() // Override defaults. arguments.OutputFileBaseName = "deepcopy_generated" // Custom args. customArgs := &generators.CustomArgs{} pflag.CommandLine.StringSliceVar(&customArgs.BoundingDirs, "bounding-dirs", customArgs.BoundingDirs, "Comma-separated list of import paths which bound the types for which deep-copies will be generated.") arguments.CustomArgs = customArgs // Run it. if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } glog.V(2).Info("Completed successfully.") }
func main() { arguments := args.Default() // Override defaults. These are Kubernetes specific input and output // locations. arguments.InputDirs = []string{ "k8s.io/kubernetes/pkg/...", "k8s.io/kubernetes/cmd/...", "k8s.io/kubernetes/plugin/...", } // arguments.VerifyOnly = true if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Errorf("Error: %v", err) os.Exit(1) } glog.V(2).Info("Completed successfully.") }
func main() { arguments := args.Default() // Override defaults. These are Kubernetes specific input locations. arguments.InputDirs = []string{ "k8s.io/kubernetes/pkg/api", "k8s.io/kubernetes/pkg/api/unversioned", "k8s.io/kubernetes/pkg/api/v1", "k8s.io/kubernetes/pkg/apis/authorization", "k8s.io/kubernetes/pkg/apis/authorization/v1beta1", "k8s.io/kubernetes/pkg/apis/autoscaling", "k8s.io/kubernetes/pkg/apis/autoscaling/v1", "k8s.io/kubernetes/pkg/apis/batch", "k8s.io/kubernetes/pkg/apis/batch/v1", "k8s.io/kubernetes/pkg/apis/componentconfig", "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1", "k8s.io/kubernetes/pkg/apis/extensions", "k8s.io/kubernetes/pkg/apis/extensions/v1beta1", "k8s.io/kubernetes/pkg/runtime", "k8s.io/kubernetes/pkg/util/intstr", "k8s.io/kubernetes/pkg/util/sets", "github.com/openshift/origin/pkg/authorization/api/v1", "github.com/openshift/origin/pkg/authorization/api", "github.com/openshift/origin/pkg/build/api/v1", "github.com/openshift/origin/pkg/build/api", "github.com/openshift/origin/pkg/deploy/api/v1", "github.com/openshift/origin/pkg/deploy/api", "github.com/openshift/origin/pkg/image/api/v1", "github.com/openshift/origin/pkg/image/api", "github.com/openshift/origin/pkg/oauth/api/v1", "github.com/openshift/origin/pkg/oauth/api", "github.com/openshift/origin/pkg/project/api/v1", "github.com/openshift/origin/pkg/project/api", "github.com/openshift/origin/pkg/quota/api/v1", "github.com/openshift/origin/pkg/quota/api", "github.com/openshift/origin/pkg/route/api/v1", "github.com/openshift/origin/pkg/route/api", "github.com/openshift/origin/pkg/sdn/api/v1", "github.com/openshift/origin/pkg/sdn/api", "github.com/openshift/origin/pkg/template/api/v1", "github.com/openshift/origin/pkg/template/api", "github.com/openshift/origin/pkg/user/api/v1", "github.com/openshift/origin/pkg/user/api", "github.com/openshift/origin/pkg/security/api/v1", "github.com/openshift/origin/pkg/security/api", } arguments.GeneratedBuildTag = "ignore_autogenerated_openshift" arguments.GoHeaderFilePath = "hack/boilerplate.txt" arguments.CustomArgs = generators.Constraints{ PackageConstraints: []string{ "github.com/openshift/origin", }, } if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), func(context *generator.Context, arguments *args.GeneratorArgs) generator.Packages { pkgs := generators.Packages(context, arguments) var include generator.Packages for _, pkg := range pkgs { if strings.HasPrefix(pkg.Path(), "k8s.io/") { continue } include = append(include, pkg) } return include }, ); err != nil { glog.Fatalf("Error: %v", err) } glog.Info("Completed successfully.") }
func main() { arguments := args.Default() // These are the packages we expect generated conversions for expectedPackages := sets.NewString( "github.com/openshift/origin/pkg/authorization/api/v1", "github.com/openshift/origin/pkg/build/api/v1", "github.com/openshift/origin/pkg/deploy/api/v1", "github.com/openshift/origin/pkg/image/api/v1", "github.com/openshift/origin/pkg/oauth/api/v1", "github.com/openshift/origin/pkg/project/api/v1", "github.com/openshift/origin/pkg/quota/api/v1", "github.com/openshift/origin/pkg/route/api/v1", "github.com/openshift/origin/pkg/sdn/api/v1", "github.com/openshift/origin/pkg/template/api/v1", "github.com/openshift/origin/pkg/user/api/v1", "github.com/openshift/origin/pkg/security/api/v1", ) // These are the packages containing types and conversion functions used by the packages we want to generate for supportingPackages := sets.NewString( "k8s.io/kubernetes/pkg/api/v1", "k8s.io/kubernetes/pkg/api", "k8s.io/kubernetes/pkg/runtime", "k8s.io/kubernetes/pkg/conversion", "github.com/openshift/origin/pkg/authorization/api", "github.com/openshift/origin/pkg/build/api", "github.com/openshift/origin/pkg/deploy/api", "github.com/openshift/origin/pkg/image/api", "github.com/openshift/origin/pkg/oauth/api", "github.com/openshift/origin/pkg/project/api", "github.com/openshift/origin/pkg/quota/api", "github.com/openshift/origin/pkg/route/api", "github.com/openshift/origin/pkg/sdn/api", "github.com/openshift/origin/pkg/template/api", "github.com/openshift/origin/pkg/user/api", "github.com/openshift/origin/pkg/security/api", ) // Override defaults. These are Kubernetes specific input locations. arguments.InputDirs = sets.NewString().Union(expectedPackages).Union(supportingPackages).List() arguments.GeneratedBuildTag = "ignore_autogenerated_openshift" arguments.GoHeaderFilePath = "hack/boilerplate.txt" arguments.OutputFileBaseName = "zz_generated.conversion" foundPackages := sets.NewString() if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), func(context *generator.Context, arguments *args.GeneratorArgs) generator.Packages { pkgs := generators.Packages(context, arguments) var include generator.Packages for _, pkg := range pkgs { foundPackages.Insert(pkg.Path()) if strings.HasPrefix(pkg.Path(), "k8s.io/") { continue } include = append(include, pkg) } return include }, ); err != nil { glog.Fatalf("Error: %v", err) } if missing := expectedPackages.Difference(foundPackages); len(missing) > 0 { glog.Fatalf("Missing expected packages:\n%v", missing.List()) } glog.Info("Completed successfully.") }
func main() { arguments := args.Default() flag.Parse() var cmdArgs string flag.VisitAll(func(f *flag.Flag) { if !f.Changed || f.Name == "verify-only" { return } cmdArgs = cmdArgs + fmt.Sprintf("--%s=%s ", f.Name, f.Value) }) dependencies := []string{ "k8s.io/kubernetes/pkg/fields", "k8s.io/kubernetes/pkg/labels", "k8s.io/kubernetes/pkg/watch", "k8s.io/kubernetes/pkg/client/unversioned", "k8s.io/kubernetes/pkg/apimachinery/registered", } if *test { arguments.InputDirs = append(dependencies, []string{ "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup.k8s.io", }...) arguments.CustomArgs = clientgenargs.Args{ GroupVersions: []unversioned.GroupVersion{{Group: "testgroup.k8s.io", Version: ""}}, GroupVersionToInputPath: map[unversioned.GroupVersion]string{ unversioned.GroupVersion{Group: "testgroup.k8s.io", Version: ""}: "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup.k8s.io", }, ClientsetName: "test_internalclientset", ClientsetOutputPath: "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/", ClientsetOnly: false, FakeClient: true, CmdArgs: cmdArgs, } } else { inputPath, groupVersions, gvToPath, err := parseInputVersions() if err != nil { glog.Fatalf("Error: %v", err) } glog.Infof("going to generate clientset from these input paths: %v", inputPath) arguments.InputDirs = append(inputPath, dependencies...) arguments.CustomArgs = clientgenargs.Args{ GroupVersions: groupVersions, GroupVersionToInputPath: gvToPath, ClientsetName: *clientsetName, ClientsetOutputPath: *clientsetPath, ClientsetOnly: *clientsetOnly, FakeClient: *fakeClient, CmdArgs: cmdArgs, } fmt.Printf("==arguments: %v\n", arguments) } if err := arguments.Execute( generators.NameSystems(), generators.DefaultNameSystem(), generators.Packages, ); err != nil { glog.Fatalf("Error: %v", err) } }