Closed michaeltlombardi closed 7 years ago
Sounds like a great idea.
We should come up with the usage combinations like:
!update-plugin --name myplugin --latest
!update-plugin --name myplugin --version 1.2.3 --repository psgallery
!update-plugin --name myplugin, myotherplugin --latest --repository psgallery
!update-plugin --all --latest
etc..
FYI... I just added a related command Find-Plugin
in 42d3ce35ead2cee42333c3b345270215e9e1dd88 that partially addresses #10 to search the configured PowerShell repository for modules with the PoshBot
tag and optionally a name.
How would you handle a rollback if a new module version is faulty? Just speaking from experience, someone will introduce an error sooner or later and one will need to revert to the previous version of the affected module.
So right now it will load multiple versions of a plugin with:
!install-plugin --name myplugin --version 1.0.0
!install-plugin --name myplugin --version 2.0.0
It will only execute the command from the latest version of the plugin right now but my thinking was that if you fully qualify the command with !pluginname:commandname:version
you could then execute a specific version of the command. You can also disable plugins but I don't believe that works with multiple versions. Perhaps the logic could be:
If no version is specified, execute the latest enabled version of the command. That would allow you to disable a bad version and the bot would run down the versions installed and execute the first one that is enabled.
Thoughts?
Commit 188984ba12489868ced8bceaf996dec37c4bee0d should resolve this with the new builtin command Update-Plugin
.
Usage would be:
Update the myplugin
plugin to the latest available.
!update-plugin --name myplugin
Update the myplugin
plugin to version 1.2.3
.
!update-plugin --name myplugin --version 1.2.3
Update the myplugin
plugin and remove any old versions.
!update-plugin --name myplugin --removeoldversions
Users should be able to run a command to update one or more plugins used by the bot.
Expected Behavior
Users should have access to a builtin command,
Update-Plugin
, which can update one plugin, several plugins, or all plugins to their latest versions and reload those plugins after the update. It should be able to update to the latest locally available version as well as search remote PowerShell repositories for newer versions.Current Behavior
This functionality does not exist.
Possible Solution
Create the new function in the Builtin plugin.
Context
Very often will people want to update existing plugins used by the bot; this should be easy and obvious. This is even more useful for people contributing/developing since their versions will likely change more rapidly.
Your Environment
1.0