[stdlib-mpp] Workaround for building kotlin-test-js as a modern K/JS project
#KT-56106
This commit is contained in:
committed by
Space Team
parent
e53602e763
commit
9bdd365be4
@@ -0,0 +1,77 @@
|
||||
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
|
||||
|
||||
plugins {
|
||||
kotlin("multiplatform")
|
||||
}
|
||||
|
||||
val commonMainSources by task<Sync> {
|
||||
from(
|
||||
"$rootDir/libraries/kotlin.test/common/src/main",
|
||||
"$rootDir/libraries/kotlin.test/annotations-common/src/main"
|
||||
)
|
||||
into("$buildDir/commonMainSources")
|
||||
}
|
||||
|
||||
val commonTestSources by task<Sync> {
|
||||
from("$rootDir/libraries/kotlin.test/common/src/test/kotlin")
|
||||
into("$buildDir/commonTestSources")
|
||||
}
|
||||
|
||||
val jsMainSources by task<Sync> {
|
||||
from("$rootDir/libraries/kotlin.test/js/src")
|
||||
into("$buildDir/jsMainSources")
|
||||
}
|
||||
|
||||
kotlin {
|
||||
js(LEGACY) {
|
||||
nodejs()
|
||||
compilations {
|
||||
val main by getting; main.apply {
|
||||
kotlinOptions {
|
||||
moduleKind = "umd"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
val commonMain by getting {
|
||||
dependencies {
|
||||
api(kotlinStdlib("mpp"))
|
||||
}
|
||||
kotlin.srcDir(commonMainSources.get().destinationDir)
|
||||
}
|
||||
val commonTest by getting {
|
||||
kotlin.srcDir(commonTestSources.get().destinationDir)
|
||||
}
|
||||
val jsMain by getting {
|
||||
kotlin.srcDir(jsMainSources.get().destinationDir)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType<KotlinCompile<*>>().configureEach {
|
||||
kotlinOptions.freeCompilerArgs += listOf(
|
||||
"-Xallow-kotlin-package",
|
||||
"-opt-in=kotlin.ExperimentalMultiplatform",
|
||||
"-opt-in=kotlin.contracts.ExperimentalContracts",
|
||||
"-Xforce-deprecated-legacy-compiler-usage",
|
||||
)
|
||||
|
||||
doFirst {
|
||||
// kotlinOptions.freeCompilerArgs += listOfNotNull(
|
||||
// "-Xklib-relative-path-base=$buildDir,$projectDir".takeIf { !kotlinBuildProperties.getBoolean("kotlin.build.use.absolute.paths.in.klib") }
|
||||
// )
|
||||
}
|
||||
}
|
||||
|
||||
tasks.named("compileKotlinJs") {
|
||||
// (this as KotlinCompile<*>).kotlinOptions.freeCompilerArgs += "-Xir-module-name=kotlin-test"
|
||||
dependsOn(commonMainSources)
|
||||
dependsOn(jsMainSources)
|
||||
}
|
||||
|
||||
tasks.named("compileTestKotlinJs") {
|
||||
dependsOn(commonTestSources)
|
||||
}
|
||||
|
||||
@@ -599,6 +599,7 @@ if (buildProperties.inJpsBuildIdeaSync) {
|
||||
":kotlin-test",
|
||||
":kotlin-test:kotlin-test-js",
|
||||
":kotlin-test:kotlin-test-js-ir",
|
||||
":kotlin-test:kotlin-test-js-v1",
|
||||
":kotlin-test:kotlin-test-js:kotlin-test-js-it",
|
||||
":kotlin-test:kotlin-test-js-ir:kotlin-test-js-ir-it",
|
||||
":kotlin-test:kotlin-test-wasm",
|
||||
@@ -624,6 +625,7 @@ if (buildProperties.inJpsBuildIdeaSync) {
|
||||
project(':kotlin-test').projectDir = "$rootDir/libraries/kotlin.test" as File
|
||||
project(':kotlin-test:kotlin-test-js').projectDir = "$rootDir/libraries/kotlin.test/js" as File
|
||||
project(':kotlin-test:kotlin-test-js-ir').projectDir = "$rootDir/libraries/kotlin.test/js-ir" as File
|
||||
project(':kotlin-test:kotlin-test-js-v1').projectDir = "$rootDir/libraries/kotlin.test/js-v1" as File
|
||||
project(':kotlin-test:kotlin-test-js:kotlin-test-js-it').projectDir = "$rootDir/libraries/kotlin.test/js/it" as File
|
||||
project(':kotlin-test:kotlin-test-js-ir:kotlin-test-js-ir-it').projectDir = "$rootDir/libraries/kotlin.test/js-ir/it" as File
|
||||
project(':kotlin-test:kotlin-test-wasm').projectDir = "$rootDir/libraries/kotlin.test/wasm" as File
|
||||
|
||||
Reference in New Issue
Block a user