Merged
Conversation
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
✅ Deploy Preview for nextflow-docs-staging canceled.
|
There was a problem hiding this comment.
Pull Request Overview
This PR updates Nextflow's plugin registry system to use the new Nextflow Plugin Registry (NPR) API as the default, while maintaining backward compatibility with the legacy registry. The changes introduce a new API dependency and refactor the plugin metadata parsing logic to support the new registry format.
- Switch default plugin registry from legacy GitHub-based URL to new Nextflow registry API
- Add NPR API dependency and update plugin metadata parsing logic
- Maintain backward compatibility by preserving legacy registry support
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
modules/nf-commons/build.gradle |
Adds npr-api dependency for new plugin registry support |
modules/nf-commons/src/main/nextflow/plugin/PluginsFacade.groovy |
Updates registry URL constants and changes default to new Nextflow registry |
modules/nf-commons/src/main/nextflow/plugin/Plugins.groovy |
Updates deprecated constant to reference legacy registry |
modules/nf-commons/src/main/nextflow/plugin/HttpPluginRepository.groovy |
Refactors plugin metadata parsing to use new NPR API classes |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
Changed sendRequest0() to return HttpResponse<InputStream> directly, eliminating the duplicate request pattern where we made a String request for status checking followed by an InputStream request for actual download. In the happy path (no redirects/auth), only one HTTP request is made instead of two. When redirects or authentication are needed, the InputStream is properly closed before making retry requests. Updated test expectations to reflect the reduced number of HTTP requests. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
pditommaso
commented
Aug 13, 2025
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request updates the plugin repository integration to support the new Nextflow plugin registry API and improves plugin metadata handling, including robust date conversion for plugin releases. It also refactors the file downloader to streamline HTTP request handling and clarifies registry URL management. The changes are validated with new comprehensive test cases.
Plugin Registry API Integration and Metadata Handling
io.seqera:npr-apidependency and updated the plugin repository to consume plugin metadata from the Nextflow registry API, replacing legacy response types and mapping API objects to pf4j-compatible objects, including correct date conversions for plugin releases. [1] [2] [3] [4] [5]mapToPluginInfowith various date formats and null handling, ensuring robust conversion from API responses to plugin metadata.File Downloader Improvements
OciAwareFileDownloaderto useInputStreamdirectly for HTTP responses, removed redundant request logic, and improved response handling for redirects and authentication, ensuring resources are properly closed and logging is clarified. [1] [2] [3]Registry URL Management and Legacy Handling
Codebase Cleanup
Plugins.groovy.