Skip to content

Commit 73d0082

Browse files
committed
issue #190: Module classpath should filter invalid items
1 parent aa1fca4 commit 73d0082

2 files changed

Lines changed: 9 additions & 11 deletions

File tree

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

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@
1111
import org.javamodularity.moduleplugin.extensions.PatchModuleContainer;
1212
import org.javamodularity.moduleplugin.internal.MutatorHelper;
1313

14+
import java.io.File;
1415
import java.util.ArrayList;
1516
import java.util.List;
17+
import java.util.stream.Collectors;
1618

1719
class CompileJavaTaskMutator {
1820
private static final Logger LOGGER = Logging.getLogger(CompileJavaTaskMutator.class);
@@ -62,10 +64,15 @@ private List<String> buildCompilerArgs(JavaCompile javaCompile) {
6264
.map(AbstractCompile::getDestinationDir)
6365
.forEach(dir -> patchModuleContainer.addDir(moduleName, dir.getAbsolutePath()));
6466

67+
// Keep only valid module-path entries (https://github.com/java9-modularity/gradle-modules-plugin/issues/190)
68+
FileCollection filteredClasspath = project.files(compileJavaClasspath.getFiles().stream()
69+
.filter(f -> f.getName().endsWith(".jar") || f.getName().endsWith(".jmod"))
70+
.collect(Collectors.toList()).toArray());
71+
6572
var compilerArgs = new ArrayList<>(javaCompile.getOptions().getCompilerArgs());
66-
patchModuleContainer.buildModulePathOption(compileJavaClasspath)
73+
patchModuleContainer.buildModulePathOption(filteredClasspath)
6774
.ifPresent(option -> option.mutateArgs(compilerArgs));
68-
patchModuleContainer.mutator(compileJavaClasspath).mutateArgs(compilerArgs);
75+
patchModuleContainer.mutator(filteredClasspath).mutateArgs(compilerArgs);
6976

7077
moduleOptions.mutateArgs(compilerArgs);
7178
MutatorHelper.configureModuleVersion(helper(), compilerArgs);

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

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,6 @@ public void configureCompileJava() {
3737
}
3838

3939
private void configureCompileJava(JavaCompile compileJava) {
40-
project.getConfigurations().stream()
41-
.flatMap(configuration -> configuration.getDependencies().stream())
42-
.filter(dependency -> dependency instanceof ProjectDependency)
43-
.map(dependency -> ((ProjectDependency) dependency).getDependencyProject().getTasks())
44-
.map(tasks -> tasks.findByName(CompileModuleOptions.COMPILE_MODULE_INFO_TASK_NAME))
45-
.filter(Objects::nonNull);
46-
47-
48-
4940
var moduleOptions = compileJava.getExtensions().create("moduleOptions", CompileModuleOptions.class, project);
5041
project.afterEvaluate(p -> {
5142
adjustMainClass(compileJava);

0 commit comments

Comments
 (0)