Skip to content

Commit 4a43db8

Browse files
committed
Improve error message for missing plugin extension [ci fast]
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
1 parent 7118849 commit 4a43db8

File tree

1 file changed

+7
-8
lines changed

1 file changed

+7
-8
lines changed

modules/nextflow/src/main/groovy/nextflow/extension/ChannelExtensionProvider.groovy

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ import groovyx.gpars.dataflow.DataflowReadChannel
2929
import groovyx.gpars.dataflow.DataflowWriteChannel
3030
import nextflow.Global
3131
import nextflow.Session
32+
import nextflow.exception.AbortOperationException
3233
import nextflow.plugin.Plugins
3334
import nextflow.script.ChannelOut
3435
/**
@@ -104,10 +105,12 @@ class ChannelExtensionProvider implements ExtensionProvider {
104105
* The class itself to allow method chaining
105106
*/
106107
ChannelExtensionProvider loadPluginExtensionMethods(String pluginId, Map<String, String> includedNames){
107-
final ext= findPluginExtensionMethods(pluginId)
108-
if( ext ) {
109-
loadPluginExtensionMethods(ext, includedNames)
110-
}
108+
final extensions= Plugins.getExtensionsInPluginId(ChannelExtensionPoint, pluginId)
109+
if( !extensions )
110+
throw new AbortOperationException("Plugin '$pluginId' does not implement any extension point")
111+
if( extensions.size()>1 )
112+
throw new AbortOperationException("Plugin '$pluginId' implements more than one extension point: ${extensions.collect(it -> it.class.getSimpleName()).join(',')}")
113+
loadPluginExtensionMethods(extensions.first(), includedNames)
111114
return instance = this
112115
}
113116

@@ -214,10 +217,6 @@ class ChannelExtensionProvider implements ExtensionProvider {
214217
}
215218
}
216219

217-
protected ChannelExtensionPoint findPluginExtensionMethods(String pluginId) {
218-
Plugins.getExtensionsInPluginId(ChannelExtensionPoint, pluginId)?.first()
219-
}
220-
221220
@Deprecated
222221
static void reloadExtensionPoints() {
223222
if( !instance )

0 commit comments

Comments
 (0)