Android SDK installed on this machine (cmdline-tools via brew; platform-tools + platforms;android-35 + build-tools;35.0.0), local.properties points Gradle at it (gitignored). Wired AGP 9.2.1 into the version catalog + google() repos; proved the full chain by building a throwaway android-library module against SDK 35 (AAR produced), then removed the probe. Groundwork for AW2+: AGP plugins in the catalog, google() in settings, and the working recipe in README (incl. the AGP-9-has-built-in-Kotlin gotcha — Android modules apply ONLY the android plugin, never kotlin.android). Pure JVM modules still green (218 tests). Framework module stubs stay gated until implemented.
43 lines
1.9 KiB
TOML
43 lines
1.9 KiB
TOML
## Version catalog — single source of truth for plugin & dependency versions.
|
|
## Pure JVM modules only (this env has NO Android SDK). See android/README.md.
|
|
## Kotlin pinned to 2.3.21 to match the Kotlin embedded in Gradle 9.6.1 (best
|
|
## compatibility with the Kotlin Gradle Plugin on Gradle 9.6).
|
|
|
|
[versions]
|
|
agp = "9.2.1"
|
|
kotlin = "2.3.21"
|
|
kotlinxSerialization = "1.9.0"
|
|
kotlinxCoroutines = "1.10.2"
|
|
junit = "5.13.4"
|
|
junitPlatform = "1.13.4"
|
|
turbine = "1.2.1"
|
|
mockk = "1.14.2"
|
|
|
|
[libraries]
|
|
# Serialization
|
|
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
|
|
|
|
# Coroutines
|
|
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutines" }
|
|
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinxCoroutines" }
|
|
|
|
# Test — JUnit5 (Jupiter)
|
|
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter", version.ref = "junit" }
|
|
junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher", version.ref = "junitPlatform" }
|
|
|
|
# Test — Flow assertions + mocking
|
|
turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" }
|
|
mockk = { module = "io.mockk:mockk", version.ref = "mockk" }
|
|
|
|
[bundles]
|
|
# Convenience bundle wired into every pure module's testImplementation.
|
|
unit-test = ["junit-jupiter", "kotlinx-coroutines-test", "turbine", "mockk"]
|
|
|
|
[plugins]
|
|
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
|
|
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
|
|
android-library = { id = "com.android.library", version.ref = "agp" }
|
|
android-application = { id = "com.android.application", version.ref = "agp" }
|
|
# NOTE: AGP 9+ has BUILT-IN Kotlin support — Android modules apply only the
|
|
# android plugin, NOT a separate org.jetbrains.kotlin.android (it errors out).
|