diff --git a/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/pom.xml b/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/pom.xml new file mode 100644 index 00000000000..ceedbcdebed --- /dev/null +++ b/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/pom.xml @@ -0,0 +1,104 @@ + + + 4.0.0 + + org.jetbrains.kotlin + test-sourceRootsRegisteredSeveralTimes + 1.0-SNAPSHOT + + + + junit + junit + 4.13.1 + + + org.jetbrains.kotlin + kotlin-stdlib + ${kotlin.version} + + + + + + + + true + 17 + 17 + true + UTF-8 + + + + + + kotlin-maven-plugin + org.jetbrains.kotlin + ${kotlin.version} + + + compile + + compile + + + + ${project.basedir}/src/main/kotlin + ${project.basedir}/src/main/java + + + + + test-compile + + test-compile + + + + ${project.basedir}/src/test/kotlin + ${project.basedir}/src/test/java + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.10.1 + + ${java.version} + ${java.version} + + + + default-compile + none + + + default-testCompile + none + + + java-compile + compile + + compile + + + + java-test-compile + test-compile + + testCompile + + + + + + + + diff --git a/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/src/main/java/foo/bar/Foo.java b/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/src/main/java/foo/bar/Foo.java new file mode 100644 index 00000000000..4fa5201b7e1 --- /dev/null +++ b/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/src/main/java/foo/bar/Foo.java @@ -0,0 +1,4 @@ +package foo.bar; + +public class Foo { +} diff --git a/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/src/main/java/module-info.java b/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/src/main/java/module-info.java new file mode 100644 index 00000000000..cb68639ee71 --- /dev/null +++ b/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/src/main/java/module-info.java @@ -0,0 +1,6 @@ +module foo.bar { + exports foo.bar; + + + requires kotlin.stdlib; +} diff --git a/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/src/main/kotlin/koo/bar/Koo.kt b/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/src/main/kotlin/koo/bar/Koo.kt new file mode 100644 index 00000000000..9b6f13d88b5 --- /dev/null +++ b/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/src/main/kotlin/koo/bar/Koo.kt @@ -0,0 +1,4 @@ +package koo.bar + +class Koo { +} diff --git a/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/verify.bsh b/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/verify.bsh new file mode 100644 index 00000000000..573d8510644 --- /dev/null +++ b/libraries/tools/kotlin-maven-plugin-test/src/it/java9/test-sourceRootsRegisteredSeveralTimes/verify.bsh @@ -0,0 +1,6 @@ +import java.io.*; + +File file = new File(basedir, "target/test-sourceRootsRegisteredSeveralTimes-1.0-SNAPSHOT.jar"); +if (!file.exists() || !file.isFile()) { + throw new FileNotFoundException("Could not find generated JAR: " + file); +} diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinCompileMojoBase.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinCompileMojoBase.java index 5ae03c7434e..70eb59469aa 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinCompileMojoBase.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinCompileMojoBase.java @@ -41,6 +41,7 @@ import java.lang.reflect.Field; import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; +import java.util.stream.Collectors; import static org.jetbrains.kotlin.maven.Util.joinArrays; @@ -82,7 +83,7 @@ public abstract class KotlinCompileMojoBase e List list = new ArrayList<>(); if (sourceDirs != null && !sourceDirs.isEmpty()) list.addAll(sourceDirs); list.addAll(project.getCompileSourceRoots()); - return list; + return list.stream().distinct().collect(Collectors.toList()); } @NotNull