From c5e91fc8eed03af1af603c16ec0f6b676c073b26 Mon Sep 17 00:00:00 2001 From: kildishevps Date: Tue, 31 Dec 2024 17:35:13 +0300 Subject: [PATCH] Moved all wasmJs to runningOnLinuxx in gradle, deleted unneded TODOS and dependencies --- buildSrc/src/main/kotlin/Deps.kt | 9 +-- multiplatform-crypto-api/build.gradle.kts | 49 ++++++------- .../build.gradle.kts | 70 +++++++++---------- .../kotlin/crypto/JsSodiumInterface.kt | 3 - .../ionspin/kotlin/crypto/JsSodiumLoader.kt | 1 - sample/build.gradle.kts | 48 ++++--------- 6 files changed, 67 insertions(+), 113 deletions(-) diff --git a/buildSrc/src/main/kotlin/Deps.kt b/buildSrc/src/main/kotlin/Deps.kt index 5b8d02d..66f7f34 100644 --- a/buildSrc/src/main/kotlin/Deps.kt +++ b/buildSrc/src/main/kotlin/Deps.kt @@ -16,6 +16,7 @@ object Versions { val kotlinCoroutines = "1.8.0" + val kotlinCoroutinesTest = "1.9.0" val kotlin = "2.0.21" val kotlinSerialization = "1.6.3" val kotlinSerializationPlugin = kotlin @@ -46,6 +47,7 @@ object Deps { val test = "test-common" val testAnnotation = "test-annotations-common" val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.kotlinCoroutines}" + val coroutinesTest = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.kotlinCoroutinesTest}" val serialization = "org.jetbrains.kotlinx:kotlinx-serialization-json:${Versions.kotlinSerialization}" val kotlinBigNum = "com.ionspin.kotlin:bignum:${Versions.kotlinBigNumVersion}" @@ -73,13 +75,6 @@ object Deps { } object wasmJs { -// val stdLib = "stdlib-wasm" -// val test = "test-wasm" - // TODO: написано от балды \/ -// val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:${Versions.kotlinCoroutines}" -// val serialization = "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:${Versions.kotlinSerialization}" - - object Npm { val libsodiumWrappers = Pair("libsodium-wrappers-sumo", "0.7.13") diff --git a/multiplatform-crypto-api/build.gradle.kts b/multiplatform-crypto-api/build.gradle.kts index 423c93a..0956baa 100644 --- a/multiplatform-crypto-api/build.gradle.kts +++ b/multiplatform-crypto-api/build.gradle.kts @@ -41,18 +41,6 @@ kotlin { runningOnLinuxx86_64 { jvm() - // TODO: wasm тут копирует не апишный, если поменялся тот, то поменять и тут - @OptIn(ExperimentalWasmDsl::class) - wasmJs { - browser { - testTask { - useKarma { - useChrome() - } - } - } - } - js(IR) { browser { testTask { @@ -71,6 +59,16 @@ kotlin { } } + @OptIn(ExperimentalWasmDsl::class) + wasmJs { + browser { + testTask { + useKarma { + useChrome() + } + } + } + } linuxX64("linux") { binaries { staticLib { @@ -126,6 +124,8 @@ kotlin { dependencies { implementation(kotlin(Deps.Common.test)) implementation(kotlin(Deps.Common.testAnnotation)) + implementation(Deps.Common.coroutinesTest) + implementation(kotlin("test")) } } @@ -154,24 +154,17 @@ kotlin { implementation(kotlin(Deps.Js.test)) } } - } - - // TODO: может сунуть обратно в ранинг онг линукс, как и то, что выше - val wasmJsMain by getting { - dependencies { - // implementation(kotlin(Deps.wasmJs.stdLib)) - implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) + val wasmJsMain by getting { + dependencies { + implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) + } + } + val wasmJsTest by getting { + dependencies { + implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) + } } } - val wasmJsTest by getting { - dependencies { - implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0") - - implementation(kotlin("test")) - } - } - runningOnMacos { val tvosX64Main by getting { dependsOn(commonMain) diff --git a/multiplatform-crypto-libsodium-bindings/build.gradle.kts b/multiplatform-crypto-libsodium-bindings/build.gradle.kts index bbe7b7b..8698438 100644 --- a/multiplatform-crypto-libsodium-bindings/build.gradle.kts +++ b/multiplatform-crypto-libsodium-bindings/build.gradle.kts @@ -18,6 +18,7 @@ @file:Suppress("UnstableApiUsage") import org.gradle.api.tasks.testing.logging.TestExceptionFormat +import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest import org.jetbrains.kotlin.gradle.targets.native.tasks.KotlinNativeTest @@ -88,20 +89,11 @@ kotlin { } jvm() + val projectRef = project runningOnLinuxx86_64 { println("Configuring Linux X86-64 targets") - wasmJs { - browser { - testTask { - useKarma { - useChromeHeadless() - } - } - } - } - js { browser { testTask { @@ -119,6 +111,18 @@ kotlin { } } + + @OptIn(ExperimentalWasmDsl::class) + wasmJs { + browser { + testTask { + useKarma { + useChrome() + } + } + } + } + linuxX64() { compilations.getByName("main") { val libsodiumCinterop by cinterops.creating { @@ -302,10 +306,8 @@ kotlin { implementation(kotlin(Deps.Common.test)) implementation(kotlin(Deps.Common.testAnnotation)) implementation(Deps.Common.coroutines) - -// implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0") + implementation(Deps.Common.coroutinesTest) implementation(kotlin("test")) -// implementation(kotlin("test-junit")) } } @@ -331,24 +333,6 @@ kotlin { } } - // TODO: это скопипасчено с блока runningOnLinuxx86_64 (примерно 590 строка) - val wasmJsMain by getting { - dependencies { - // implementation(kotlin(Deps.wasmJs.stdLib)) - implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) - } - } - val wasmJsTest by getting { - dependencies { - dependsOn(commonTest) - implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0") - - implementation(kotlin("test")) - } - } - - //Set up shared source sets //linux, linuxArm32Hfp, linuxArm64 val linux64Bit = setOf( @@ -600,6 +584,17 @@ kotlin { implementation(npm(Deps.Js.Npm.libsodiumWrappers.first, Deps.Js.Npm.libsodiumWrappers.second)) } } + val wasmJsMain by getting { + dependencies { + implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) + } + } + val wasmJsTest by getting { + dependencies { + implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) + implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0") + } + } val linuxX64Main by getting { isRunningInIdea { kotlin.srcDir("src/nativeMain/kotlin") @@ -738,13 +733,12 @@ tasks { // } // } - // TODO: ваще не жс тест, помогите - val wasmJsBrowserTest by getting(KotlinJsTest::class) { - testLogging { - events("PASSED", "FAILED", "SKIPPED") - showStandardStreams = true - } - } +// val wasmJsBrowserTest by getting(KotlinJsTest::class) { +// testLogging { +// events("PASSED", "FAILED", "SKIPPED") +// showStandardStreams = true +// } +// } val jsBrowserTest by getting(KotlinJsTest::class) { testLogging { diff --git a/multiplatform-crypto-libsodium-bindings/src/wasmJsMain/kotlin/com/ionspin/kotlin/crypto/JsSodiumInterface.kt b/multiplatform-crypto-libsodium-bindings/src/wasmJsMain/kotlin/com/ionspin/kotlin/crypto/JsSodiumInterface.kt index 37af828..8260758 100644 --- a/multiplatform-crypto-libsodium-bindings/src/wasmJsMain/kotlin/com/ionspin/kotlin/crypto/JsSodiumInterface.kt +++ b/multiplatform-crypto-libsodium-bindings/src/wasmJsMain/kotlin/com/ionspin/kotlin/crypto/JsSodiumInterface.kt @@ -97,9 +97,6 @@ external object JsSodiumInterface: JsAny { @JsName("crypto_secretstream_xchacha20poly1305_init_push") fun crypto_secretstream_xchacha20poly1305_init_push(key: Uint8Array) : SecretStreamStateAndHeaderType @JsName("crypto_secretstream_xchacha20poly1305_push") - // TODO: два варианта: \/ - // 1. Меняем юбайт на байт и юинт на инт \/ - // 2. Меняем юбайт на инт и юинт на лонг \/ и далее по списку fun crypto_secretstream_xchacha20poly1305_push(state: SecretStreamStateType, message: Uint8Array, associatedData: Uint8Array, tag: Byte) : Uint8Array //decrypt diff --git a/multiplatform-crypto-libsodium-bindings/src/wasmJsMain/kotlin/com/ionspin/kotlin/crypto/JsSodiumLoader.kt b/multiplatform-crypto-libsodium-bindings/src/wasmJsMain/kotlin/com/ionspin/kotlin/crypto/JsSodiumLoader.kt index ec7306b..183bb85 100644 --- a/multiplatform-crypto-libsodium-bindings/src/wasmJsMain/kotlin/com/ionspin/kotlin/crypto/JsSodiumLoader.kt +++ b/multiplatform-crypto-libsodium-bindings/src/wasmJsMain/kotlin/com/ionspin/kotlin/crypto/JsSodiumLoader.kt @@ -22,7 +22,6 @@ object JsSodiumLoader { } - // TODO: попробовать сделать из этого suspend вместо continuation suspend fun load(): Unit = suspendCoroutine { continuation -> if (!getSodiumLoaded()) { _libsodiumPromise.then { diff --git a/sample/build.gradle.kts b/sample/build.gradle.kts index 92311bc..a70eb0a 100644 --- a/sample/build.gradle.kts +++ b/sample/build.gradle.kts @@ -81,7 +81,6 @@ kotlin { binaries.executable() } - @OptIn(ExperimentalWasmDsl::class) wasmJs { browser { @@ -95,24 +94,7 @@ kotlin { } } binaries.executable() -// browser { -// val rootDirPath = project.rootDir.path -// val projectDirPath = project.projectDir.path -// commonWebpackConfig { -// outputFileName = "composeApp.js" -// devServer = (devServer ?: KotlinWebpackConfig.DevServer()).apply { -//// static = (static ?: mutableListOf()).apply { -//// // Serve sources to debug inside browser -//// add(rootDirPath) -//// add(projectDirPath) -//// } -// } -// } -// } -// binaries.executable() } - - linuxX64("linux") { binaries { executable { @@ -213,6 +195,8 @@ kotlin { dependencies { implementation(kotlin(Deps.Common.test)) implementation(kotlin(Deps.Common.testAnnotation)) + implementation(Deps.Common.coroutinesTest) + implementation(kotlin("test")) } } @@ -237,23 +221,6 @@ kotlin { } } - val wasmJsMain by getting { - dependencies { - // implementation(kotlin(Deps.wasmJs.stdLib)) - implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) - } - } - val wasmJsTest by getting { - dependencies { - implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) - implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0") - - implementation(kotlin("test")) - } - } - - - // val nativeMain by creating { // dependsOn(commonMain) // dependencies { @@ -327,7 +294,16 @@ kotlin { implementation(kotlin(Deps.Js.test)) } } - + val wasmJsMain by getting { + dependencies { + implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) + } + } + val wasmJsTest by getting { + dependencies { + implementation(npm(Deps.wasmJs.Npm.libsodiumWrappers.first, Deps.wasmJs.Npm.libsodiumWrappers.second)) + } + } val linuxMain by getting { dependsOn(nativeMain) }