Skip to content

Commit b3325ce

Browse files
committed
address review comments
Signed-off-by: jorgee <jorge.ejarque@seqera.io>
1 parent 09505e9 commit b3325ce

4 files changed

Lines changed: 19 additions & 12 deletions

File tree

modules/nextflow/src/main/groovy/nextflow/module/DefaultRemoteModuleResolver.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class DefaultRemoteModuleResolver implements RemoteModuleResolver {
4646

4747
@Override
4848
Path resolve(String moduleName) {
49-
def baseDir = Global.session?.baseDir ?: Path.of('.')
49+
def baseDir = Global.session?.baseDir ?: Path.of('.').toAbsolutePath()
5050
final config = Global.config ?: new ConfigBuilder().setBaseDir(baseDir).build()
5151
final registryConfig = config.navigate('registry') as RegistryConfig
5252

modules/nextflow/src/main/groovy/nextflow/module/ModuleResolver.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ class ModuleResolver {
161161
// Install to modules directory (will compute directory checksum for future integrity checks)
162162
InstalledModule installed = storage.installModule(reference, version, tempFile, downloadUrl)
163163

164-
log.info "Module ${reference}@${version} installed successfully at ${installed.mainFile.parent.toAbsolutePath().toString()}"
164+
log.info "Module ${reference}@${version} installed successfully at ${installed.mainFile.parent.toAbsolutePath()}"
165165
return installed.mainFile
166166
}
167167
finally {

modules/nf-lang/src/main/java/nextflow/module/spi/FallbackRemoteModuleResolver.java

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,15 @@
3131
public class FallbackRemoteModuleResolver implements RemoteModuleResolver {
3232

3333
@Override
34-
<<<<<<< fix-module-system-basedir
3534
public Path resolve(String moduleName) {
36-
final Path baseDir = Path.of("modules");
37-
if (!Files.exists(baseDir.resolve(moduleName))) {
38-
throw new IllegalStateException("Module '" + moduleName + "' not locally found at 'modules' folder - use 'nextflow install' to download module files");
39-
=======
40-
public Path resolve(String moduleName, Path baseDir) {
35+
// Use CWD-relative "modules" directory as a best-effort fallback when no
36+
// RemoteModuleResolver SPI implementation is available (e.g. running outside
37+
// a full Nextflow session).
38+
final Path baseDir = Path.of("modules").toAbsolutePath();
4139
final var resolved = baseDir.resolve(moduleName).normalize();
4240
// Prevent path traversal outside the base directory
4341
if (!resolved.startsWith(baseDir.normalize())) {
4442
throw new IllegalStateException("Invalid module name '" + moduleName + "' - path escapes the modules directory");
45-
>>>>>>> master
4643
}
4744
if (!Files.exists(resolved)) {
4845
throw new IllegalStateException("Module '" + moduleName + "' not locally found at 'modules' folder - use 'nextflow module install' to download module files");

modules/nf-lang/src/main/java/nextflow/script/control/ResolveIncludeVisitor.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,19 @@ public void visitInclude(IncludeNode node) {
8787
return;
8888
}
8989

90-
var includeUri = ModuleResolver.isRemoteModule(source) ?
91-
RemoteModuleResolverProvider.getInstance().resolve(source).normalize().toUri() :
92-
getIncludeUri(Path.of(sourceUnit.getSource().getURI()).getParent(), source);
90+
URI includeUri;
91+
if( ModuleResolver.isRemoteModule(source) ) {
92+
try {
93+
includeUri = RemoteModuleResolverProvider.getInstance().resolve(source).normalize().toUri();
94+
}
95+
catch( IllegalStateException e ) {
96+
addError(e.getMessage(), node);
97+
return;
98+
}
99+
}
100+
else {
101+
includeUri = getIncludeUri(Path.of(sourceUnit.getSource().getURI()).getParent(), source);
102+
}
93103
if( !isIncludeStale(node, includeUri) )
94104
return;
95105
changed = true;

0 commit comments

Comments
 (0)