Moved all wasmJs to runningOnLinuxx in gradle, deleted unneded TODOS and dependencies

This commit is contained in:
kildishevps 2024-12-31 17:35:13 +03:00
parent f548a162e7
commit c5e91fc8ee
6 changed files with 67 additions and 113 deletions

View File

@ -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")

View File

@ -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)

View File

@ -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 {

View File

@ -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

View File

@ -22,7 +22,6 @@ object JsSodiumLoader {
}
// TODO: попробовать сделать из этого suspend вместо continuation
suspend fun load(): Unit = suspendCoroutine { continuation ->
if (!getSodiumLoaded()) {
_libsodiumPromise.then<JsAny?> {

View File

@ -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)
}