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  }