// SetupBuiltinPlugins ensures all the builtinPlugins are installed func SetupBuiltinPlugins() { pluginNames := difference(BuiltinPlugins, PluginNames()) if len(pluginNames) == 0 { return } Err("heroku-cli: Installing core plugins...") if err := installPlugins(pluginNames...); err != nil { // retry once PrintError(gode.RemovePackages(pluginNames...), true) PrintError(gode.ClearCache(), true) Err("\rheroku-cli: Installing core plugins (retrying)...") ExitIfError(installPlugins(pluginNames...), true) } Errln(" done") }
var pluginsUninstallCmd = &Command{ Topic: "plugins", Command: "uninstall", Hidden: true, Args: []Arg{{Name: "name"}}, Description: "Uninstalls a plugin from the CLI", Help: `Uninstalls a Heroku plugin Example: $ heroku plugins:uninstall heroku-production-status`, Run: func(ctx *Context) { name := ctx.Args.(map[string]string)["name"] Errf("Uninstalling plugin %s... ", name) ExitIfError(gode.RemovePackages(name), true) RemovePluginFromCache(name) Errln("done") }, } var pluginsListCmd = &Command{ Topic: "plugins", Hidden: true, Description: "Lists installed plugins", Help: ` Example: $ heroku plugins`, Run: func(ctx *Context) { SetupBuiltinPlugins()