nextflow.plugin

The nextflow.plugin package implements the plugin manager.

Class Diagram

classDiagram %% %% nextflow.plugin %% CmdRun --> Plugins : run Plugins --> PluginsFacade : init PluginsFacade "1" --> "*" PluginSpec : load class PluginSpec { id : String version : String }

Note

Some classes may be excluded from the above diagram for brevity.

Notes

The plugin system uses the PF4J library, which allows for extension classes to be loaded at runtime. Each plugin includes a manifest of extension classes, all of which extend or implement some base class in Nextflow. The Plugins class can be used to query the available extensions for a given base class. Extensions can be assigned a priority using the @Priority annotation, to ensure that certain extensions are used over others when available.