-
Notifications
You must be signed in to change notification settings - Fork 309
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ensure that all plugins implement Plugin
or one of its sub-interfaces
#6507
Comments
Relates to #6507. Signed-off-by: Sebastian Schuberth <[email protected]>
ConfigurablePluginFactory
or the Plugin
interfaceTypedConfigurablePluginFactory
or the Plugin
interface
TypedConfigurablePluginFactory
or the Plugin
interfacePlugin
or one of its sub-interfaces
Align with all other ORT plugin types and implement the `Plugin` interface. This will allow for some common handling of all types of plugins in an upcoming change. Also see [1] for context. [1]: #6507 Signed-off-by: Sebastian Schuberth <[email protected]>
Align with all other ORT plugin types and implement the `Plugin` interface. This will allow for some common handling of all types of plugins in an upcoming change. Also see [1] for context. [1]: #6507 Signed-off-by: Sebastian Schuberth <[email protected]>
@mnonnenmacher, am I correct to assume that this issue is now obsolete in favor of implementing the new KSP-based plugin API? |
Also, now that reporters are migrated to the new KSP-based plugin API, should we remove the code ort/plugins/commands/reporter/src/main/kotlin/ReporterCommand.kt Lines 280 to 285 in 4596888
and require users to leverage the generic |
With #9403 this issue is not required anymore.
Does this work? I thought with |
That's true (see sksamuel/hoplite#358), but I thought that with typed plugin options they would not be configured as a map anyway. |
In the ORT config model it still has to be a map, because the model cannot know the config classes of the plugins. |
Could we solve that by making the plugin config classes of the plugin themselves also discoverable via the |
I don't think so. The config class would need a property of the config class type for the mapping to work, like |
ORT currently supports the following
ServiceLoader
-based plugins, grouped by whether they need to support plugin-specific configuration or not.These are plugins that may require configuration and should implement the
org.ossreviewtoolkit.utils.common.TypedConfigurablePluginFactory
interface (ticked ones already do):org.ossreviewtoolkit.utils.common.Plugin
only)org.ossreviewtoolkit.utils.common.Plugin
only)org.ossreviewtoolkit.utils.common.Plugin
only)config.yml
.org.ossreviewtoolkit.plugins.api.Plugin
API.org.ossreviewtoolkit.utils.common.Plugin
only)These are plugins that don't need to support configuration and should just implement the
org.ossreviewtoolkit.utils.common.Plugin
interface (ticked ones already do):type
properties that needs to be resolved first.The text was updated successfully, but these errors were encountered: