@file:OptIn(ExperimentalWasmDsl::class) import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.kotlinSerialization) alias(libs.plugins.sqldelight) } group = "at.mocode.frontend.core" version = "1.0.0" kotlin { jvm() wasmJs { binaries.library() browser { testTask { enabled = false } } } sourceSets { commonMain.dependencies { implementation(libs.koin.core) implementation(libs.bundles.kmp.common) implementation(libs.sqldelight.runtime) implementation(libs.sqldelight.coroutines) } jvmMain.dependencies { implementation(libs.sqldelight.driver.sqlite) } jvmTest.dependencies { implementation(libs.kotlin.test) } wasmJsMain.dependencies { implementation(libs.kotlin.stdlib.wasm.js) implementation(libs.sqldelight.driver.web) implementation(npm("@sqlite.org/sqlite-wasm", libs.versions.sqliteWasm.get())) } wasmJsTest.dependencies { implementation(libs.kotlin.test) } commonTest.dependencies { implementation(libs.kotlin.test) } } } sqldelight { databases { create("AppDatabase") { packageName.set("at.mocode.frontend.core.localdb") generateAsync.set(true) // Workaround für SQLite-Temp-Verzeichnis Issue auf Windows verifyMigrations.set(false) } } } // Workaround für SQLite-Temp-Verzeichnis Issue auf Windows. Das Plugin generiert dynamisch Tasks. // lazy task configuration avoids cache issues and intercepts dynamic tasks tasks.configureEach { if (name.contains("verify", ignoreCase = true) && name.contains("Migration", ignoreCase = true)) { enabled = false } }