2025-02-24 18:42:37 -06:00
[ versions ]
2026-04-01 16:48:57 -05:00
xmlutil = "0.91.3"
2026-04-01 15:21:25 -05:00
2025-09-15 16:48:27 -05:00
# Android
2026-03-03 16:14:21 +00:00
agp = "9.1.0"
2025-06-04 20:01:50 +00:00
appcompat = "1.7.1"
2025-09-15 16:48:27 -05:00
accompanist = "0.37.3"
# androidx
2026-03-25 16:36:59 -05:00
androidxTracing = "1.10.6"
2026-03-12 09:55:10 -05:00
datastore = "1.2.1"
2026-02-25 13:39:00 -06:00
glance = "1.2.0-rc01"
2025-11-19 12:49:03 -06:00
lifecycle = "2.10.0"
2026-03-26 08:52:16 -05:00
jetbrains-lifecycle = "2.11.0-alpha02"
2026-03-26 09:08:36 -05:00
navigation3 = "1.1.0-beta01"
2026-03-22 00:42:27 -05:00
navigationevent = "1.1.0-alpha01"
2026-03-12 13:53:02 +00:00
paging = "3.4.2"
2026-04-09 12:07:54 +00:00
room = "3.0.0-alpha03"
2026-04-09 12:26:31 -05:00
koin = "4.2.1"
2026-04-04 05:51:01 -05:00
koin-plugin = "0.6.2"
2025-09-15 16:48:27 -05:00
# Kotlin
2026-03-16 08:07:41 -05:00
kotlin = "2.3.20"
2025-09-15 16:48:27 -05:00
kotlinx-coroutines-android = "1.10.2"
2026-03-06 16:35:31 -06:00
kotlinx-datetime = "0.7.1-0.6.x-compat"
2026-04-09 13:37:47 -05:00
kotlinx-serialization = "1.11.0"
2025-12-10 14:30:52 -06:00
ktlint = "1.7.1"
2026-04-01 07:14:26 -05:00
ktfmt = "0.61"
2026-03-25 16:36:47 -05:00
kover = "0.9.8"
2026-03-18 18:33:37 -05:00
mokkery = "3.3.0"
2026-04-03 09:08:03 -05:00
junit5 = "6.0.3"
2026-04-03 09:09:57 -05:00
junit-platform = "6.0.3" # aligned with junit5 — JUnit Platform uses 1.x scheme
2026-04-04 13:43:51 -05:00
kotest = "6.1.11"
2026-02-01 12:03:17 -06:00
testRetry = "1.6.4"
2026-03-02 18:34:13 -06:00
turbine = "1.2.1"
2025-09-15 16:48:27 -05:00
2025-12-28 07:47:12 -06:00
# Compose Multiplatform
2026-03-26 10:18:45 -05:00
compose-multiplatform = "1.11.0-beta01"
compose-multiplatform-material3 = "1.11.0-alpha05"
2026-03-12 16:45:20 -05:00
jetbrains-adaptive = "1.3.0-alpha06"
2025-12-28 07:47:12 -06:00
2025-09-15 16:48:27 -05:00
# Google
2026-03-17 22:18:02 -05:00
maps-compose = "8.2.2"
2025-09-15 16:48:27 -05:00
2026-02-05 22:16:16 -06:00
# ML Kit
mlkit-barcode-scanning = "17.3.0"
# CameraX
2026-03-25 12:59:25 -05:00
camerax = "1.6.0"
2026-02-05 22:16:16 -06:00
2025-09-15 16:48:27 -05:00
# Networking
2026-03-27 11:49:00 -05:00
ktor = "3.4.2"
2025-09-15 16:48:27 -05:00
# Other
2026-04-09 18:44:23 -05:00
aboutlibraries = "14.0.1"
2026-03-18 08:28:25 -05:00
jserialcomm = "2.11.4"
2026-02-24 22:12:23 -06:00
coil = "3.4.0"
2026-04-09 07:07:43 -05:00
datadog-gradle = "1.25.0"
2026-03-18 19:00:41 +00:00
dd-sdk-android = "3.8.0"
2025-09-15 16:48:27 -05:00
detekt = "1.23.8"
2026-03-26 08:16:35 -05:00
dokka = "2.2.0"
2026-02-17 18:37:26 -06:00
devtools-ksp = "2.3.6"
2026-04-09 18:44:08 -05:00
firebase-crashlytics-gradle = "3.0.7"
2026-03-17 15:35:39 -05:00
google-services-gradle = "4.4.4"
2026-04-09 07:07:49 -05:00
markdownRenderer = "0.40.2"
2026-03-12 14:14:42 +00:00
okio = "3.17.0"
2025-05-23 12:47:46 -05:00
osmdroid-android = "6.1.20"
2026-03-18 16:24:59 -05:00
spotless = "8.4.0"
2026-03-26 21:45:01 -05:00
wire = "6.2.0"
2026-04-09 12:08:13 +00:00
vico = "3.1.0"
2026-02-03 18:01:12 -06:00
dependency-guard = "0.5.0"
2026-03-16 18:06:43 -05:00
kable = "0.42.0"
2026-03-18 13:39:20 -05:00
kmqtt = "1.0.0"
2026-03-19 12:36:36 -05:00
jmdns = "3.6.3"
2026-03-19 13:39:11 -05:00
qrcode-kotlin = "4.5.0"
2025-02-24 18:42:37 -06:00
[ libraries ]
2026-04-01 15:21:25 -05:00
xmlutil-core = { module = "io.github.pdvrieze.xmlutil:core" , version . ref = "xmlutil" }
xmlutil-serialization = { module = "io.github.pdvrieze.xmlutil:serialization" , version . ref = "xmlutil" }
2025-09-15 16:48:27 -05:00
# AndroidX
2026-03-12 13:53:02 +00:00
androidx-activity-compose = { module = "androidx.activity:activity-compose" , version = "1.13.0" }
2026-04-09 07:07:36 -05:00
androidx-annotation = { module = "androidx.annotation:annotation" , version = "1.10.0" }
2025-10-06 23:51:32 -04:00
androidx-appcompat = { module = "androidx.appcompat:appcompat" , version . ref = "appcompat" }
2026-02-05 22:16:16 -06:00
androidx-camera-core = { module = "androidx.camera:camera-core" , version . ref = "camerax" }
androidx-camera-camera2 = { module = "androidx.camera:camera-camera2" , version . ref = "camerax" }
androidx-camera-lifecycle = { module = "androidx.camera:camera-lifecycle" , version . ref = "camerax" }
androidx-camera-view = { module = "androidx.camera:camera-view" , version . ref = "camerax" }
androidx-camera-compose = { module = "androidx.camera:camera-compose" , version . ref = "camerax" }
2026-03-25 12:59:25 -05:00
androidx-camera-viewfinder-compose = { module = "androidx.camera.viewfinder:viewfinder-compose" , version = "1.6.0" }
2026-03-12 13:53:02 +00:00
androidx-core-ktx = { module = "androidx.core:core-ktx" , version = "1.18.0" }
androidx-core-location-altitude = { module = "androidx.core:core-location-altitude" , version = "1.0.0-rc01" }
2025-11-05 18:42:22 +00:00
androidx-core-splashscreen = { module = "androidx.core:core-splashscreen" , version = "1.2.0" }
2025-10-06 23:51:32 -04:00
androidx-datastore = { module = "androidx.datastore:datastore" , version . ref = "datastore" }
androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences" , version . ref = "datastore" }
2026-02-25 13:39:00 -06:00
androidx-glance-appwidget = { module = "androidx.glance:glance-appwidget" , version . ref = "glance" }
androidx-glance-appwidget-preview = { module = "androidx.glance:glance-appwidget-preview" , version . ref = "glance" }
androidx-glance-preview = { module = "androidx.glance:glance-preview" , version . ref = "glance" }
androidx-glance-material3 = { module = "androidx.glance:glance-material3" , version . ref = "glance" }
2026-03-26 10:18:45 -05:00
# Android-only lifecycle — no KMP equivalent (use only in androidMain / androidHostTest)
# lifecycle-runtime-ktx dropped: KTX extensions merged into lifecycle-runtime since 2.8.0;
# use jetbrains-lifecycle-runtime (JB KMP fork) instead.
2026-02-11 14:53:25 -06:00
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process" , version . ref = "lifecycle" }
2026-02-20 06:41:52 -06:00
androidx-lifecycle-testing = { module = "androidx.lifecycle:lifecycle-runtime-testing" , version . ref = "lifecycle" }
2026-03-13 18:01:17 -05:00
# JetBrains KMP lifecycle (use in commonMain and androidMain)
jetbrains-lifecycle-runtime = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime" , version . ref = "jetbrains-lifecycle" }
jetbrains-lifecycle-runtime-compose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose" , version . ref = "jetbrains-lifecycle" }
jetbrains-lifecycle-viewmodel-compose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose" , version . ref = "jetbrains-lifecycle" }
jetbrains-lifecycle-viewmodel-navigation3 = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-navigation3" , version . ref = "jetbrains-lifecycle" }
jetbrains-navigation3-ui = { module = "org.jetbrains.androidx.navigation3:navigation3-ui" , version . ref = "navigation3" }
2026-03-21 18:19:13 -05:00
jetbrains-navigationevent-compose = { module = "org.jetbrains.androidx.navigationevent:navigationevent-compose" , version . ref = "navigationevent" }
2025-11-24 06:14:05 -08:00
androidx-paging-common = { module = "androidx.paging:paging-common" , version . ref = "paging" }
androidx-paging-compose = { module = "androidx.paging:paging-compose" , version . ref = "paging" }
2026-03-20 16:40:08 -05:00
androidx-room-compiler = { module = "androidx.room3:room3-compiler" , version . ref = "room" }
androidx-room-paging = { module = "androidx.room3:room3-paging" , version . ref = "room" }
androidx-room-runtime = { module = "androidx.room3:room3-runtime" , version . ref = "room" }
androidx-room-testing = { module = "androidx.room3:room3-testing" , version . ref = "room" }
2026-03-20 17:42:00 -05:00
androidx-sqlite-bundled = { module = "androidx.sqlite:sqlite-bundled" , version = "2.6.2" }
2026-03-25 12:59:25 -05:00
androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx" , version = "2.11.2" }
androidx-work-testing = { module = "androidx.work:work-testing" , version = "2.11.2" }
2025-09-15 16:48:27 -05:00
2025-11-10 19:58:38 -05:00
# AndroidX Compose
2026-03-25 16:36:59 -05:00
androidx-compose-bom = { module = "androidx.compose:compose-bom" , version = "2026.03.01" }
2025-09-15 05:47:03 -05:00
androidx-compose-material-iconsExtended = { module = "androidx.compose.material:material-icons-extended" }
androidx-compose-material3 = { module = "androidx.compose.material3:material3" }
androidx-compose-runtime = { module = "androidx.compose.runtime:runtime" }
2025-09-15 16:48:27 -05:00
androidx-compose-runtime-tracing = { module = "androidx.compose.runtime:runtime-tracing" , version . ref = "androidxTracing" }
2026-02-05 22:16:16 -06:00
androidx-compose-ui = { module = "androidx.compose.ui:ui" }
2025-10-06 23:51:32 -04:00
androidx-compose-ui-test-junit4 = { module = "androidx.compose.ui:ui-test-junit4" }
androidx-compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest" }
2025-10-01 14:31:08 -05:00
androidx-compose-ui-text = { module = "androidx.compose.ui:ui-text" }
2025-09-15 05:47:03 -05:00
androidx-compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
androidx-compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
2025-09-15 16:48:27 -05:00
2026-02-04 16:31:26 -06:00
# Compose Multiplatform
compose-multiplatform-runtime = { module = "org.jetbrains.compose.runtime:runtime" , version . ref = "compose-multiplatform" }
2026-03-13 18:01:17 -05:00
compose-multiplatform-foundation = { module = "org.jetbrains.compose.foundation:foundation" , version . ref = "compose-multiplatform" }
compose-multiplatform-ui = { module = "org.jetbrains.compose.ui:ui" , version . ref = "compose-multiplatform" }
compose-multiplatform-ui-tooling = { module = "org.jetbrains.compose.ui:ui-tooling" , version . ref = "compose-multiplatform" }
2026-03-21 18:19:13 -05:00
compose-multiplatform-ui-tooling-preview = { module = "org.jetbrains.compose.ui:ui-tooling-preview" , version . ref = "compose-multiplatform" }
2026-02-04 16:31:26 -06:00
compose-multiplatform-resources = { module = "org.jetbrains.compose.components:components-resources" , version . ref = "compose-multiplatform" }
2026-03-26 10:18:45 -05:00
compose-multiplatform-material3 = { module = "org.jetbrains.compose.material3:material3" , version . ref = "compose-multiplatform-material3" }
compose-multiplatform-materialIconsExtended = { module = "org.jetbrains.compose.material:material-icons-extended" , version = "1.7.3" } # last published; deprecated upstream
2026-02-04 16:31:26 -06:00
2026-03-12 16:14:49 -05:00
# JetBrains Material 3 Adaptive (multiplatform — Android, Desktop, iOS)
jetbrains-compose-material3-adaptive = { module = "org.jetbrains.compose.material3.adaptive:adaptive" , version . ref = "jetbrains-adaptive" }
jetbrains-compose-material3-adaptive-layout = { module = "org.jetbrains.compose.material3.adaptive:adaptive-layout" , version . ref = "jetbrains-adaptive" }
jetbrains-compose-material3-adaptive-navigation = { module = "org.jetbrains.compose.material3.adaptive:adaptive-navigation" , version . ref = "jetbrains-adaptive" }
2026-03-27 09:43:44 -05:00
jetbrains-compose-material3-adaptive-navigation3 = { module = "org.jetbrains.compose.material3.adaptive:adaptive-navigation3" , version . ref = "jetbrains-adaptive" }
jetbrains-compose-material3-adaptive-navigation-suite = { module = "org.jetbrains.compose.material3:material3-adaptive-navigation-suite" , version . ref = "compose-multiplatform-material3" }
2026-03-12 16:14:49 -05:00
2025-09-15 16:48:27 -05:00
# Google
firebase-analytics = { module = "com.google.firebase:firebase-analytics" }
2026-04-09 12:40:16 -05:00
firebase-bom = { module = "com.google.firebase:firebase-bom" , version = "34.12.0" }
2025-09-15 16:48:27 -05:00
firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics" }
location-services = { module = "com.google.android.gms:play-services-location" , version = "21.3.0" }
2026-03-09 20:19:46 -05:00
koin-android = { module = "io.insert-koin:koin-android" , version . ref = "koin" }
koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose" , version . ref = "koin" }
koin-androidx-workmanager = { module = "io.insert-koin:koin-androidx-workmanager" , version . ref = "koin" }
koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel" , 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" }
koin-annotations = { module = "io.insert-koin:koin-annotations" , version . ref = "koin" }
2025-09-15 16:48:27 -05:00
maps-compose = { module = "com.google.maps.android:maps-compose" , version . ref = "maps-compose" }
maps-compose-utils = { module = "com.google.maps.android:maps-compose-utils" , version . ref = "maps-compose" }
maps-compose-widgets = { module = "com.google.maps.android:maps-compose-widgets" , version . ref = "maps-compose" }
2026-02-05 22:16:16 -06:00
mlkit-barcode-scanning = { module = "com.google.mlkit:barcode-scanning" , version . ref = "mlkit-barcode-scanning" }
2026-01-14 17:40:55 -06:00
play-services-maps = { module = "com.google.android.gms:play-services-maps" , version = "20.0.0" }
2026-02-03 18:01:12 -06:00
wire-runtime = { module = "com.squareup.wire:wire-runtime" , version . ref = "wire" }
2025-11-11 18:21:58 -06:00
zxing-core = { module = "com.google.zxing:core" , version = "3.5.4" }
2026-03-19 13:36:19 -05:00
qrcode-kotlin = { module = "io.github.g0dkar:qrcode-kotlin" , version . ref = "qrcode-kotlin" }
2025-09-15 16:48:27 -05:00
2025-11-10 19:58:38 -05:00
# Jetbrains
2025-09-15 16:48:27 -05:00
kotlin-gradlePlugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin" , version . ref = "kotlin" }
2026-02-14 10:07:03 -06:00
dokka-gradlePlugin = { module = "org.jetbrains.dokka:dokka-gradle-plugin" , version . ref = "dokka" }
2025-12-17 16:47:31 -06:00
2025-09-15 16:48:27 -05:00
kotlinx-collections-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable" , version = "0.4.0" }
2026-03-23 12:37:21 -05:00
kotlinx-atomicfu = { module = "org.jetbrains.kotlinx:atomicfu" , version = "0.32.1" }
2025-10-07 23:04:20 -04:00
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core" , version . ref = "kotlinx-coroutines-android" }
2026-03-12 16:14:49 -05:00
kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing" , version . ref = "kotlinx-coroutines-android" }
2025-12-12 13:02:17 -06:00
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test" , version . ref = "kotlinx-coroutines-android" }
2026-02-13 20:01:07 -06:00
kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime" , version . ref = "kotlinx-datetime" }
2025-09-17 06:46:43 -04:00
kotlinx-serialization-core = { module = "org.jetbrains.kotlinx:kotlinx-serialization-core" , version . ref = "kotlinx-serialization" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json" , version . ref = "kotlinx-serialization" }
2025-09-15 16:48:27 -05:00
# Networking
2026-03-23 11:48:10 -05:00
ktor-client-android = { module = "io.ktor:ktor-client-android" , version . ref = "ktor" }
2025-09-16 14:45:59 -04:00
ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation" , version . ref = "ktor" }
2026-02-26 07:26:50 -06:00
ktor-client-core = { module = "io.ktor:ktor-client-core" , version . ref = "ktor" }
2026-03-12 16:14:49 -05:00
ktor-client-java = { module = "io.ktor:ktor-client-java" , version . ref = "ktor" }
2026-03-23 11:48:10 -05:00
ktor-client-logging = { module = "io.ktor:ktor-client-logging" , version . ref = "ktor" }
2026-04-01 07:14:26 -05:00
ktor-network = { module = "io.ktor:ktor-network" , version . ref = "ktor" }
2025-09-16 14:45:59 -04:00
ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json" , version . ref = "ktor" }
2025-09-15 16:48:27 -05:00
# Testing
2026-01-15 18:47:45 -06:00
androidx-test-core = { module = "androidx.test:core" , version = "1.7.0" }
2025-10-06 23:51:32 -04:00
androidx-test-ext-junit = { module = "androidx.test.ext:junit" , version = "1.3.0" }
2025-10-06 22:14:25 -04:00
androidx-test-runner = { module = "androidx.test:runner" , version = "1.7.0" }
2026-01-15 18:47:45 -06:00
androidx-test-espresso-core = { module = "androidx.test.espresso:espresso-core" , version = "3.7.0" }
2025-09-15 16:48:27 -05:00
junit = { module = "junit:junit" , version = "4.13.2" }
2026-04-03 08:08:49 -05:00
junit-jupiter = { module = "org.junit.jupiter:junit-jupiter" , version . ref = "junit5" }
junit-vintage-engine = { module = "org.junit.vintage:junit-vintage-engine" , version . ref = "junit5" }
junit-platform-launcher = { module = "org.junit.platform:junit-platform-launcher" , version . ref = "junit-platform" }
2026-03-18 18:33:37 -05:00
mokkery-library = { module = "dev.mokkery:mokkery-runtime" , version . ref = "mokkery" }
kotest-assertions = { module = "io.kotest:kotest-assertions-core" , version . ref = "kotest" }
kotest-property = { module = "io.kotest:kotest-property" , version . ref = "kotest" }
kotest-framework = { module = "io.kotest:kotest-framework-engine" , version . ref = "kotest" }
kotest-runner-junit6 = { module = "io.kotest:kotest-runner-junit6" , version . ref = "kotest" }
2026-01-25 14:45:07 +00:00
robolectric = { module = "org.robolectric:robolectric" , version = "4.16.1" }
2026-03-02 12:15:33 -06:00
turbine = { module = "app.cash.turbine:turbine" , version . ref = "turbine" }
2025-09-15 16:48:27 -05:00
# Other
2026-03-12 16:14:49 -05:00
aboutlibraries-core = { module = "com.mikepenz:aboutlibraries-core" , version . ref = "aboutlibraries" }
2025-12-15 14:56:43 -06:00
aboutlibraries-compose-m3 = { module = "com.mikepenz:aboutlibraries-compose-m3" , version . ref = "aboutlibraries" }
2025-12-28 07:47:12 -06:00
accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions" , version . ref = "accompanist" }
2025-09-15 05:47:03 -05:00
coil = { module = "io.coil-kt.coil3:coil-compose" , version . ref = "coil" }
2026-03-23 11:48:10 -05:00
coil-network-ktor3 = { module = "io.coil-kt.coil3:coil-network-ktor3" , version . ref = "coil" }
2025-09-15 05:47:03 -05:00
coil-svg = { module = "io.coil-kt.coil3:coil-svg" , version . ref = "coil" }
dd-sdk-android-compose = { module = "com.datadoghq:dd-sdk-android-compose" , version . ref = "dd-sdk-android" }
dd-sdk-android-logs = { module = "com.datadoghq:dd-sdk-android-logs" , version . ref = "dd-sdk-android" }
dd-sdk-android-rum = { module = "com.datadoghq:dd-sdk-android-rum" , version . ref = "dd-sdk-android" }
2026-04-01 15:27:28 -05:00
dd-sdk-android-session-replay = { module = "com.datadoghq:dd-sdk-android-session-replay" , version . ref = "dd-sdk-android" }
dd-sdk-android-session-replay-material = { module = "com.datadoghq:dd-sdk-android-session-replay-material" , version . ref = "dd-sdk-android" }
2025-09-15 05:47:03 -05:00
dd-sdk-android-timber = { module = "com.datadoghq:dd-sdk-android-timber" , version . ref = "dd-sdk-android" }
dd-sdk-android-trace = { module = "com.datadoghq:dd-sdk-android-trace" , version . ref = "dd-sdk-android" }
dd-sdk-android-trace-otel = { module = "com.datadoghq:dd-sdk-android-trace-otel" , version . ref = "dd-sdk-android" }
2026-02-14 10:07:03 -06:00
dokka-android-documentation-plugin = { module = "org.jetbrains.dokka:android-documentation-plugin" , version . ref = "dokka" }
2025-09-15 05:47:03 -05:00
markdown-renderer = { module = "com.mikepenz:multiplatform-markdown-renderer" , version . ref = "markdownRenderer" }
markdown-renderer-m3 = { module = "com.mikepenz:multiplatform-markdown-renderer-m3" , version . ref = "markdownRenderer" }
markdown-renderer-android = { module = "com.mikepenz:multiplatform-markdown-renderer-android" , version . ref = "markdownRenderer" }
material = { module = "com.google.android.material:material" , version = "1.13.0" }
2026-03-16 18:06:43 -05:00
kable-core = { module = "com.juul.kable:kable-core" , version . ref = "kable" }
2026-03-18 13:39:20 -05:00
kmqtt-client = { module = "io.github.davidepianca98:kmqtt-client" , version . ref = "kmqtt" }
kmqtt-common = { module = "io.github.davidepianca98:kmqtt-common" , version . ref = "kmqtt" }
2026-02-20 06:41:52 -06:00
2026-03-18 07:42:24 -05:00
jserialcomm = { module = "com.fazecast:jSerialComm" , version . ref = "jserialcomm" }
2026-02-24 06:37:33 -06:00
okio = { module = "com.squareup.okio:okio" , version . ref = "okio" }
2025-09-15 05:47:03 -05:00
osmbonuspack = { module = "com.github.MKergall:osmbonuspack" , version = "6.9.0" }
osmdroid-android = { module = "org.osmdroid:osmdroid-android" , version . ref = "osmdroid-android" }
osmdroid-geopackage = { module = "org.osmdroid:osmdroid-geopackage" , version . ref = "osmdroid-android" }
2026-03-02 21:57:48 +00:00
kermit = { module = "co.touchlab:kermit" , version = "2.1.0" }
2025-12-28 08:30:15 -06:00
2025-12-06 06:22:37 -06:00
usb-serial-android = { module = "com.github.mik3y:usb-serial-for-android" , version = "3.10.0" }
2026-01-28 18:52:59 -06:00
vico-compose = { group = "com.patrykandpatrick.vico" , name = "compose" , version . ref = "vico" }
vico-compose-m3 = { group = "com.patrykandpatrick.vico" , name = "compose-m3" , version . ref = "vico" }
2025-09-15 05:47:03 -05:00
2025-09-15 16:48:27 -05:00
# Build Logic
2025-09-15 05:47:03 -05:00
android-gradleApiPlugin = { module = "com.android.tools.build:gradle-api" , version . ref = "agp" }
2026-03-03 15:32:41 +00:00
android-tools-common = { module = "com.android.tools:common" , version = "32.1.0" }
2026-03-20 16:40:08 -05:00
androidx-room-gradlePlugin = { module = "androidx.room3:room3-gradle-plugin" , version . ref = "room" }
2025-09-15 05:47:03 -05:00
compose-gradlePlugin = { module = "org.jetbrains.kotlin:compose-compiler-gradle-plugin" , version . ref = "kotlin" }
2025-12-28 07:47:12 -06:00
compose-multiplatform-gradlePlugin = { module = "org.jetbrains.compose:compose-gradle-plugin" , version . ref = "compose-multiplatform" }
2026-03-17 15:35:39 -05:00
datadog-gradlePlugin = { module = "com.datadoghq.dd-sdk-android-gradle-plugin:com.datadoghq.dd-sdk-android-gradle-plugin.gradle.plugin" , version . ref = "datadog-gradle" }
2026-04-09 07:07:31 -05:00
detekt-compose = { module = "io.nlopez.compose.rules:detekt" , version = "0.5.7" }
2025-09-15 16:48:27 -05:00
detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting" , version . ref = "detekt" }
2025-10-06 23:51:32 -04:00
detekt-gradlePlugin = { module = "io.gitlab.arturbosch.detekt:detekt-gradle-plugin" , version . ref = "detekt" }
2026-03-17 15:35:39 -05:00
firebase-crashlytics-gradlePlugin = { module = "com.google.firebase:firebase-crashlytics-gradle" , version . ref = "firebase-crashlytics-gradle" }
google-services-gradlePlugin = { module = "com.google.gms.google-services:com.google.gms.google-services.gradle.plugin" , version . ref = "google-services-gradle" }
2026-03-09 20:19:46 -05:00
koin-gradlePlugin = { module = "io.insert-koin.compiler.plugin:io.insert-koin.compiler.plugin.gradle.plugin" , version . ref = "koin-plugin" }
2026-03-18 18:33:37 -05:00
mokkery-gradlePlugin = { module = "dev.mokkery:mokkery-gradle" , version . ref = "mokkery" }
2026-01-09 09:40:00 -06:00
kover-gradlePlugin = { module = "org.jetbrains.kotlinx.kover:org.jetbrains.kotlinx.kover.gradle.plugin" , version . ref = "kover" }
2025-09-15 05:47:03 -05:00
ksp-gradlePlugin = { module = "com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin" , version . ref = "devtools-ksp" }
2025-09-30 18:22:22 -05:00
secrets-gradlePlugin = { module = "com.google.android.secrets-gradle-plugin:com.google.android.secrets-gradle-plugin.gradle.plugin" , version = "1.1.0" }
2025-10-06 23:51:32 -04:00
serialization-gradlePlugin = { module = "org.jetbrains.kotlin.plugin.serialization:org.jetbrains.kotlin.plugin.serialization.gradle.plugin" , version . ref = "kotlin" }
2026-02-05 22:16:16 -06:00
spotless-gradlePlugin = { module = "com.diffplug.spotless:spotless-plugin-gradle" , version . ref = "spotless" }
2026-02-01 12:03:17 -06:00
test-retry-gradlePlugin = { module = "org.gradle:test-retry-gradle-plugin" , version . ref = "testRetry" }
2025-02-24 18:42:37 -06:00
2026-03-19 12:19:58 -05:00
jmdns = { module = "org.jmdns:jmdns" , version . ref = "jmdns" }
2025-02-24 18:42:37 -06:00
[ plugins ]
2025-09-15 16:48:27 -05:00
# Android
2025-08-26 17:00:32 -05:00
android-application = { id = "com.android.application" , version . ref = "agp" }
2025-11-10 19:58:38 -05:00
android-kotlin-multiplatform-library = { id = "com.android.kotlin.multiplatform.library" , version . ref = "agp" }
2025-09-15 16:48:27 -05:00
2025-11-10 19:58:38 -05:00
# Jetbrains
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose" , version . ref = "kotlin" }
2026-02-10 16:11:24 -06:00
compose-multiplatform = { id = "org.jetbrains.compose" , version . ref = "compose-multiplatform" }
2026-03-09 20:19:46 -05:00
koin-compiler = { id = "io.insert-koin.compiler.plugin" , version . ref = "koin-plugin" }
2025-08-26 17:00:32 -05:00
kotlin-android = { id = "org.jetbrains.kotlin.android" , version . ref = "kotlin" }
2025-02-24 18:42:37 -06:00
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm" , version . ref = "kotlin" }
2025-11-10 19:58:38 -05:00
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform" , version . ref = "kotlin" }
2025-08-26 17:00:32 -05:00
kotlin-parcelize = { id = "org.jetbrains.kotlin.plugin.parcelize" , version . ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization" , version . ref = "kotlin" }
2026-01-09 09:40:00 -06:00
kover = { id = "org.jetbrains.kotlinx.kover" , version . ref = "kover" }
2026-03-18 18:33:37 -05:00
mokkery = { id = "dev.mokkery" , version . ref = "mokkery" }
2025-09-15 16:48:27 -05:00
# Google
devtools-ksp = { id = "com.google.devtools.ksp" , version . ref = "devtools-ksp" }
2026-03-17 15:35:39 -05:00
google-services = { id = "com.google.gms.google-services" , version . ref = "google-services-gradle" }
2025-09-15 16:48:27 -05:00
secrets = { id = "com.google.android.libraries.mapsplatform.secrets-gradle-plugin" , version = "2.0.1" }
# Firebase
2026-03-17 15:35:39 -05:00
firebase-crashlytics = { id = "com.google.firebase.crashlytics" , version . ref = "firebase-crashlytics-gradle" }
2025-09-15 16:48:27 -05:00
# Other
2026-03-12 20:49:11 -05:00
aboutlibraries = { id = "com.mikepenz.aboutlibraries.plugin" , version . ref = "aboutlibraries" }
2026-03-17 15:35:39 -05:00
datadog = { id = "com.datadoghq.dd-sdk-android-gradle-plugin" , version . ref = "datadog-gradle" }
2025-09-15 16:48:27 -05:00
detekt = { id = "io.gitlab.arturbosch.detekt" , version . ref = "detekt" }
2026-02-14 10:07:03 -06:00
dokka = { id = "org.jetbrains.dokka" , version . ref = "dokka" }
2026-02-03 18:01:12 -06:00
wire = { id = "com.squareup.wire" , version . ref = "wire" }
2026-03-20 16:40:08 -05:00
room = { id = "androidx.room3" , version . ref = "room" }
2026-02-05 22:16:16 -06:00
spotless = { id = "com.diffplug.spotless" , version . ref = "spotless" }
2026-02-01 12:03:17 -06:00
test-retry = { id = "org.gradle.test-retry" , version . ref = "testRetry" }
2025-09-15 05:47:03 -05:00
2025-09-15 16:48:27 -05:00
# Meshtastic
2025-12-10 22:47:25 -06:00
meshtastic-analytics = { id = "meshtastic.analytics" }
2025-09-15 05:47:03 -05:00
meshtastic-android-application = { id = "meshtastic.android.application" }
meshtastic-android-application-compose = { id = "meshtastic.android.application.compose" }
2025-09-15 16:48:27 -05:00
meshtastic-android-application-flavors = { id = "meshtastic.android.application.flavors" }
meshtastic-android-library = { id = "meshtastic.android.library" }
2025-09-15 05:47:03 -05:00
meshtastic-android-library-compose = { id = "meshtastic.android.library.compose" }
2026-02-04 16:01:09 -06:00
meshtastic-android-library-flavors = { id = "meshtastic.android.library.flavors" }
2025-09-15 16:48:27 -05:00
meshtastic-android-lint = { id = "meshtastic.android.lint" }
2025-09-15 05:47:03 -05:00
meshtastic-android-room = { id = "meshtastic.android.room" }
meshtastic-detekt = { id = "meshtastic.detekt" }
2026-03-09 20:19:46 -05:00
meshtastic-koin = { id = "meshtastic.koin" }
2025-09-17 06:46:43 -04:00
meshtastic-kotlinx-serialization = { id = "meshtastic.kotlinx.serialization" }
2026-03-17 15:35:39 -05:00
meshtastic-kmp-feature = { id = "meshtastic.kmp.feature" }
2025-11-10 19:58:38 -05:00
meshtastic-kmp-library = { id = "meshtastic.kmp.library" }
2025-12-28 07:47:12 -06:00
meshtastic-kmp-library-compose = { id = "meshtastic.kmp.library.compose" }
2025-12-18 17:30:36 -06:00
meshtastic-root = { id = "meshtastic.root" }
2025-09-15 16:48:27 -05:00
meshtastic-spotless = { id = "meshtastic.spotless" }