63 lines
3.1 KiB
TOML
63 lines
3.1 KiB
TOML
[versions]
|
|
agp = "9.1.0"
|
|
kotlin = "2.4.10"
|
|
|
|
# AndroidX / Compose
|
|
coreKtx = "1.18.0"
|
|
lifecycle = "2.10.0"
|
|
activityCompose = "1.13.0"
|
|
# SAF backend: DocumentFile over a persisted tree URI.
|
|
documentfile = "1.1.0"
|
|
# Compose BOM 2026.06.01 -> Compose UI/foundation 1.11.4, material3 1.4.0.
|
|
# Newer BOMs (2026.08.00+) ship Compose 1.12.x, which requires compileSdk 37 —
|
|
# that is newer than what AGP 9.1.0 supports (36) and newer than the API level
|
|
# Google Play requires for targetSdk, so we deliberately stay on 1.11.4.
|
|
composeBom = "2026.06.01"
|
|
# Coil 3.6.x requires compileSdk 37; 3.5.0 requires 36.
|
|
coil = "3.5.0"
|
|
|
|
# Kotlin libraries
|
|
coroutines = "1.9.0"
|
|
|
|
# Archives. Commons Compress is pure Java (zip/tar/gzip/bzip2/xz, 7z read),
|
|
# so it adds no native code and therefore no NDK dependency to the build.
|
|
commonsCompress = "1.27.1"
|
|
|
|
# Testing
|
|
junit = "4.13.2"
|
|
robolectric = "4.17"
|
|
|
|
[libraries]
|
|
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
|
androidx-documentfile = { group = "androidx.documentfile", name = "documentfile", version.ref = "documentfile" }
|
|
|
|
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" }
|
|
androidx-lifecycle-runtime-compose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "lifecycle" }
|
|
androidx-lifecycle-viewmodel-compose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" }
|
|
|
|
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
|
|
|
|
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
|
|
androidx-compose-ui = { group = "androidx.compose.ui", name = "ui" }
|
|
androidx-compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
|
|
androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
|
|
androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
|
|
androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
|
|
androidx-compose-material-icons-core = { group = "androidx.compose.material", name = "material-icons-core" }
|
|
androidx-compose-material-icons-extended = { group = "androidx.compose.material", name = "material-icons-extended" }
|
|
|
|
kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" }
|
|
|
|
coil-compose = { group = "io.coil-kt.coil3", name = "coil-compose", version.ref = "coil" }
|
|
|
|
commons-compress = { group = "org.apache.commons", name = "commons-compress", version.ref = "commonsCompress" }
|
|
|
|
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
|
robolectric = { group = "org.robolectric", name = "robolectric", version.ref = "robolectric" }
|
|
|
|
[plugins]
|
|
android-application = { id = "com.android.application", version.ref = "agp" }
|
|
# NOTE: `org.jetbrains.kotlin.android` is intentionally absent — AGP 9.x provides
|
|
# built-in Kotlin support and applying that plugin is now an error.
|
|
kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|