// doodle-admin performs secret admin tasks like generating license keys. package main import ( "fmt" "log" "os" "sort" "time" "git.kirsle.net/SketchyMaze/doodle/cmd/doodle-admin/command" "git.kirsle.net/SketchyMaze/doodle/pkg/branding" "github.com/urfave/cli/v2" ) // Build variables. var ( Build = "N/A" BuildDate string ) func init() { if BuildDate == "" { BuildDate = time.Now().Format(time.RFC3339) } } func main() { app := cli.NewApp() app.Name = "doodle-admin" app.Usage = "Admin tasks for Sketchy Maze." app.Version = fmt.Sprintf("%s build %s. Built on %s", branding.Version, Build, BuildDate, ) app.Flags = []cli.Flag{ &cli.BoolFlag{ Name: "debug, d", Usage: "enable debug level logging", }, } app.Commands = []*cli.Command{ command.Key, command.Sign, command.Verify, command.SignLevel, command.VerifyLevel, } sort.Sort(cli.FlagsByName(app.Flags)) sort.Sort(cli.CommandsByName(app.Commands)) err := app.Run(os.Args) if err != nil { log.Fatal(err) } }