ITADN

Local plugins cannot resolve registry plugin dependencies

#7455Openedmundmiller 创建于 22 天前
pluginstriage/investigate
E
edmundmillercommented
## Expected behavior A locally installed plugin whose manifest declares a registry plugin dependency should load when that dependency is available in the Nextflow Registry (and especially when it is already installed locally). ## Actual behavior Loading the local plugin fails with: ``` ERROR ~ Unknown Nextflow plugin 'nf-sqldb' java.lang.IllegalArgumentException: Unknown Nextflow plugin 'nf-sqldb' at nextflow.plugin.DefaultPlugins.getPlugin(DefaultPlugins.groovy:55) at nextflow.plugin.PluginUpdater.load0(PluginUpdater.groovy:419) at nextflow.plugin.PluginUpdater.installPlugin(PluginUpdater.groovy:249) ``` `nf-sqldb@0.7.1` is published in the Nextflow Registry and was also preinstalled locally for the second reproduction attempt. ## Reproduction Configure an unpublished/local plugin with the current Gradle plugin: ```groovy plugins { id 'io.nextflow.nextflow-plugin' version '1.0.0-beta.15' } nextflowPlugin { nextflowVersion = '25.10.0' provider = 'nextflow' className = 'nextflow.plugin.NfTrinoPlugin' requirePlugins = ['nf-sqldb@0.7.1'] } ``` Then: ```bash ./gradlew clean test assemble install --no-daemon nextflow plugin install nf-sqldb@0.7.1 nextflow run examples/test-sql-extension.nf -plugins nf-trino@0.1.0 ``` The generated local manifest correctly contains: ``` Plugin-Dependencies: nf-sqldb@0.7.1 ``` but Nextflow resolves the dependency through `DefaultPlugins.getPlugin()` and rejects it as unknown. ## Environment - Nextflow `26.06.0-edge` build 12543 - macOS arm64 - Java/Gradle build through `io.nextflow.nextflow-plugin:1.0.0-beta.15` - Dependency: https://registry.nextflow.io/plugins/nf-sqldb@0.7.1 This blocks testing an unpublished plugin against another registry-hosted plugin. The older Maven-packaged `io.nextflow:nf-sqldb:0.7.0` can be bundled, but `0.7.1` is distributed through the plugin registry rather than the legacy Maven repository.
1 条评论