summaryrefslogtreecommitdiff
path: root/gradle/libs.versions.toml
diff options
context:
space:
mode:
Diffstat (limited to 'gradle/libs.versions.toml')
-rw-r--r--gradle/libs.versions.toml45
1 files changed, 45 insertions, 0 deletions
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
new file mode 100644
index 0000000..c4351b6
--- /dev/null
+++ b/gradle/libs.versions.toml
@@ -0,0 +1,45 @@
+# versions are pinned to a mutually-compatible set.
+# refs:
+# kotlin 2.4.21 supports gradle 7.6.3–9.7.0 and agp 8.5.2–9.3.1
+# agp 9.3.x needs gradle >= 9.5.0, jdk 17 (use jdk 21: lint on 17 is broken until agp 9.3.2)
+# compose multiplatform 1.12.1 tracks jetpack compose 1.12.1, wants compileSdk 37
+# agp 9 requires the android entry point and the kmp module to be separate modules
+
+[versions]
+kotlin = "2.4.21"
+agp = "9.3.1"
+compose-multiplatform = "1.12.1"
+# material3 versions on their own line now, separate from compose-multiplatform
+compose-material3 = "1.9.0"
+
+# androidx / kotlinx
+androidx-activityCompose = "1.13.0"
+kotlinx-coroutines = "1.11.0"
+kotlinx-serialization = "1.11.0"
+
+# android sdk
+android-compileSdk = "37"
+android-minSdk = "24"
+android-targetSdk = "37"
+
+[libraries]
+# compose artifacts are specified directly (the `compose.*` gradle accessors
+# are deprecated in compose multiplatform 1.12).
+compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "compose-multiplatform" }
+compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "compose-multiplatform" }
+compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "compose-multiplatform" }
+compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "compose-material3" }
+
+kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
+kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" }
+kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
+androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" }
+
+[plugins]
+kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
+kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
+kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
+androidApplication = { id = "com.android.application", version.ref = "agp" }
+androidMultiplatformLibrary = { id = "com.android.kotlin.multiplatform.library", version.ref = "agp" }
+composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "compose-multiplatform" }
+composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }