diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index f705c6d24..39f94af63 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -39,8 +39,8 @@ }, { "ImportPath": "github.com/minio/cli", - "Comment": "1.2.0-112-g823349c", - "Rev": "823349ce91e76834a4af0119d5bbc58fd4d2c6b0" + "Comment": "1.2.0-114-g9280cba", + "Rev": "9280cbaadcdd26d50b5ae85123682e37944701de" }, { "ImportPath": "gopkg.in/check.v1", diff --git a/Godeps/_workspace/src/github.com/minio/cli/app.go b/Godeps/_workspace/src/github.com/minio/cli/app.go index acde02bbd..de006dbea 100644 --- a/Godeps/_workspace/src/github.com/minio/cli/app.go +++ b/Godeps/_workspace/src/github.com/minio/cli/app.go @@ -46,7 +46,7 @@ type App struct { // Compilation date Compiled string // ExtraInfo pass additional info as a key value map - ExtraInfo map[string]string + ExtraInfo func() map[string]string // List of all authors who contributed Authors []Author // Name of Author (Note: Use App.Authors, this is deprecated) @@ -125,10 +125,13 @@ func (a *App) Run(arguments []string) (err error) { }() HelpPrinter = func(templ string, data interface{}) { - funcMap := template.FuncMap{ - "join": strings.Join, + funcMap := template.FuncMap{} + funcMap["join"] = strings.Join + // if ExtraInfo function + funcMap["ExtraInfo"] = func() map[string]string { return make(map[string]string) } + if a.ExtraInfo != nil { + funcMap["ExtraInfo"] = a.ExtraInfo } - w := tabwriter.NewWriter(a.Writer, 0, 8, 1, '\t', 0) t := template.Must(template.New("help").Funcs(funcMap).Parse(templ)) err := t.Execute(w, data) diff --git a/Godeps/_workspace/src/github.com/minio/cli/help.go b/Godeps/_workspace/src/github.com/minio/cli/help.go index cb36641c4..683553d68 100644 --- a/Godeps/_workspace/src/github.com/minio/cli/help.go +++ b/Godeps/_workspace/src/github.com/minio/cli/help.go @@ -25,7 +25,7 @@ VERSION: {{if .Compiled}} BUILD: {{.Compiled}}{{end}} -{{range $key, $value := .ExtraInfo}} +{{range $key, $value := ExtraInfo}} {{$value}}{{end}} ` diff --git a/cmd/donut/main.go b/cmd/donut/main.go index 9e5cbf992..61db3d5fe 100644 --- a/cmd/donut/main.go +++ b/cmd/donut/main.go @@ -149,7 +149,6 @@ func main() { // set up app app := cli.NewApp() - app.Action = runMkdonut app.Name = "donut" app.Version = getVersion() app.Compiled = getVersion() @@ -158,11 +157,15 @@ func main() { app.Commands = commands app.Flags = flags app.Before = func(c *cli.Context) error { - if c.GlobalBool("debug") { - app.ExtraInfo = getSystemData() - } + globalDebugFlag = c.GlobalBool("debug") return nil } + app.ExtraInfo = func() map[string]string { + if globalDebugFlag { + return getSystemData() + } + return make(map[string]string) + } app.CustomAppHelpTemplate = `NAME: {{.Name}} - {{.Usage}} @@ -175,7 +178,7 @@ GLOBAL FLAGS: VERSION: {{if .Compiled}} {{.Compiled}}{{end}} - {{range $key, $value := .ExtraInfo}} + {{range $key, $value := ExtraInfo}} {{$key}}: {{$value}} {{end}} diff --git a/main.go b/main.go index da293b7b9..6c716757c 100644 --- a/main.go +++ b/main.go @@ -114,11 +114,16 @@ func main() { app.Flags = flags app.Commands = commands app.Before = func(c *cli.Context) error { - if c.GlobalBool("debug") { - app.ExtraInfo = getSystemData() - } + globalDebugFlag = c.GlobalBool("debug") return nil } + app.ExtraInfo = func() map[string]string { + if globalDebugFlag { + return getSystemData() + } + return make(map[string]string) + } + app.CustomAppHelpTemplate = `NAME: {{.Name}} - {{.Usage}} @@ -134,7 +139,7 @@ GLOBAL FLAGS: VERSION: {{if .Compiled}} {{.Compiled}}{{end}} - {{range $key, $value := .ExtraInfo}} + {{range $key, $value := ExtraInfo}} {{$key}}: {{$value}} {{end}}