@@ -14,35 +14,34 @@ mavenPublicationsPom {
14
14
}
15
15
16
16
kotlin {
17
- infra {
18
- // According to https://kotlinlang.org/docs/native-target-support.html
19
-
20
- // Tier 1
21
- target(" linuxX64" )
22
- target(" macosX64" )
23
- target(" macosArm64" )
24
- target(" iosSimulatorArm64" )
25
- target(" iosX64" )
26
-
27
- // Tier 2
28
- target(" linuxArm64" )
29
- target(" watchosSimulatorArm64" )
30
- target(" watchosX64" )
31
- target(" watchosArm32" )
32
- target(" watchosArm64" )
33
- target(" tvosSimulatorArm64" )
34
- target(" tvosX64" )
35
- target(" tvosArm64" )
36
- target(" iosArm64" )
37
-
38
- // Tier 3
39
- target(" androidNativeArm32" )
40
- target(" androidNativeArm64" )
41
- target(" androidNativeX86" )
42
- target(" androidNativeX64" )
43
- target(" mingwX64" )
44
- target(" watchosDeviceArm64" )
45
- }
17
+ applyDefaultHierarchyTemplate()
18
+
19
+ // According to https://kotlinlang.org/docs/native-target-support.html
20
+ // Tier 1
21
+ linuxX64()
22
+ macosX64()
23
+ macosArm64()
24
+ iosSimulatorArm64()
25
+ iosX64()
26
+
27
+ // Tier 2
28
+ linuxArm64()
29
+ watchosSimulatorArm64()
30
+ watchosX64()
31
+ watchosArm32()
32
+ watchosArm64()
33
+ tvosSimulatorArm64()
34
+ tvosX64()
35
+ tvosArm64()
36
+ iosArm64()
37
+
38
+ // Tier 3
39
+ androidNativeArm32()
40
+ androidNativeArm64()
41
+ androidNativeX86()
42
+ androidNativeX64()
43
+ mingwX64()
44
+ watchosDeviceArm64()
46
45
47
46
jvm {
48
47
compilations.all {
@@ -69,6 +68,26 @@ kotlin {
69
68
}
70
69
}
71
70
71
+ wasmJs {
72
+ nodejs {
73
+ testTask {
74
+ useMocha {
75
+ timeout = " 30000"
76
+ }
77
+ }
78
+ }
79
+ }
80
+
81
+ wasmWasi {
82
+ nodejs {
83
+ testTask {
84
+ useMocha {
85
+ timeout = " 30000"
86
+ }
87
+ }
88
+ }
89
+ }
90
+
72
91
sourceSets.all {
73
92
kotlin.setSrcDirs(listOf (" $name /src" ))
74
93
resources.setSrcDirs(listOf (" $name /resources" ))
@@ -100,6 +119,25 @@ kotlin {
100
119
val jsTest by getting {
101
120
}
102
121
122
+ val wasmMain by creating {
123
+ }
124
+ val wasmTest by creating {
125
+ }
126
+
127
+ val wasmJsMain by getting {
128
+ dependsOn(wasmMain)
129
+ }
130
+ val wasmJsTest by getting {
131
+ dependsOn(wasmTest)
132
+ }
133
+
134
+ val wasmWasiMain by getting {
135
+ dependsOn(wasmMain)
136
+ }
137
+ val wasmWasiTest by getting {
138
+ dependsOn(wasmTest)
139
+ }
140
+
103
141
val nativeMain by getting {
104
142
}
105
143
val nativeTest by getting {
@@ -111,4 +149,14 @@ tasks {
111
149
named(" jvmTest" , Test ::class ) {
112
150
maxHeapSize = " 1024m"
113
151
}
152
+ }
153
+
154
+ with (org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootPlugin .apply (rootProject)) {
155
+ nodeVersion = " 21.0.0-v8-canary202309167e82ab1fa2"
156
+ nodeDownloadBaseUrl = " https://nodejs.org/download/v8-canary"
157
+ }
158
+
159
+ // Drop this when node js version become stable
160
+ tasks.withType< org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask > ().configureEach {
161
+ args.add(" --ignore-engines" )
114
162
}
0 commit comments