plugins { alias(libs.plugins.kotlinMultiplatform) alias(libs.plugins.androidLibrary) alias(libs.plugins.sqldelight) } kotlin { jvmToolchain(11) jvm() js { moduleName = "BankingPersistence" binaries.executable() browser() } androidTarget { } listOf( iosX64(), iosArm64(), iosSimulatorArm64() ).forEach { iosTarget -> iosTarget.binaries.framework { baseName = "BankingPersistence" isStatic = true } } applyDefaultHierarchyTemplate() sourceSets { commonMain.dependencies { implementation(libs.banking.client.model) implementation(libs.fints4k.banking.client) implementation(libs.kotlinx.datetime) implementation(libs.sqldelight.runtime) implementation(libs.sqldelight.coroutines.extensions) implementation(libs.sqldelight.paging.extensions) implementation(libs.klf) } commonTest.dependencies { implementation(libs.kotlin.test) implementation(libs.coroutines.test) } jvmMain.dependencies { implementation(libs.sqldelight.sqlite.driver) } jvmTest.dependencies { implementation(libs.kotlin.test.junit) } androidMain.dependencies { implementation(libs.sqldelight.android.driver) } iosMain.dependencies { implementation(libs.sqldelight.native.driver) } } } sqldelight { databases { create("BankmeisterDb") { packageName.set("net.codinux.banking.persistence") generateAsync = true schemaOutputDirectory = file("src/commonMain/sqldelight/databases") } } } android { namespace = "net.codinux.banking.persistence" compileSdk = libs.versions.android.compileSdk.get().toInt() // sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles("consumer-rules.pro") } buildTypes { release { isMinifyEnabled = false // proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } }