Implement more modern plugin system#1228
Implement more modern plugin system#1228A-UNDERSCORE-D wants to merge 152 commits intoEDCD:developfrom
Conversation
06b13dd to
937a10a
Compare
|
Do we want to, perhaps, use a plugin.json (or other format) file to indicate names and things? The benefits would be:
Not sure if there are any others, those are the ones that came to mind |
b76584a to
5cb9410
Compare
|
This is starting to get to a point where it works and can be merged |
0adc86c to
59df59f
Compare
For details see ARCHITECTURE.md
I've been writing too much go apparently. load_plugin() now raises exceptions when things go wrong, rather than an opaque bool return.
To force plugin authors to implement load
Also clarified an exception
Split loading and unloading tests into their own files Added a conftest file to setup globals between said two files Added plugin unloading and tests for said plugin unloading Made plugin.manager.PluginManager.load_plugin() return the loaded plugin, if possible
additionally fixed that the columns werent weighted right
specifically, show_error, provides, and invoke
these are available on the plugin itself
I... Have no idea why this wasn't a thing before. Its exactly the "correct" way to do this. There's no thread issues, no timing issues. Just nice, simple, string setting.
59df59f to
cb3ebba
Compare
|
To ensure my "let's get this merged ASAP, but not as the default" ideas don't get lost ... first of all a copy/paste, but look past it to a more structured set of thoughts:
There's probably going to be some "the devil is in the details" on this, but hopefully that conveys the idea of "have v2 available. |
This is unfinished, here for comment only at the moment