Skip to content

Commit 2f2edf6

Browse files
committed
issue #190: Module classpath should filter invalid items in run task
1 parent b868214 commit 2f2edf6

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

src/main/java/org/javamodularity/moduleplugin/tasks/CompileJavaTaskMutator.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.javamodularity.moduleplugin.extensions.PatchModuleContainer;
1212
import org.javamodularity.moduleplugin.internal.MutatorHelper;
1313

14-
import java.io.File;
1514
import java.util.ArrayList;
1615
import java.util.List;
1716
import java.util.stream.Collectors;

src/main/java/org/javamodularity/moduleplugin/tasks/RunTaskMutator.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import java.util.ArrayList;
1515
import java.util.List;
16+
import java.util.stream.Collectors;
1617

1718
public class RunTaskMutator extends AbstractExecutionMutator {
1819
private static final Logger LOGGER = Logging.getLogger(RunTaskMutator.class);
@@ -46,11 +47,14 @@ private List<String> buildJavaExecJvmArgs() {
4647
moduleOptions.mutateArgs(jvmArgs);
4748

4849
FileCollection classpath = mergeClassesHelper().getMergeAdjustedClasspath(execTask.getClasspath());
50+
FileCollection filteredClasspath = project.files(classpath.getFiles().stream()
51+
.filter(f -> f.isDirectory() || f.getName().endsWith(".jar") || f.getName().endsWith(".jmod"))
52+
.collect(Collectors.toList()).toArray());
4953
var patchModuleContainer = PatchModuleContainer.copyOf(
5054
helper().modularityExtension().optionContainer().getPatchModuleContainer());
5155
patchModuleContainer.addDir(moduleName, helper().mainSourceSet().getOutput().getResourcesDir().getAbsolutePath());
52-
patchModuleContainer.buildModulePathOption(classpath).ifPresent(option -> option.mutateArgs(jvmArgs));
53-
patchModuleContainer.mutator(classpath).mutateArgs(jvmArgs);
56+
patchModuleContainer.buildModulePathOption(filteredClasspath).ifPresent(option -> option.mutateArgs(jvmArgs));
57+
patchModuleContainer.mutator(filteredClasspath).mutateArgs(jvmArgs);
5458

5559
jvmArgs.addAll(execTask.getJvmArgs());
5660

0 commit comments

Comments
 (0)