Local plugins cannot resolve registry plugin dependencies
pluginstriage/investigate
## 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 条评论