POC: Remote module inclusion#6815
POC: Remote module inclusion#6815jorgee wants to merge 13 commits into251117-module-system-implementationfrom
Conversation
|
Updated the PoC for remote module inclusion, working with V2 and V1 syntax parsers and |
|
@jorgee can you please include a super short "how to test" in a comment? |
|
To test this branch you need to do the following:
|
1785870 to
2432e90
Compare
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
3b6e77c to
c38b4a8
Compare
|
Trying this I get |
|
I miss to check it. Fixed in the last commit. I have also added the fix in #6768 |
|
This looks going into the right direction, first comments:
|
400737a to
61f9954
Compare
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
61f9954 to
a483d3e
Compare
|
Updated from source branch:
To test, you must run with registry branch |
This has been merged, isn't it? |
…on' of github.com:nextflow-io/nextflow into 251117-module-system-implementation-with-remote-inclusion
|
Yes, it has been merged to |
Signed-off-by: Paolo Di Tommaso <paolo.ditommaso@gmail.com>
|
Push a small change, to fix compilation on my side |
|
Nice the info command, suggest command can be improved: This is what mcp is suggesting |
|
Run supports nextflow.config, great |
|
Likely this error message is not needed because there's already the dump of the failing command |
|
Regarding the RegistryConfig i'd like to align with with one used by the gradle plugin it should be fairly simple declare as the auth it should be assumed the first is the primary, and publish (auth) would only be allowed for it. wdyt? |
|
I'd also keep |
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
…-system-implementation-with-remote-inclusion Signed-off-by: Jorge Ejarque <jorgee@users.noreply.github.com>
…-system-implementation-with-remote-inclusion
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
|
Update:
Missing:
|
This pull request introduces a new Service Provider Interface (SPI) for resolving remote Nextflow modules using the
@scope/namesyntax. The changes provide an implementation that can work with Syntax parser V1 and V2 without coupling Nextflow runtime classes to nf-lang. It also includes a fallback resolver which check if the module files exists in case any resolver is loaded.Remote Module Resolution SPI Integration:
RemoteModuleResolverSPI interface innextflow.module.spi, defining methods for resolving remote modules and specifying resolver priority.RemoteModuleResolverProviderclass, which uses Java's ServiceLoader to discover and select the highest-priority resolver, with a fallback if none are found.FallbackRemoteModuleResolver) that throws an informative error if no SPI resolver is available.DefaultRemoteModuleResolver) via the SPI mechanism inMETA-INF/services/nextflow.module.spi.RemoteModuleResolver.Default Resolver Implementation and Testing:
DefaultRemoteModuleResolveras the default SPI implementation, handling local and remote module resolution, version constraints, and registry integration.DefaultRemoteModuleResolverto verify SPI loading and priority behavior.Module Inclusion Logic Updates:
IncludeDef.groovy,ModuleResolver.java,ResolveIncludeVisitor.java) to use the SPI resolver for@scope/namereferences and ensure correct path resolution. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]