mirror of
https://github.com/minio/minio.git
synced 2025-01-12 07:23:23 -05:00
cli: Make sure to add --help flag for subcommands. (#3773)
--help is now back and prints properly with command help template.
This commit is contained in:
parent
7ea1de8245
commit
9eb8e375c5
@ -104,6 +104,10 @@ func registerApp() *cli.App {
|
|||||||
registerCommand(updateCmd)
|
registerCommand(updateCmd)
|
||||||
|
|
||||||
// Set up app.
|
// Set up app.
|
||||||
|
cli.HelpFlag = cli.BoolFlag{
|
||||||
|
Name: "help, h",
|
||||||
|
Usage: "Show help.",
|
||||||
|
}
|
||||||
app := cli.NewApp()
|
app := cli.NewApp()
|
||||||
app.Name = "Minio"
|
app.Name = "Minio"
|
||||||
app.Author = "Minio.io"
|
app.Author = "Minio.io"
|
||||||
@ -111,6 +115,8 @@ func registerApp() *cli.App {
|
|||||||
app.Usage = "Cloud Storage Server."
|
app.Usage = "Cloud Storage Server."
|
||||||
app.Description = `Minio is an Amazon S3 compatible object storage server. Use it to store photos, videos, VMs, containers, log files, or any blob of data as objects.`
|
app.Description = `Minio is an Amazon S3 compatible object storage server. Use it to store photos, videos, VMs, containers, log files, or any blob of data as objects.`
|
||||||
app.Flags = globalFlags
|
app.Flags = globalFlags
|
||||||
|
app.HideVersion = true // Hide `--version` flag, we already have `minio version`.
|
||||||
|
app.HideHelpCommand = true // Hide `help, h` command, we already have `minio --help`.
|
||||||
app.Commands = commands
|
app.Commands = commands
|
||||||
app.CustomAppHelpTemplate = minioHelpTemplate
|
app.CustomAppHelpTemplate = minioHelpTemplate
|
||||||
app.CommandNotFound = func(ctx *cli.Context, command string) {
|
app.CommandNotFound = func(ctx *cli.Context, command string) {
|
||||||
|
@ -79,7 +79,6 @@ EXAMPLES:
|
|||||||
$ export MINIO_SECRET_KEY=miniostorage
|
$ export MINIO_SECRET_KEY=miniostorage
|
||||||
$ {{.HelpName}} http://192.168.1.11/mnt/export/ http://192.168.1.12/mnt/export/ \
|
$ {{.HelpName}} http://192.168.1.11/mnt/export/ http://192.168.1.12/mnt/export/ \
|
||||||
http://192.168.1.13/mnt/export/ http://192.168.1.14/mnt/export/
|
http://192.168.1.13/mnt/export/ http://192.168.1.14/mnt/export/
|
||||||
|
|
||||||
`,
|
`,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ var updateCmd = cli.Command{
|
|||||||
{{.HelpName}} - {{.Usage}}
|
{{.HelpName}} - {{.Usage}}
|
||||||
|
|
||||||
USAGE:
|
USAGE:
|
||||||
{{.HelpName}} {{if .VisibleFlags}}[FLAGS]{{end}}
|
{{.HelpName}}{{if .VisibleFlags}} [FLAGS]{{end}}
|
||||||
{{if .VisibleFlags}}
|
{{if .VisibleFlags}}
|
||||||
FLAGS:
|
FLAGS:
|
||||||
{{range .VisibleFlags}}{{.}}
|
{{range .VisibleFlags}}{{.}}
|
||||||
@ -56,8 +56,10 @@ EXIT STATUS:
|
|||||||
1 - New update is available.
|
1 - New update is available.
|
||||||
-1 - Error in getting update information.
|
-1 - Error in getting update information.
|
||||||
|
|
||||||
VERSION:
|
EXAMPLES:
|
||||||
` + Version + `{{"\n"}}`,
|
1. Check if there is a new update available:
|
||||||
|
$ {{.HelpName}}
|
||||||
|
`,
|
||||||
}
|
}
|
||||||
|
|
||||||
const releaseTagTimeLayout = "2006-01-02T15-04-05Z"
|
const releaseTagTimeLayout = "2006-01-02T15-04-05Z"
|
||||||
|
@ -29,10 +29,15 @@ var versionCmd = cli.Command{
|
|||||||
{{.HelpName}} - {{.Usage}}
|
{{.HelpName}} - {{.Usage}}
|
||||||
|
|
||||||
USAGE:
|
USAGE:
|
||||||
{{.HelpName}}
|
{{.HelpName}}{{if .VisibleFlags}} [FLAGS]{{end}}
|
||||||
|
{{if .VisibleFlags}}
|
||||||
VERSION:
|
FLAGS:
|
||||||
` + Version + `{{"\n"}}`,
|
{{range .VisibleFlags}}{{.}}
|
||||||
|
{{end}}{{end}}
|
||||||
|
EXAMPLES:
|
||||||
|
1. Prints server version:
|
||||||
|
$ {{.HelpName}}
|
||||||
|
`,
|
||||||
}
|
}
|
||||||
|
|
||||||
func mainVersion(ctx *cli.Context) {
|
func mainVersion(ctx *cli.Context) {
|
||||||
|
20
vendor/github.com/minio/cli/app.go
generated
vendored
20
vendor/github.com/minio/cli/app.go
generated
vendored
@ -45,8 +45,10 @@ type App struct {
|
|||||||
Flags []Flag
|
Flags []Flag
|
||||||
// Boolean to enable bash completion commands
|
// Boolean to enable bash completion commands
|
||||||
EnableBashCompletion bool
|
EnableBashCompletion bool
|
||||||
// Boolean to hide built-in help command
|
// Boolean to hide built-in help flag
|
||||||
HideHelp bool
|
HideHelp bool
|
||||||
|
// Boolean to hide built-in help command
|
||||||
|
HideHelpCommand bool
|
||||||
// Boolean to hide built-in version flag and the VERSION section of help
|
// Boolean to hide built-in version flag and the VERSION section of help
|
||||||
HideVersion bool
|
HideVersion bool
|
||||||
// Populate on app startup, only gettable through method Categories()
|
// Populate on app startup, only gettable through method Categories()
|
||||||
@ -144,9 +146,11 @@ func (a *App) Setup() {
|
|||||||
}
|
}
|
||||||
a.Commands = newCmds
|
a.Commands = newCmds
|
||||||
|
|
||||||
if a.Command(helpCommand.Name) == nil && !a.HideHelp {
|
if a.Command(helpCommand.Name) == nil {
|
||||||
a.Commands = append(a.Commands, helpCommand)
|
if !a.HideHelpCommand {
|
||||||
if (HelpFlag != BoolFlag{}) {
|
a.Commands = append(a.Commands, helpCommand)
|
||||||
|
}
|
||||||
|
if !a.HideHelp && (HelpFlag != BoolFlag{}) {
|
||||||
a.appendFlag(HelpFlag)
|
a.appendFlag(HelpFlag)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -285,9 +289,11 @@ func (a *App) RunAndExitOnError() {
|
|||||||
func (a *App) RunAsSubcommand(ctx *Context) (err error) {
|
func (a *App) RunAsSubcommand(ctx *Context) (err error) {
|
||||||
// append help to commands
|
// append help to commands
|
||||||
if len(a.Commands) > 0 {
|
if len(a.Commands) > 0 {
|
||||||
if a.Command(helpCommand.Name) == nil && !a.HideHelp {
|
if a.Command(helpCommand.Name) == nil {
|
||||||
a.Commands = append(a.Commands, helpCommand)
|
if !a.HideHelpCommand {
|
||||||
if (HelpFlag != BoolFlag{}) {
|
a.Commands = append(a.Commands, helpCommand)
|
||||||
|
}
|
||||||
|
if !a.HideHelp && (HelpFlag != BoolFlag{}) {
|
||||||
a.appendFlag(HelpFlag)
|
a.appendFlag(HelpFlag)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
15
vendor/github.com/minio/cli/command.go
generated
vendored
15
vendor/github.com/minio/cli/command.go
generated
vendored
@ -51,8 +51,10 @@ type Command struct {
|
|||||||
// removed n version 2 since it only works under specific conditions so we
|
// removed n version 2 since it only works under specific conditions so we
|
||||||
// backport here by exposing it as an option for compatibility.
|
// backport here by exposing it as an option for compatibility.
|
||||||
SkipArgReorder bool
|
SkipArgReorder bool
|
||||||
// Boolean to hide built-in help command
|
// Boolean to hide built-in help flag
|
||||||
HideHelp bool
|
HideHelp bool
|
||||||
|
// Boolean to hide built-in help command
|
||||||
|
HideHelpCommand bool
|
||||||
// Boolean to hide this command from help or completion
|
// Boolean to hide this command from help or completion
|
||||||
Hidden bool
|
Hidden bool
|
||||||
|
|
||||||
@ -261,6 +263,7 @@ func (c Command) startApp(ctx *Context) error {
|
|||||||
app.Commands = c.Subcommands
|
app.Commands = c.Subcommands
|
||||||
app.Flags = c.Flags
|
app.Flags = c.Flags
|
||||||
app.HideHelp = c.HideHelp
|
app.HideHelp = c.HideHelp
|
||||||
|
app.HideHelpCommand = c.HideHelpCommand
|
||||||
|
|
||||||
app.Version = ctx.App.Version
|
app.Version = ctx.App.Version
|
||||||
app.HideVersion = ctx.App.HideVersion
|
app.HideVersion = ctx.App.HideVersion
|
||||||
@ -301,5 +304,13 @@ func (c Command) startApp(ctx *Context) error {
|
|||||||
|
|
||||||
// VisibleFlags returns a slice of the Flags with Hidden=false
|
// VisibleFlags returns a slice of the Flags with Hidden=false
|
||||||
func (c Command) VisibleFlags() []Flag {
|
func (c Command) VisibleFlags() []Flag {
|
||||||
return visibleFlags(c.Flags)
|
flags := c.Flags
|
||||||
|
if !c.HideHelp && (HelpFlag != BoolFlag{}) {
|
||||||
|
// append help to flags
|
||||||
|
flags = append(
|
||||||
|
flags,
|
||||||
|
HelpFlag,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
return visibleFlags(flags)
|
||||||
}
|
}
|
||||||
|
6
vendor/vendor.json
vendored
6
vendor/vendor.json
vendored
@ -163,10 +163,10 @@
|
|||||||
"revisionTime": "2016-07-23T06:10:19Z"
|
"revisionTime": "2016-07-23T06:10:19Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "iDDGi0/U33hxoaQBgM3ww882lmU=",
|
"checksumSHA1": "7PcmjItrQSx/1sZ6Q395LCzT+iw=",
|
||||||
"path": "github.com/minio/cli",
|
"path": "github.com/minio/cli",
|
||||||
"revision": "cea7bbb0e52ac4d24c1de3f450545f38246075a2",
|
"revision": "06bb2061ef1493532baf0444818eb5fb4c83caac",
|
||||||
"revisionTime": "2017-02-15T09:44:04Z"
|
"revisionTime": "2017-02-20T03:57:28Z"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"checksumSHA1": "NBGyq2+iTtJvJ+ElG4FzHLe1WSY=",
|
"checksumSHA1": "NBGyq2+iTtJvJ+ElG4FzHLe1WSY=",
|
||||||
|
Loading…
Reference in New Issue
Block a user