Closed RussKie closed 2 years ago
I think we should rely on GitExtensions.Extensibility
version. Plugin manager has already a support for this, but it's turned-off since the initial release.
The down side is that we need to publish a new version of this package with Git Extensions release. From my experience, since we don't have a public API, my plugin needs an update with almost every Git Extensions feature update. But this raises a broader question of compatibility and also we may need to disable already installed plugins after update, etc.
Summary: both filtering based on dependency version and TFM are already supported.
GitExtensions.Extensibility
version requires to publish that package.I believe we need to publish that package. And the app and all plugins must use that version.
Ultimately it needs to host all shared concerns. IIRC @ivangrek started some work in that direction (but got stalled partially because I was available to help and review in timely manner).
On Mon, 15 Nov 2021, 7:41 pm Marek Fišera, @.***> wrote:
I think we should rely on GitExtensions.Extensibility version. Plugin manager has already a support for this, but it's turned-off since the initial release.
The down side is that we need to publish a new version of this package with Git Extensions release. From my experience, since we don't have a public API, my plugin needs an update with almost every Git Extensions feature update. But this raises a broader question of compatibility and also we may need to disable already installed plugins after update, etc.
Summary: both filtering based on dependency version and TFM are already supported.
- TFM version would only need a small change here.
- GitExtensions.Extensibility version requires to publish that package.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gitextensions/gitextensions.pluginmanager/issues/61#issuecomment-968657123, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABBTEXUDF5EH2XEWJTDQ77TUMDBVJANCNFSM5IAMWXMQ .
Perhaps we need to change the version for plugins in the main application and discard all plugins that have a lower version?
Yes, I think that'd be the right move.
On Mon, 15 Nov 2021, 8:32 pm Ivan Grek, @.***> wrote:
Perhaps we need to change the version for plugins in the main application and discard all plugins that have a lower version?
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gitextensions/gitextensions.pluginmanager/issues/61#issuecomment-968700844, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABBTEXSMZVOK3LP6SJGGBPLUMDHT5ANCNFSM5IAMWXMQ .
We should check and disable/uninstall plugins that are already installed, but doesn't fit in updated Git Extensions version, shouldn't we?
We should check and disable/uninstall plugins that are already installed, but doesn't fit in updated Git Extensions version, shouldn't we?
I think something like this.
? AppPluginVersion > PluginVersion : not load plugin and don't install
Yes, that is something I had in my mind too.
But I think it requires to load nuspec info Git Extensions (where MEF is used) and determine whether the plugin fits in or not. There isn't currently an extension point for this.
Can we inspect the dependency of a package? I.e., check if a plugin is dependent on a specific version (or a range) of GitExtensions.Extensibility, and install.
In the end of the day we can install any package, but the app will load only those supported... This issue is about improving the UX and making users aware what plugins are supported.
Yes, on a nuget level we can do that (and we are already doing that). What I am thinking about is how to check for compatibility on already installed plugins (after Git Extensions update). Because Git Extensions currently loads dlls from a folder. It doesn't know anything about nuget.
I checked and we released v0.2 version of with .NET 5.0 support (https://github.com/gitextensions/gitextensions.extensibility/pull/21). Though we perhaps should have removed net461 support from it... So I think we should all update to the latest version, and not filter out/visibly mark plugins that aren't built against [0.2.0, 0.3.0).
What do you think?
Though we perhaps should have removed net461 support from it...
It would be better, but we probably can live with it.
and not filter out/visibly mark
Is it what you wanted to say? Or did you mean "do filter out"? 🙂
Typo ;) "do filter out"
On Fri, 19 Nov 2021, 5:57 pm Marek Fišera, @.***> wrote:
Though we perhaps should have removed net461 support from it...
It would be better, but we probably can live with it.
and not filter out/visibly mark
Is it what you wanted to say? Or did you mean "do filter out"? 🙂
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gitextensions/gitextensions.pluginmanager/issues/61#issuecomment-973802109, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABBTEXTDTTHJ4KPS72EAPPTUMXYMZANCNFSM5IAMWXMQ .
Git Extensions is being migrated to .NET, and many existing packages are targeting the old version of the app that runs on .NET Framework 4.6.1. The new version of the Plugin Manager shows all known version, which is quite misleading:
Consider how we can filter out (or render) unsupported packages.
Few ideas but nothing concrete, e.g.: