diff --git a/libraries/examples/js-example/src/main/kotlin/sample/Hello.kt b/libraries/examples/js-example/src/main/kotlin/sample/Hello.kt index ecef18ae3d8..b98a9973ad5 100644 --- a/libraries/examples/js-example/src/main/kotlin/sample/Hello.kt +++ b/libraries/examples/js-example/src/main/kotlin/sample/Hello.kt @@ -1,7 +1,9 @@ package sample class Hello { + var x = 0 + fun doSomething(): Unit { - println("Hello world!") + x++ } } \ No newline at end of file diff --git a/libraries/kotlin-install/pom.xml b/libraries/kotlin-install/pom.xml index 7f4d8058f67..2d6cdb6efb0 100644 --- a/libraries/kotlin-install/pom.xml +++ b/libraries/kotlin-install/pom.xml @@ -122,6 +122,22 @@ true + + org.jetbrains.kotlin:dartc + verify + + install-file + + + org.jetbrains.kotlin + dartc + ${project.version} + jar + ${kotlin-sdk}/lib/js/dartc.jar + true + true + + diff --git a/libraries/kotlin-maven-plugin/pom.xml b/libraries/kotlin-maven-plugin/pom.xml index 1c097731cf1..8e351d9f45a 100644 --- a/libraries/kotlin-maven-plugin/pom.xml +++ b/libraries/kotlin-maven-plugin/pom.xml @@ -107,6 +107,14 @@ 2.9 --> + + + + + org.jetbrains.kotlin + dartc + ${project.version} + src/main/java diff --git a/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerMojo.java b/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerMojo.java index f94c5924849..c73e7e78d53 100644 --- a/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerMojo.java +++ b/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerMojo.java @@ -10,6 +10,12 @@ import org.jetbrains.jet.cli.CompilerArguments; */ public class K2JSCompilerMojo extends KotlinBaseMojo { + /** + * The output JS file name + * + * @required + * @parameter default-value="${project.build.directory}/js/${project.artifactId}.js" + */ private String outFile; @Override diff --git a/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerPlugin.java b/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerPlugin.java index 5396e79b0d9..7a6fddb30a0 100644 --- a/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerPlugin.java +++ b/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/K2JSCompilerPlugin.java @@ -13,6 +13,7 @@ import org.jetbrains.k2js.facade.K2JSTranslator; import java.io.File; import java.io.FileWriter; import java.io.IOException; +import java.util.ArrayList; import java.util.List; import static kotlin.io.namespace.use; @@ -22,10 +23,6 @@ import static kotlin.io.namespace.use; */ public class K2JSCompilerPlugin implements CompilerPlugin { - /** - * @required - * @parameter default-value="${project.build.directory}/target/js/${project.artifactId}.js" - */ private String outFile = "target/js/program.js"; public void processFiles(CompilerPluginContext context) { @@ -38,8 +35,7 @@ public class K2JSCompilerPlugin implements CompilerPlugin { @NotNull @Override public List getLibFiles() { - // TODO - return null; + return new ArrayList(); } }; K2JSTranslator translator = new K2JSTranslator(config); diff --git a/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinBaseMojo.java b/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinBaseMojo.java index 1e39b85a749..fbcbc726a99 100644 --- a/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinBaseMojo.java +++ b/libraries/kotlin-maven-plugin/src/main/java/org/jetbrains/kotlin/maven/KotlinBaseMojo.java @@ -21,6 +21,14 @@ public abstract class KotlinBaseMojo extends AbstractMojo { */ private String src; + /** + * The output directory for bytecode classes + * + * @required + * @parameter default-value="${project.build.directory}/classes" + */ + private String outputDir; + @Override public void execute() throws MojoExecutionException, MojoFailureException { arguments = createCompilerArguments(); @@ -28,6 +36,9 @@ public abstract class KotlinBaseMojo extends AbstractMojo { if (src != null) { arguments.setSrc(src); } + if (outputDir != null) { + arguments.setOutputDir(outputDir); + } configureCompilerArguments(arguments); compiler.exec(System.err, arguments);