Skip to content

Commit 66fc048

Browse files
authored
Add Wasm-Wasi target to Okio integration. (#2727)
Initially, Okio 3.6.0 did not have wasi target, so we excluded it while setting up Wasm. Since we now use Okio 3.9.0, we can provide Wasm-wasi too.
1 parent c75b46d commit 66fc048

File tree

4 files changed

+14
-21
lines changed

4 files changed

+14
-21
lines changed

buildSrc/src/main/kotlin/source-sets-conventions.gradle.kts

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,6 @@ tasks.withType<JavaCompile>().configureEach {
2525
options.release = 8
2626
}
2727

28-
// Unfortunately there is no compatible version of okio for Wasm WASI target, so we need to skip to configure WASI for json-okio and json-tests.
29-
// json-tests uses okio with incorporate with other formatter tests so it is hard and not worth to separate it for two projects for WASI.
30-
// So we disable WASI target in it and we hope, that WASI version of compiler and serialization plugin are identical to the WasmJS target so WASI target is being covered.
31-
val isOkIoOrFormatTests = (name == "kotlinx-serialization-json-okio" || name == "kotlinx-serialization-json-tests")
32-
3328
kotlin {
3429
explicitApi()
3530

@@ -63,10 +58,8 @@ kotlin {
6358
nodejs()
6459
}
6560

66-
if (!isOkIoOrFormatTests) {
67-
wasmWasi {
68-
nodejs()
69-
}
61+
wasmWasi {
62+
nodejs()
7063
}
7164

7265
sourceSets.all {
@@ -140,19 +133,17 @@ kotlin {
140133
}
141134
}
142135

143-
if (!isOkIoOrFormatTests) {
144-
named("wasmWasiMain") {
145-
dependsOn(named("wasmMain").get())
146-
dependencies {
147-
api("org.jetbrains.kotlin:kotlin-stdlib-wasm-wasi")
148-
}
136+
named("wasmWasiMain") {
137+
dependsOn(named("wasmMain").get())
138+
dependencies {
139+
api("org.jetbrains.kotlin:kotlin-stdlib-wasm-wasi")
149140
}
141+
}
150142

151-
named("wasmWasiTest") {
152-
dependsOn(named("wasmTest").get())
153-
dependencies {
154-
api("org.jetbrains.kotlin:kotlin-test-wasm-wasi")
155-
}
143+
named("wasmWasiTest") {
144+
dependsOn(named("wasmTest").get())
145+
dependencies {
146+
api("org.jetbrains.kotlin:kotlin-test-wasm-wasi")
156147
}
157148
}
158149
}

formats/json-okio/api/kotlinx-serialization-json-okio.klib.api

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// Klib ABI Dump
2-
// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64]
2+
// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, linuxArm64, linuxX64, macosArm64, macosX64, mingwX64, tvosArm64, tvosSimulatorArm64, tvosX64, wasmJs, wasmWasi, watchosArm32, watchosArm64, watchosSimulatorArm64, watchosX64]
33
// Rendering settings:
44
// - Signature version: 2
55
// - Show manifest properties: true

gradle/artifacts.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ kotlinx-serialization-json-okio-tvosarm64
109109
kotlinx-serialization-json-okio-tvossimulatorarm64
110110
kotlinx-serialization-json-okio-tvosx64
111111
kotlinx-serialization-json-okio-wasm-js
112+
kotlinx-serialization-json-okio-wasm-wasi
112113
kotlinx-serialization-json-okio-watchosarm32
113114
kotlinx-serialization-json-okio-watchosarm64
114115
kotlinx-serialization-json-okio-watchossimulatorarm64

integration-test/build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ kotlin {
6868
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$serialization_version")
6969
// To check that all expected artifacts are resolvable:
7070
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json-io:$serialization_version")
71+
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json-okio:$serialization_version")
7172
implementation("org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$serialization_version")
7273
implementation("org.jetbrains.kotlinx:kotlinx-serialization-cbor:$serialization_version")
7374
}

0 commit comments

Comments
 (0)