M0: project scaffold (Gradle 9.3.1 / AGP 9.1.0, Compose shell, storage permissions)
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
[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" }
|
||||
Vendored
BIN
Binary file not shown.
+7
@@ -0,0 +1,7 @@
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-all.zip
|
||||
networkTimeout=10000
|
||||
validateDistributionUrl=true
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
Reference in New Issue
Block a user