@@ -7,6 +7,7 @@ import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
7
7
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
8
8
import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
9
9
import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
10
+ import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
10
11
11
12
plugins {
12
13
kotlin(" multiplatform" )
@@ -31,12 +32,17 @@ kotlin {
31
32
32
33
jvm {
33
34
compilations.configureEach {
34
- compilerOptions.configure {
35
- // Minimum bytecode level is 52
36
- jvmTarget = JvmTarget .JVM_1_8
37
-
38
- // Output interfaces with default methods
39
- freeCompilerArgs.add(" -Xjvm-default=all" )
35
+ compileTaskProvider.configure {
36
+ compilerOptions {
37
+ // Minimum bytecode level is 52
38
+ jvmTarget = JvmTarget .JVM_1_8
39
+
40
+ // Output interfaces with default methods
41
+ freeCompilerArgs.addAll(
42
+ " -Xjvm-default=all" , // Output interfaces with default methods
43
+ " -Xno-param-assertions" , // Remove Intrinsics.checkNotNullParameter
44
+ )
45
+ }
40
46
}
41
47
}
42
48
@@ -48,23 +54,31 @@ kotlin {
48
54
}
49
55
50
56
js {
51
- browser()
52
- nodejs()
57
+ val testConfig: (KotlinJsTest ).() -> Unit = {
58
+ useMocha {
59
+ // Override default 2s timeout
60
+ timeout = " 120s"
61
+ }
62
+ }
63
+
64
+ browser {
65
+ testTask(testConfig)
66
+ }
67
+
68
+ nodejs {
69
+ testTask(testConfig)
70
+ }
53
71
}
54
72
55
73
@OptIn(ExperimentalWasmDsl ::class )
56
74
wasmJs {
57
75
browser()
58
76
nodejs()
59
- applyBinaryen()
60
77
}
61
78
62
79
@OptIn(ExperimentalWasmDsl ::class )
63
80
wasmWasi {
64
81
nodejs()
65
-
66
- // Available since 2.0
67
- // applyBinaryen()
68
82
}
69
83
70
84
linuxX64()
0 commit comments