Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

127 lines
5.4 KiB
TOML

[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"
]