build.gradle.kts (2209B)
1 import org.jetbrains.kotlin.gradle.dsl.JvmTarget 2 3 plugins { 4 alias(libs.plugins.kotlinMultiplatform) 5 alias(libs.plugins.androidLibrary) 6 alias(libs.plugins.composeMultiplatform) 7 alias(libs.plugins.composeCompiler) 8 alias(libs.plugins.kotlinSerialization) 9 alias(libs.plugins.sqldelight) 10 } 11 12 kotlin { 13 androidTarget { 14 compilerOptions { jvmTarget.set(JvmTarget.JVM_17) } 15 } 16 17 listOf(iosX64(), iosArm64(), iosSimulatorArm64()).forEach { 18 it.binaries.framework { 19 baseName = "ComposeApp" 20 isStatic = true 21 } 22 } 23 24 sourceSets { 25 commonMain.dependencies { 26 implementation(compose.runtime) 27 implementation(compose.foundation) 28 implementation(compose.material3) 29 implementation(compose.ui) 30 implementation(compose.materialIconsExtended) 31 32 implementation(libs.kotlinx.coroutines.core) 33 implementation(libs.sqldelight.runtime) 34 implementation(libs.sqldelight.coroutines) 35 implementation(libs.kotlinx.serialization.json) 36 } 37 commonTest.dependencies { 38 implementation(kotlin("test")) 39 } 40 androidMain.dependencies { 41 implementation(libs.kotlinx.coroutines.android) 42 implementation(libs.sqldelight.android) 43 implementation(libs.exoplayer) 44 implementation(libs.activity.compose) 45 } 46 androidUnitTest.dependencies { 47 implementation(libs.sqldelight.jvm) 48 implementation(libs.kotlinx.coroutines.test) 49 } 50 iosMain.dependencies { 51 implementation(libs.sqldelight.native) 52 } 53 } 54 } 55 56 android { 57 namespace = "ubi2.sonodrill" 58 compileSdk = 35 59 defaultConfig { minSdk = 26 } 60 // PlayerViewModel tests run on the JVM: Android calls (waveform) return defaults 61 testOptions { unitTests.isReturnDefaultValues = true } 62 compileOptions { 63 sourceCompatibility = JavaVersion.VERSION_17 64 targetCompatibility = JavaVersion.VERSION_17 65 } 66 } 67 68 sqldelight { 69 databases { 70 create("SonodrillDatabase") { 71 packageName.set("ubi2.sonodrill.data") 72 } 73 } 74 }