diff --git a/libraries/tools/kotlin-maven-plugin/src/it/simple/expected.log b/libraries/tools/kotlin-maven-plugin/src/it/simple/expected.log index 45bd68b2e60..96f3f91b128 100644 --- a/libraries/tools/kotlin-maven-plugin/src/it/simple/expected.log +++ b/libraries/tools/kotlin-maven-plugin/src/it/simple/expected.log @@ -1,4 +1,3 @@ [INFO] Kotlin Compiler version @snapshot@ [INFO] Compiling Kotlin sources from [/src/main/kotlin] -[INFO] Classes directory is /target/classes [INFO] Module name is test-project diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java index 47927f22ba1..8a93f2ee2e3 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JVMCompileMojo.java @@ -89,11 +89,11 @@ public class K2JVMCompileMojo extends KotlinCompileMojoBase e @Parameter private List sourceDirs; - public List getSources() { + protected List getSourceFilePaths() { if (sourceDirs != null && !sourceDirs.isEmpty()) return sourceDirs; return defaultSourceDirs; } + public List getSourceDirs() { + List sources = getSourceFilePaths(); + List result = new ArrayList(sources.size()); + File baseDir = project.getBasedir(); + + for (String source : sources) { + File f = new File(source); + if (f.isAbsolute()) { + result.add(f); + } else { + result.add(new File(baseDir, source)); + } + } + + return result; + } + /** * Suppress all warnings. */ @@ -133,11 +147,10 @@ public abstract class KotlinCompileMojoBase e } private boolean hasKotlinFilesInSources() throws MojoExecutionException { - List sources = getSources(); + List sources = getSourceDirs(); if (sources == null || sources.isEmpty()) return false; - for (String source : sources) { - File root = new File(source); + for (File root : sources) { if (root.exists()) { boolean sourcesExists = !FileUtil.processFilesRecursively(root, new Processor() { @Override @@ -211,9 +224,9 @@ public abstract class KotlinCompileMojoBase e } List sources = new ArrayList(); - for (String source : getSources()) { - if (new File(source).exists()) { - sources.add(source); + for (File source : getSourceDirs()) { + if (source.exists()) { + sources.add(source.getPath()); } else { getLog().warn("Source root doesn't exist: " + source); diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinTestCompileMojo.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinTestCompileMojo.java index 0dae790d532..3b8a4419506 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinTestCompileMojo.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinTestCompileMojo.java @@ -61,7 +61,7 @@ public class KotlinTestCompileMojo extends K2JVMCompileMojo { private List sourceDirs; @Override - public List getSources() { + public List getSourceFilePaths() { if (sourceDirs != null && !sourceDirs.isEmpty()) return sourceDirs; return defaultSourceDirs; } diff --git a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinTestJSCompilerMojo.java b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinTestJSCompilerMojo.java index a218a4f658d..3b7756aeac8 100644 --- a/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinTestJSCompilerMojo.java +++ b/libraries/tools/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinTestJSCompilerMojo.java @@ -65,7 +65,7 @@ public class KotlinTestJSCompilerMojo extends K2JSCompilerMojo { private List sourceDirs; @Override - public List getSources() { + public List getSourceFilePaths() { if (sourceDirs != null && !sourceDirs.isEmpty()) return sourceDirs; return defaultSourceDirs; }