generate kjsm-files for js-stdlib and during compilation via maven or gradle

This commit is contained in:
Michael Nedzelsky
2015-11-23 16:12:47 +03:00
parent c80c33efb6
commit ac8dd1262c
3 changed files with 21 additions and 7 deletions
+11 -7
View File
@@ -294,6 +294,7 @@
<arg value="@{output}"/> <arg value="@{output}"/>
<arg value="-no-stdlib"/> <arg value="-no-stdlib"/>
<arg value="-meta-info"/> <arg value="-meta-info"/>
<arg value="-kjsm"/>
<arg line="-main noCall"/> <arg line="-main noCall"/>
</java> </java>
</sequential> </sequential>
@@ -308,13 +309,13 @@
<kotlin-pp src="libraries/stdlib/src" output="${intermediate-sources}/stdlib/js" profile="JS" /> <kotlin-pp src="libraries/stdlib/src" output="${intermediate-sources}/stdlib/js" profile="JS" />
<new-kotlin2js output="${output}/${compiled.builtins.js}"> <new-kotlin2js output="${output}/js/${compiled.builtins.js}">
<src> <src>
<fileset refid="kotlin.builtin.files"/> <fileset refid="kotlin.builtin.files"/>
</src> </src>
</new-kotlin2js> </new-kotlin2js>
<new-kotlin2js output="${output}/${compiled.stdlib.js}"> <new-kotlin2js output="${output}/js/${compiled.stdlib.js}">
<src> <src>
<resources refid="js.lib.files"/> <resources refid="js.lib.files"/>
</src> </src>
@@ -334,7 +335,7 @@
prettyprint="true" prettyprint="true"
languagein="ECMASCRIPT5_STRICT" languagein="ECMASCRIPT5_STRICT"
warning="${warningLevel}" warning="${warningLevel}"
output="${output}/kotlin.js"> output="${output}/js/kotlin.js">
<sources dir="${stdlib.js.dir}"> <sources dir="${stdlib.js.dir}">
<file name="kotlin_lib_ecma5.js"/> <file name="kotlin_lib_ecma5.js"/>
@@ -343,11 +344,11 @@
<file name="long.js"/> <file name="long.js"/>
</sources> </sources>
<sources dir="${output}"> <sources dir="${output}/js">
<file name="${compiled.builtins.js}"/> <file name="${compiled.builtins.js}"/>
</sources> </sources>
<sources dir="${output}"> <sources dir="${output}/js">
<file name="${compiled.stdlib.js}"/> <file name="${compiled.stdlib.js}"/>
</sources> </sources>
@@ -362,8 +363,11 @@
<jar jarfile="${kotlin-home}/lib/kotlin-jslib.jar" duplicate="fail"> <jar jarfile="${kotlin-home}/lib/kotlin-jslib.jar" duplicate="fail">
<zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/> <zipfileset file="${kotlin-home}/build.txt" prefix="META-INF"/>
<zipfileset file="${output}/kotlin.js" prefix=""/> <zipfileset dir="${output}/js" prefix="">
<zipfileset file="${output}/${compiled.stdlib.meta.js}" prefix=""/> <include name="kotlin.js"/>
<include name="${compiled.stdlib.meta.js}"/>
<include name="stdlib/**"/>
</zipfileset>
<manifest> <manifest>
<attribute name="Built-By" value="${manifest.impl.vendor}"/> <attribute name="Built-By" value="${manifest.impl.vendor}"/>
@@ -249,6 +249,8 @@ public open class Kotlin2JsCompile() : AbstractKotlinCompile<K2JSCompilerArgumen
override fun createBlankArgs(): K2JSCompilerArguments { override fun createBlankArgs(): K2JSCompilerArguments {
val args = K2JSCompilerArguments() val args = K2JSCompilerArguments()
args.libraryFiles = arrayOf<String>() // defaults to null args.libraryFiles = arrayOf<String>() // defaults to null
args.metaInfo = true
args.kjsm = true
return args return args
} }
@@ -280,6 +282,7 @@ public open class Kotlin2JsCompile() : AbstractKotlinCompile<K2JSCompilerArgumen
args.outputPrefix = kotlinOptions.outputPrefix args.outputPrefix = kotlinOptions.outputPrefix
args.outputPostfix = kotlinOptions.outputPostfix args.outputPostfix = kotlinOptions.outputPostfix
args.metaInfo = kotlinOptions.metaInfo args.metaInfo = kotlinOptions.metaInfo
args.kjsm = kotlinOptions.kjsm
val kotlinJsLibsFromDependencies = val kotlinJsLibsFromDependencies =
getProject().getConfigurations().getByName("compile") getProject().getConfigurations().getByName("compile")
@@ -62,6 +62,12 @@ public class K2JSCompilerMojo extends KotlinCompileMojoBase<K2JSCompilerArgument
@Parameter(defaultValue = "true") @Parameter(defaultValue = "true")
private boolean metaInfo; private boolean metaInfo;
/**
* Flag enables or disables kjsm generation
*/
@Parameter(defaultValue = "true")
private boolean kjsm;
/** /**
* Flags enables or disable source map generation * Flags enables or disable source map generation
*/ */
@@ -73,6 +79,7 @@ public class K2JSCompilerMojo extends KotlinCompileMojoBase<K2JSCompilerArgument
arguments.outputFile = outputFile; arguments.outputFile = outputFile;
arguments.noStdlib = true; arguments.noStdlib = true;
arguments.metaInfo = metaInfo; arguments.metaInfo = metaInfo;
arguments.kjsm = kjsm;
List<String> libraries = getKotlinJavascriptLibraryFiles(); List<String> libraries = getKotlinJavascriptLibraryFiles();
getLog().debug("libraryFiles: " + libraries); getLog().debug("libraryFiles: " + libraries);