github.com/docker/app@v0.9.1-beta3.0.20210611140623-a48f773ab002/cmd/docker-app/main.go (about) 1 package main 2 3 import ( 4 "math/rand" 5 "time" 6 7 "github.com/docker/app/internal" 8 app "github.com/docker/app/internal/commands" 9 "github.com/docker/cli/cli-plugins/manager" 10 "github.com/docker/cli/cli-plugins/plugin" 11 "github.com/docker/cli/cli/command" 12 "github.com/spf13/cobra" 13 ) 14 15 func main() { 16 rand.Seed(time.Now().UnixNano()) 17 plugin.Run(func(dockerCli command.Cli) *cobra.Command { 18 cmd := app.NewRootCmd("app", dockerCli) 19 originalPreRun := cmd.PersistentPreRunE 20 cmd.PersistentPreRunE = func(cmd *cobra.Command, args []string) error { 21 if err := plugin.PersistentPreRunE(cmd, args); err != nil { 22 return err 23 } 24 if originalPreRun != nil { 25 return originalPreRun(cmd, args) 26 } 27 return nil 28 } 29 return cmd 30 }, manager.Metadata{ 31 SchemaVersion: "0.1.0", 32 Vendor: "Docker Inc.", 33 Version: internal.Version, 34 Experimental: true, 35 }) 36 }