github.com/bluenviron/gomavlib/v2@v2.2.1-0.20240308101627-2c07e3da629c/cmd/dialect-import/main.go (about) 1 // dialect-import command. 2 package main 3 4 import ( 5 "fmt" 6 "os" 7 8 "github.com/alecthomas/kong" 9 10 "github.com/bluenviron/gomavlib/v2/pkg/conversion" 11 ) 12 13 var cli struct { 14 Link bool `help:"Link included definitions instead of including them into the main definition"` 15 XML string `arg:"" help:"Path or url pointing to a XML Mavlink dialect"` 16 } 17 18 func run(args []string) error { 19 parser, err := kong.New(&cli, 20 kong.Description("Convert Mavlink dialects from XML format to Go format."), 21 kong.UsageOnError()) 22 if err != nil { 23 return err 24 } 25 26 _, err = parser.Parse(args) 27 if err != nil { 28 return err 29 } 30 31 return conversion.Convert(cli.XML, cli.Link) 32 } 33 34 func main() { 35 err := run(os.Args[1:]) 36 if err != nil { 37 fmt.Fprintf(os.Stderr, "ERR: %s\n", err) 38 os.Exit(1) 39 } 40 }