github.com/Bio-core/jtree@v0.0.0-20190705165106-1d7a7e7d6272/cmd/jtree-metadata-server/main.go (about) 1 package main 2 3 import ( 4 "log" 5 "os" 6 7 loads "github.com/go-openapi/loads" 8 flags "github.com/jessevdk/go-flags" 9 10 "github.com/Bio-core/jtree/restapi" 11 "github.com/Bio-core/jtree/restapi/operations" 12 ) 13 14 // This file was generated by the swagger tool. 15 // Make sure not to overwrite this file after you generated it because all your edits would be lost! 16 17 func main() { 18 19 swaggerSpec, err := loads.Embedded(restapi.SwaggerJSON, restapi.FlatSwaggerJSON) 20 if err != nil { 21 log.Fatalln(err) 22 } 23 24 api := operations.NewJtreeMetadataAPI(swaggerSpec) 25 server := restapi.NewServer(api) 26 defer server.Shutdown() 27 28 parser := flags.NewParser(server, flags.Default) 29 parser.ShortDescription = "Jtree Metadata API" 30 parser.LongDescription = "Metadata API" 31 32 server.ConfigureFlags() 33 34 for _, optsGroup := range api.CommandLineOptionsGroups { 35 _, err := parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options) 36 if err != nil { 37 log.Fatalln(err) 38 } 39 } 40 41 if _, err := parser.Parse(); err != nil { 42 code := 1 43 if fe, ok := err.(*flags.Error); ok { 44 if fe.Type == flags.ErrHelp { 45 code = 0 46 } 47 } 48 os.Exit(code) 49 } 50 51 server.ConfigureAPI() 52 53 if err := server.Serve(); err != nil { 54 log.Fatalln(err) 55 } 56 57 }