diff --git a/libraries/docs/apidoc/pom.xml b/libraries/docs/apidoc/pom.xml index a6fa5a195d6..eca5247cef2 100644 --- a/libraries/docs/apidoc/pom.xml +++ b/libraries/docs/apidoc/pom.xml @@ -16,7 +16,7 @@ org.jetbrains.kotlin - runtime + kotlin-runtime ${project.version} diff --git a/libraries/docs/jsdoc/pom.xml b/libraries/docs/jsdoc/pom.xml index 8492b4cfbed..cb1045ec071 100644 --- a/libraries/docs/jsdoc/pom.xml +++ b/libraries/docs/jsdoc/pom.xml @@ -20,7 +20,7 @@ org.jetbrains.kotlin - stdlib + kotlin-stdlib ${project.version} diff --git a/libraries/docs/website/pom.xml b/libraries/docs/website/pom.xml index d9530b356ca..684617428a3 100644 --- a/libraries/docs/website/pom.xml +++ b/libraries/docs/website/pom.xml @@ -16,7 +16,7 @@ org.jetbrains.kotlin - stdlib + kotlin-stdlib ${project.version} diff --git a/libraries/examples/js-example/pom.xml b/libraries/examples/js-example/pom.xml index a27efa10a43..e17de4fcc66 100644 --- a/libraries/examples/js-example/pom.xml +++ b/libraries/examples/js-example/pom.xml @@ -16,7 +16,7 @@ org.jetbrains.kotlin - stdlib + kotlin-stdlib ${project.version} diff --git a/libraries/examples/kotlin-java-example/pom.xml b/libraries/examples/kotlin-java-example/pom.xml index 0aa319c95cc..18256b922dd 100644 --- a/libraries/examples/kotlin-java-example/pom.xml +++ b/libraries/examples/kotlin-java-example/pom.xml @@ -19,7 +19,7 @@ org.jetbrains.kotlin - stdlib + kotlin-stdlib ${project.version} diff --git a/libraries/kotlin-jdbc/pom.xml b/libraries/kotlin-jdbc/pom.xml index 1fd3d33dc42..af6424cd621 100644 --- a/libraries/kotlin-jdbc/pom.xml +++ b/libraries/kotlin-jdbc/pom.xml @@ -16,7 +16,7 @@ org.jetbrains.kotlin - stdlib + kotlin-stdlib ${project.version} diff --git a/libraries/kotlin-swing/pom.xml b/libraries/kotlin-swing/pom.xml index 447d36b8df9..a6fd6bda568 100644 --- a/libraries/kotlin-swing/pom.xml +++ b/libraries/kotlin-swing/pom.xml @@ -16,7 +16,7 @@ org.jetbrains.kotlin - stdlib + kotlin-stdlib ${project.version} diff --git a/libraries/kunit/pom.xml b/libraries/kunit/pom.xml index 9560b79014e..fc2b0a1ad27 100644 --- a/libraries/kunit/pom.xml +++ b/libraries/kunit/pom.xml @@ -16,13 +16,7 @@ org.jetbrains.kotlin - runtime - ${project.version} - - - - org.jetbrains.kotlin - stdlib + kotlin-stdlib ${project.version} diff --git a/libraries/stdlib/pom.xml b/libraries/stdlib/pom.xml index 5b7452194d6..ccd4731dab4 100644 --- a/libraries/stdlib/pom.xml +++ b/libraries/stdlib/pom.xml @@ -11,12 +11,12 @@ 1.0-SNAPSHOT - stdlib + kotlin-stdlib org.jetbrains.kotlin - runtime + kotlin-runtime ${project.version} diff --git a/libraries/tools/kdoc/pom.xml b/libraries/tools/kdoc/pom.xml index fb8b60f8913..b51fb59988c 100644 --- a/libraries/tools/kdoc/pom.xml +++ b/libraries/tools/kdoc/pom.xml @@ -28,7 +28,7 @@ org.jetbrains.kotlin - stdlib + kotlin-stdlib ${project.version} diff --git a/libraries/tools/kotlin-maven-plugin/pom.xml b/libraries/tools/kotlin-maven-plugin/pom.xml index 007c2bf74b5..d55b6d69258 100644 --- a/libraries/tools/kotlin-maven-plugin/pom.xml +++ b/libraries/tools/kotlin-maven-plugin/pom.xml @@ -40,7 +40,7 @@ org.jetbrains.kotlin - runtime + kotlin-runtime ${project.version} @@ -156,11 +156,6 @@ shade - org.jetbrains.kotlin:* 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 81208b0f249..dcdd3a1f4f2 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 @@ -28,6 +28,7 @@ import org.jetbrains.jet.cli.KotlinCompiler; import java.io.File; import java.io.IOException; +import java.lang.reflect.Field; import java.net.URL; import java.util.ArrayList; import java.util.List; @@ -109,6 +110,8 @@ public abstract class KotlinCompileMojoBase extends AbstractMojo { final KotlinCompiler compiler = createCompiler(); + printCompilerArgumentsIfDebugEnabled(arguments, compiler); + final KotlinCompiler.ExitCode exitCode = compiler.exec(System.err, arguments); switch (exitCode) { @@ -120,6 +123,25 @@ public abstract class KotlinCompileMojoBase extends AbstractMojo { } } + private void printCompilerArgumentsIfDebugEnabled(CompilerArguments arguments, KotlinCompiler compiler) { + if (getLog().isDebugEnabled()) { + getLog().debug("Invoking compiler " + compiler + " with arguments:"); + try { + Field[] fields = arguments.getClass().getFields(); + for (Field f : fields) { + Object value = f.get(arguments); + if (value != null) { + getLog().debug(f.getName() + "=" + value); + } + } + getLog().debug("End of arguments"); + } + catch (Exception e) { + getLog().warn("Failed to print compiler arguments: " + e, e); + } + } + } + protected KotlinCompiler createCompiler() { return new KotlinCompiler(); } @@ -157,12 +179,20 @@ public abstract class KotlinCompileMojoBase extends AbstractMojo { final ArrayList classpathList = new ArrayList(classpath); if (classpathList.remove(output)) { - log.debug("Removed target directory from classpath (" + output + ")"); + log.debug("Removed target directory from compiler classpath (" + output + ")"); } - final String classPathString = Joiner.on(File.pathSeparator).join(classpathList); - log.info("Classpath: " + classPathString); - arguments.setClasspath(classPathString); +// final String runtime = getRuntimeFromClassPath(classpath); +// if (runtime != null) { +// log.debug("Removed Kotlin runtime from compiler classpath (" + runtime + ")"); +// classpathList.remove(runtime); +// } + + if (classpathList.size() > 0) { + final String classPathString = Joiner.on(File.pathSeparator).join(classpathList); + log.info("Classpath: " + classPathString); + arguments.setClasspath(classPathString); + } log.info("Classes directory is " + output); arguments.setOutputDir(output); @@ -171,6 +201,21 @@ public abstract class KotlinCompileMojoBase extends AbstractMojo { log.debug("Using jdk headers from " + arguments.jdkHeaders); } + // TODO: Make a better runtime detection or get rid of it entirely + private String getRuntimeFromClassPath(List classpath) { + for (String item : classpath) { + final int lastSeparatorIndex = item.lastIndexOf(File.separator); + + if (lastSeparatorIndex < 0) + continue; + + if (item.startsWith("kotlin-runtime-", lastSeparatorIndex + 1) && item.endsWith(".jar")) + return item; + } + + return null; + } + private File jdkHeadersPath; protected File getJdkHeaders() { diff --git a/libraries/tools/runtime/pom.xml b/libraries/tools/runtime/pom.xml index 433ea00cd12..6430b3021c7 100644 --- a/libraries/tools/runtime/pom.xml +++ b/libraries/tools/runtime/pom.xml @@ -11,7 +11,7 @@ 1.0-SNAPSHOT - runtime + kotlin-runtime jar