Skip to content

Commit c9c3544

Browse files
committed
Avoid adding duplicated junit entries on classpath
1 parent c4c3435 commit c9c3544

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

native-maven-plugin/src/main/java/org/graalvm/buildtools/maven/NativeTestMojo.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
import org.eclipse.aether.resolution.DependencyResult;
6363
import org.graalvm.buildtools.utils.NativeImageConfigurationUtils;
6464

65+
import java.io.File;
6566
import java.io.IOException;
6667
import java.io.UncheckedIOException;
6768
import java.nio.file.Files;
@@ -297,10 +298,19 @@ private List<Path> findJunitPlatformNativeJars(Set<Module> modulesAlreadyOnClass
297298
.stream()
298299
.map(ArtifactResult::getArtifact)
299300
.filter(a -> !modulesAlreadyOnClasspath.contains(new Module(a.getGroupId(), a.getArtifactId())))
301+
.filter(a -> imageClasspath.stream().noneMatch(entry -> matchGroup(entry, a.getGroupId()) && matchArtifact(entry, a.getArtifactId())))
300302
.map(a -> a.getFile().toPath())
301303
.collect(Collectors.toList());
302304
}
303305

306+
private boolean matchGroup(Path entry, String groupId) {
307+
return entry.toString().contains(groupId.replace(".", File.separator));
308+
}
309+
310+
private boolean matchArtifact(Path entry, String artifactId) {
311+
return entry.toString().contains(artifactId);
312+
}
313+
304314
private static final class Module {
305315
private final String groupId;
306316
private final String artifactId;

0 commit comments

Comments
 (0)