[Wasm] Add wasi kotlin.test target gradle buildscript
This commit is contained in:
committed by
Zalim Bashorov
parent
d1c7caf15c
commit
f42d0b1ed4
@@ -1,63 +0,0 @@
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
|
||||
|
||||
plugins {
|
||||
kotlin("multiplatform")
|
||||
}
|
||||
|
||||
val commonMainSources by task<Sync> {
|
||||
from(
|
||||
"$rootDir/libraries/kotlin.test/common/src",
|
||||
"$rootDir/libraries/kotlin.test/annotations-common/src"
|
||||
)
|
||||
into("$buildDir/commonMainSources")
|
||||
}
|
||||
|
||||
kotlin {
|
||||
@Suppress("DEPRECATION")
|
||||
@OptIn(org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl::class)
|
||||
wasm("wasm") {
|
||||
nodejs()
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
named("commonMain") {
|
||||
dependencies {
|
||||
api(project(":kotlin-stdlib-wasm-js"))
|
||||
}
|
||||
kotlin.srcDir(commonMainSources.get().destinationDir)
|
||||
}
|
||||
|
||||
named("wasmMain") {
|
||||
dependencies {
|
||||
api(project(":kotlin-stdlib-wasm-js"))
|
||||
}
|
||||
kotlin.srcDirs("$rootDir/libraries/kotlin.test/wasm/src")
|
||||
kotlin.srcDirs("$rootDir/libraries/kotlin.test/wasm/js/main/kotlin/kotlin/test")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType<KotlinCompile<*>>().configureEach {
|
||||
kotlinOptions.freeCompilerArgs += listOf(
|
||||
"-Xallow-kotlin-package",
|
||||
"-opt-in=kotlin.ExperimentalMultiplatform",
|
||||
"-opt-in=kotlin.contracts.ExperimentalContracts",
|
||||
"-Xwasm-target=wasm-js"
|
||||
)
|
||||
}
|
||||
|
||||
tasks.named("compileKotlinWasm", KotlinCompile::class.java) {
|
||||
kotlinOptions.freeCompilerArgs += "-Xir-module-name=kotlin-test"
|
||||
dependsOn(commonMainSources)
|
||||
}
|
||||
|
||||
tasks.register<Jar>("sourcesJar") {
|
||||
dependsOn(commonMainSources)
|
||||
archiveClassifier.set("sources")
|
||||
from(kotlin.sourceSets["commonMain"].kotlin)
|
||||
from(kotlin.sourceSets["wasmMain"].kotlin)
|
||||
}
|
||||
|
||||
tasks.register<Jar>("emptyJavadocJar") {
|
||||
archiveClassifier.set("javadoc")
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetAttribute
|
||||
|
||||
plugins {
|
||||
kotlin("multiplatform")
|
||||
}
|
||||
|
||||
configureWasmKotlinTest(
|
||||
wasmTargetParameter = "wasm-js",
|
||||
wasmTargetAttribute = KotlinWasmTargetAttribute.js,
|
||||
targetSourceDir = "$rootDir/libraries/kotlin.test/wasm/js/src",
|
||||
stdDependencyName = ":kotlin-stdlib-wasm-js"
|
||||
) { extensionBody ->
|
||||
kotlin(extensionBody)
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
import org.jetbrains.kotlin.gradle.targets.js.KotlinWasmTargetAttribute
|
||||
|
||||
plugins {
|
||||
kotlin("multiplatform")
|
||||
}
|
||||
|
||||
configureWasmKotlinTest(
|
||||
wasmTargetParameter = "wasm-wasi",
|
||||
wasmTargetAttribute = KotlinWasmTargetAttribute.wasi,
|
||||
targetSourceDir = "$rootDir/libraries/kotlin.test/wasm/wasi/src",
|
||||
stdDependencyName = ":kotlin-stdlib-wasm-wasi"
|
||||
) { extensionBody ->
|
||||
kotlin(extensionBody)
|
||||
}
|
||||
Reference in New Issue
Block a user