| 271 | } |
| 272 | |
| 273 | func (cmd *PluginInstall) installPlugin(pluginMetadata *plugin.PluginMetadata, pluginDestinationFilepath, pluginSourceFilepath string) error { |
| 274 | err := fileutils.CopyPathToPath(pluginSourceFilepath, pluginDestinationFilepath) |
| 275 | if err != nil { |
| 276 | return errors.New(T( |
| 277 | "Could not copy plugin binary: \n{{.Error}}", |
| 278 | map[string]interface{}{ |
| 279 | "Error": err.Error(), |
| 280 | }), |
| 281 | ) |
| 282 | } |
| 283 | |
| 284 | configMetadata := pluginconfig.PluginMetadata{ |
| 285 | Location: pluginDestinationFilepath, |
| 286 | Version: pluginMetadata.Version, |
| 287 | Commands: pluginMetadata.Commands, |
| 288 | } |
| 289 | |
| 290 | cmd.pluginConfig.SetPlugin(pluginMetadata.Name, configMetadata) |
| 291 | return nil |
| 292 | } |
| 293 | |
| 294 | func (cmd *PluginInstall) runBinaryAndObtainPluginMetadata(pluginSourceFilepath string) (*plugin.PluginMetadata, error) { |
| 295 | err := cmd.rpcService.Start() |