[versions] ## SDK Versions minSdk = "21" targetSdk = "34" compileSdk = "34" # Dependencies kotlin = "1.9.10" android-gradle-plugin = "8.1.1" ktlint-gradle = "11.6.0" compose = "1.5.2" composeCompiler = "1.5.3" android-desugaring = "2.0.3" androidx-core = "1.12.0" androidx-test-junit = "1.1.5" androidx-activity-compose = "1.7.2" androidx-lifecycle = "2.6.2" junit = "4.13.2" coroutines = "1.7.3" kotlinx-datetime = "0.4.1" ktor = "2.3.4" robolectric = "4.10.3" kermit = "2.0.1" skie = "0.5.0" koin = "3.5.0" multiplatformSettings = "1.0.0" turbine = "1.0.0" sqlDelight = "2.0.0" [libraries] android-desugaring = { module = "com.android.tools:desugar_jdk_libs", version.ref = "android-desugaring" } androidx-core = { module = "androidx.core:core-ktx", version.ref = "androidx-core" } androidx-lifecycle-runtime = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" } androidx-lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" } androidx-lifecycle-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" } androidx-test-junit = { module = "androidx.test.ext:junit-ktx", version.ref = "androidx-test-junit" } compose-compiler = { module = "androidx.compose.compiler:compiler", version.ref = "composeCompiler" } compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose" } compose-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose" } compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose" } compose-material = { module = "androidx.compose.material:material", version.ref = "compose" } compose-activity = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity-compose" } coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" } junit = { module = "junit:junit", version.ref = "junit" } koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" } koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" } koin-test = { module = "io.insert-koin:koin-test", version.ref = "koin" } kotlinx-dateTime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinx-datetime" } ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } ktor-client-ios = { module = "io.ktor:ktor-client-ios", version.ref = "ktor" } ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" } ktor-client-okHttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" } ktor-client-serialization = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } ktor-client-contentNegotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" } ktor-client-mock = { module = "io.ktor:ktor-client-mock", version.ref = "ktor" } multiplatformSettings-common = { module = "com.russhwolf:multiplatform-settings", version.ref = "multiplatformSettings" } multiplatformSettings-test = { module = "com.russhwolf:multiplatform-settings-test", version.ref = "multiplatformSettings" } roboelectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" } sqlDelight-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqlDelight" } sqlDelight-jvm = { module = "app.cash.sqldelight:sqlite-driver", version.ref = "sqlDelight" } sqlDelight-coroutinesExt = { module = "app.cash.sqldelight:coroutines-extensions", version.ref = "sqlDelight" } sqlDelight-native = { module = "app.cash.sqldelight:native-driver", version.ref = "sqlDelight" } sqlDelight-runtime = { module = "app.cash.sqldelight:runtime", version.ref = "sqlDelight" } touchlab-kermit = { module = "co.touchlab:kermit", version.ref = "kermit" } touchlab-kermit-simple = { module = "co.touchlab:kermit-simple", version.ref = "kermit" } touchlab-skie-annotations = { module = "co.touchlab.skie:configuration-annotations", version.ref = "skie" } turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" } kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" } [plugins] ktlint = { id = "org.jlleitschuh.gradle.ktlint", version.ref = "ktlint-gradle" } kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } sqlDelight = { id = "app.cash.sqldelight", version.ref = "sqlDelight" } android-library = { id = "com.android.library", version.ref = "android-gradle-plugin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } skie = { id = "co.touchlab.skie", version.ref = "skie" } [bundles] app-ui = [ "compose-compiler", "androidx-core", "androidx-lifecycle-runtime", "androidx-lifecycle-viewmodel", "androidx-lifecycle-compose", "compose-ui", "compose-tooling", "compose-foundation", "compose-material", "compose-activity" ] ktor-common = ["ktor-client-core", "ktor-client-logging", "ktor-client-serialization", "ktor-client-contentNegotiation"] shared-commonTest = [ "kotlin-test", "multiplatformSettings-test", "koin-test", "turbine", "coroutines-test", "ktor-client-mock" ] shared-androidTest = [ "androidx-test-junit", "coroutines-test", "roboelectric", "sqlDelight-jvm" ]