// registerPublicCommands adds the resources-related commands // to the "juju" supercommand. func (r resources) registerPublicCommands() { if !markRegistered(resource.ComponentName, "public-commands") { return } charmcmd.RegisterSubCommand(func(spec charmcmd.CharmstoreSpec) jujucmd.Command { base := charmcmd.NewCommandBase(spec) resBase := &resourceadapters.CharmCmdBase{base} return cmd.NewListCharmResourcesCommand(resBase) }) commands.RegisterEnvCommand(func() modelcmd.ModelCommand { return cmd.NewUploadCommand(cmd.UploadDeps{ NewClient: func(c *cmd.UploadCommand) (cmd.UploadClient, error) { return resourceadapters.NewAPIClient(c.NewAPIRoot) }, OpenResource: func(s string) (cmd.ReadSeekCloser, error) { return os.Open(s) }, }) }) commands.RegisterEnvCommand(func() modelcmd.ModelCommand { return cmd.NewShowServiceCommand(cmd.ShowServiceDeps{ NewClient: func(c *cmd.ShowServiceCommand) (cmd.ShowServiceClient, error) { return resourceadapters.NewAPIClient(c.NewAPIRoot) }, }) }) }
// registerPublicCommands adds the resources-related commands // to the "juju" supercommand. func (r resources) registerPublicCommands() { if !markRegistered(resource.ComponentName, "public-commands") { return } charmcmd.RegisterSubCommand(cmd.NewListCharmResourcesCommand()) commands.RegisterEnvCommand(func() modelcmd.ModelCommand { return cmd.NewUploadCommand(cmd.UploadDeps{ NewClient: func(c *cmd.UploadCommand) (cmd.UploadClient, error) { apiRoot, err := c.NewAPIRoot() if err != nil { return nil, errors.Trace(err) } return resourceadapters.NewAPIClient(apiRoot) }, OpenResource: func(s string) (cmd.ReadSeekCloser, error) { return os.Open(s) }, }) }) commands.RegisterEnvCommand(func() modelcmd.ModelCommand { return cmd.NewShowServiceCommand(cmd.ShowServiceDeps{ NewClient: func(c *cmd.ShowServiceCommand) (cmd.ShowServiceClient, error) { apiRoot, err := c.NewAPIRoot() if err != nil { return nil, errors.Trace(err) } return resourceadapters.NewAPIClient(apiRoot) }, }) }) }