Release 0.9.0-SNAPSHOT with concealed KMP transports

This commit is contained in:
sergeych committed 2026-10-22 02:41:08 +04:00
1 parent 009d62a155
commit 73a785d45c
55 files changed
+6051 -25

No files matched your search

+27 -5
View File
@@ -9,17 +9,18 @@
*/
import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType
plugins {
kotlin("multiplatform") version "2.2.21"
id("org.jetbrains.kotlin.plugin.serialization") version "2.2.21"
kotlin("multiplatform") version "2.4.0"
id("org.jetbrains.kotlin.plugin.serialization") version "2.4.0"
id("com.android.library") version "8.7.2" apply true
`maven-publish`
id("org.jetbrains.dokka") version "2.2.0"
}
group = "net.sergeych"
version = "0.8.0"
version = "0.9.0-SNAPSHOT"
repositories {
google()
@@ -40,7 +41,15 @@ kotlin {
testTask { useMocha { timeout = "30s" } }
}
}
linuxX64()
linuxX64 {
// Explicit qualification binary: do not add optimized test linking to ordinary builds.
if (providers.gradleProperty("concealedNativeBenchmark").map(String::toBoolean).getOrElse(false)) {
binaries.test("concealedBenchmark", listOf(NativeBuildType.RELEASE))
testRuns.create("concealedBenchmark") {
setExecutionSourceFrom(binaries.getTest("concealedBenchmark", NativeBuildType.RELEASE))
}
}
}
linuxArm64()
macosArm64()
@@ -75,7 +84,9 @@ kotlin {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.10.2")
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")
api("io.ktor:ktor-client-core:$ktor_version")
api("net.sergeych:crypto2:0.9.0")
api("net.sergeych:crypto2:0.9.6-SNAPSHOT")
// Existing crypto backend, directly used by the experimental concealed channel.
implementation("net.sergeych:multiplatform-crypto-libsodium-bindings:0.9.6")
}
}
val androidMain by getting {
@@ -204,3 +215,14 @@ tasks.register<Exec>("typescriptTest") {
workingDir(layout.projectDirectory.dir("typescript"))
commandLine("npm", "test")
}
// The current libsodium binding captures _sodium_init during module loading.
// 0.7.16 exports it only after ready; pin the compatible transitive JS/Wasm runtime.
rootProject.plugins.withType<org.jetbrains.kotlin.gradle.targets.js.yarn.YarnPlugin> {
rootProject.the<org.jetbrains.kotlin.gradle.targets.js.yarn.YarnRootExtension>()
.resolution("libsodium-sumo", "0.7.15")
}
rootProject.plugins.withType<org.jetbrains.kotlin.gradle.targets.wasm.yarn.WasmYarnPlugin> {
rootProject.the<org.jetbrains.kotlin.gradle.targets.wasm.yarn.WasmYarnRootExtension>()
.resolution("libsodium-sumo", "0.7.15")
}