Fix jsinterop: added option target which now has only one proper value wasm32 (#2694)

This commit is contained in:
LepilkinaElena
2019-02-20 16:18:04 +03:00
committed by GitHub
parent 6b6d09774e
commit 1b680a4b13
4 changed files with 14 additions and 9 deletions
@@ -68,6 +68,13 @@ fun getCInteropArguments(): List<OptionDescriptor> {
return (options + getCommonInteropArguments())
}
fun getJSInteropArguments(): List<OptionDescriptor> {
val options = listOf(
OptionDescriptor(ArgType.Choice(listOf("wasm32")), "target", description = "wasm target to compile to", defaultValue = "wasm32")
)
return (options + getCommonInteropArguments())
}
internal fun warn(msg: String) {
println("warning: $msg")
}
@@ -4,7 +4,7 @@ import org.jetbrains.kotlin.konan.file.File
import org.jetbrains.kotlin.native.interop.gen.argsToCompiler
import org.jetbrains.kotlin.native.interop.gen.wasm.idl.*
import org.jetbrains.kliopt.ArgParser
import org.jetbrains.kotlin.native.interop.tool.getCommonInteropArguments
import org.jetbrains.kotlin.native.interop.tool.getJSInteropArguments
import org.jetbrains.kotlin.native.interop.tool.getValuesAsArray
fun kotlinHeader(packageName: String): String {
@@ -393,7 +393,7 @@ const val idlMathPackage = "kotlinx.interop.wasm.math"
const val idlDomPackage = "kotlinx.interop.wasm.dom"
fun processIdlLib(args: Array<String>, additionalArgs: Map<String, Any> = mapOf()): Array<String>? {
val argParser = ArgParser(getCommonInteropArguments(), useDefaultHelpShortName = false)
val argParser = ArgParser(getJSInteropArguments(), useDefaultHelpShortName = false)
if (!argParser.parse(args))
return null
// TODO: Refactor me.
+1 -1
View File
@@ -31,7 +31,7 @@ kotlin {
}
httpServerMain {
dependencies {
implementation 'io.ktor:ktor-server-netty:1.0.1'
implementation 'io.ktor:ktor-server-netty:1.1.2'
}
}
}
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.native.interop.tool.*
// The interaction of interop and the compler should be streamlined.
fun invokeInterop(flavor: String, args: Array<String>): Array<String>? {
val argParser = ArgParser(if (flavor == "native") getCInteropArguments() else getCommonInteropArguments(),
val argParser = ArgParser(if (flavor == "native") getCInteropArguments() else getJSInteropArguments(),
useDefaultHelpShortName = false)
if (!argParser.parse(args))
return null
@@ -40,12 +40,10 @@ fun invokeInterop(flavor: String, args: Array<String>): Array<String>? {
val cstubsName ="cstubs"
val libraries = argParser.getAll<String>("library") ?: listOf<String>()
val repos = argParser.getAll<String>("repo") ?: listOf<String>()
var targetName = "wasm32"
val targetRequest = argParser.get<String>("target")!!
val target = PlatformManager().targetManager(targetRequest).target
if (flavor == "native") {
val targetRequest = argParser.get<String>("target")!!
val target = PlatformManager().targetManager(targetRequest).target
targetName = target.visibleName
val resolver = defaultResolver(
repos,
libraries.filter { it.contains(File.separator) },
@@ -78,7 +76,7 @@ fun invokeInterop(flavor: String, args: Array<String>): Array<String>? {
generatedDir.path,
"-produce", "library",
"-o", outputFileName,
"-target", targetName,
"-target", target.visibleName,
"-manifest", manifest.path,
"-Xtemporary-files-dir=$temporaryFilesDir") +
nativeStubs +