github.com/jenkins-x/jx-api@v0.0.24/pkg/client/openapi/schema_writer_generated.go (about) 1 package main 2 3 import ( 4 "flag" 5 "os" 6 "strings" 7 8 openapi "github.com/jenkins-x/jx-api/pkg/client/openapi/all" 9 10 "github.com/go-openapi/spec" 11 12 "github.com/pkg/errors" 13 14 "github.com/jenkins-x/jx-api/cmd/codegen/generator" 15 ) 16 17 func main() { 18 var outputDir, namesStr, title, version string 19 flag.StringVar(&outputDir, "output-directory", "", "directory to write generated files to") 20 flag.StringVar(&namesStr, "names", "", "comma separated list of resources to generate schema for, "+ 21 "if empty all resources will be generated") 22 flag.StringVar(&title, "title", "", "title for OpenAPI and HTML generated docs") 23 flag.StringVar(&version, "version", "", "version for OpenAPI and HTML generated docs") 24 flag.Parse() 25 if outputDir == "" { 26 panic(errors.New("--output-directory cannot be empty")) 27 } 28 var names []string 29 if namesStr != "" { 30 names = strings.Split(namesStr, ",") 31 } else { 32 refCallback := func(path string) spec.Ref { 33 return spec.Ref{} 34 } 35 names = openapi.GetNames(refCallback) 36 } 37 err := generator.WriteSchemaToDisk(outputDir, title, version, openapi.GetOpenAPIDefinitions, names) 38 if err != nil { 39 panic(errors.Wrapf(err, "writing schema to %s", outputDir)) 40 } 41 os.Exit(0) 42 }