[versions] angle = "chromium-7151_rev1" angle-macosArm64Sha256 = "fea89ee72ebb3426ef8fd5ec90db463f9b06beb74ea858a1091bcef5a2e99b73" # Platform floors and toolchain levels. # Compile against API 37; targetSdk retains Android 16 behavior. android-compileSdk = "37" # The Build-Tools release the current AGP consumes. Read by # .mise/bin/sync-android-packages, not by Gradle. android-buildTools = "36.0.0" # Build the JNI shim in lib/maplibre-compose-runtime-vulkan-android. Read by # .mise/bin/sync-android-packages too. android-ndk = "28.2.13676358" android-cmake = "4.1.2" android-minSdk = "24" # Wear Compose requires API 25. android-wearMinSdk = "25" android-targetSdk = "36" # Compiler JDK for every JVM compilation. Must be >= java-desktopTarget. java-toolchain = "25" # Android bytecode target. Independent of the desktop target below. java-androidTarget = "11" # Desktop bytecode target. MapLibre Native FFI ships Java 24 bytecode and uses # the FFM API, so desktop cannot go below 24. java-desktopTarget = "25" # Regular libraries: keep as up to date as possible. accompanistPermissions = "0.37.3" alchemist = "0.2.0" androidx-activity = "1.13.0" # 1.8.0-rc01 contains the security fix recommended by the Car App release notes. androidx-carApp = "1.8.0-rc01" androidx-testRunner = "1.7.0" bytesize = "2.2.1" dbusJava = "5.2.1" fflate = "0.8.3" jsJodaTimezone = "2.22.0" htmlConverterCompose = "1.1.1" hms-location = "6.12.0.300" nucleus = "2.5.18" kermit = "2.2.0" kotlin-wrappers = "2026.9.2" kotlinx-coroutines = "1.11.0" kotlinx-atomicfu = "0.33.0" kotlinx-io = "0.9.1" kotlinx-serialization = "1.11.0" ktor = "3.6.0" lifecycleRuntimeCompose = "2.11.0" lwjgl = "3.4.2" materialKolor = "5.0.1" # Custom geometry tiling and MVT encoding: keep geojsonVt and vtPbf within # the pinned maplibre-gl release's dependency ranges and review both on upgrades. # They exchange standard MVT with GL JS, so exact version lockstep is not required. maplibre-geojsonVt = "6.1.1" maplibre-android = "13.6.1" maplibre-ios = "6.31.0" maplibre-js = "6.9.1" maplibre-nativeFfi = "0.202609.5" # The style-spec release the parity catalog reads; ci/style_spec_parity.py # fetches v8.json at this tag. Follow the maplibre-gl release's own # @maplibre/maplibre-gl-style-spec dependency when bumping maplibre-js. maplibre-styleSpec = "26.4.2" maplibre-vtPbf = "4.3.2" mobilityData = "0.5.0" playServices-location = "21.4.0" spatialk = "0.8.0" robolectric = "4.17" # Kotlin browser reporter is incompatible with Mocha 12 and later. mocha = "11.7.6" # Regular tools: keep as up to date as possible gradle-dokka = "2.2.0" gradle-mavenPublish = "0.37.0" # Libraries coupled to Compose: keep Compose up to date and set others accordingly. # https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-compatibility-and-versioning.html#jetpack-compose-artifacts-used gradle-compose = "1.12.1" androidx-compose = "1.12.0" jetbrains-compose-material3 = "1.12.0-alpha03" # 1.3.x is still beta. jetbrains-compose-material3-adaptive = "1.3.0-rc01" jetbrains-navigation = "2.10.0-alpha02" # Wear OS Compose. Android-only; the wearos demo module is its only consumer. androidx-wear-compose = "1.6.2" # Android and Kotlin: Keep Kotlin up to date and set Android accordingly. # Also note the Gradle and XCode versions in the matrix! # https://www.jetbrains.com/help/kotlin-multiplatform-dev/multiplatform-compatibility-guide.html gradle-kotlin = "2.4.20" # Complexity metrics for tools/code-metrics. Its kotlin-compiler dependency must # parse the same syntax the build compiles, so it is built against gradle-kotlin. detekt = "2.0.0-alpha.6" gradle-android = "9.3.1" # Renders @Preview with the Android Studio renderer; tied to the AGP version. gradle-composeScreenshot = "0.0.1-alpha16" [libraries] robolectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" } accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "accompanistPermissions" } alchemist = { module = "io.github.kevincianfarini.alchemist:alchemist", version.ref = "alchemist" } android-screenshotValidationApi = { module = "com.android.tools.screenshot:screenshot-validation-api", version.ref = "gradle-composeScreenshot" } androidx-activity = { module = "androidx.activity:activity", version.ref = "androidx-activity" } androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" } androidx-car-app = { module = "androidx.car.app:app", version.ref = "androidx-carApp" } androidx-car-appProjected = { module = "androidx.car.app:app-projected", version.ref = "androidx-carApp" } androidx-composeUi-testManifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "androidx-compose" } androidx-test-runner = { module = "androidx.test:runner", version.ref = "androidx-testRunner" } androidx-navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "jetbrains-navigation" } androidx-wear-compose-foundation = { module = "androidx.wear.compose:compose-foundation", version.ref = "androidx-wear-compose" } androidx-wear-compose-material3 = { module = "androidx.wear.compose:compose-material3", version.ref = "androidx-wear-compose" } bytesize = { module = "me.saket.bytesize:bytesize", version.ref = "bytesize" } detekt-metrics = { module = "dev.detekt:detekt-metrics", version.ref = "detekt" } dbus-java-core = { module = "com.github.hypfvieh:dbus-java-core", version.ref = "dbusJava" } dbus-java-transport-native-unixsocket = { module = "com.github.hypfvieh:dbus-java-transport-native-unixsocket", version.ref = "dbusJava" } htmlConverterCompose = { module = "be.digitalia.compose.htmlconverter:htmlconverter", version.ref = "htmlConverterCompose" } hms-location = { module = "com.huawei.hms:location", version.ref = "hms-location" } nucleus-application = { module = "dev.nucleusframework:nucleus.nucleus-application", version.ref = "nucleus" } nucleus-decoratedWindowMaterial3 = { module = "dev.nucleusframework:nucleus.decorated-window-material3", version.ref = "nucleus" } nucleus-decoratedWindowTao = { module = "dev.nucleusframework:nucleus.decorated-window-tao", version.ref = "nucleus" } kermit = { group = "co.touchlab", name = "kermit", version.ref = "kermit" } kotlin-compiler = { module = "org.jetbrains.kotlin:kotlin-compiler", version.ref = "gradle-kotlin" } kotlin-wrappers-browser = { group = "org.jetbrains.kotlin-wrappers", name = "kotlin-browser", version.ref = "kotlin-wrappers" } kotlin-wrappers-js = { group = "org.jetbrains.kotlin-wrappers", name = "kotlin-js", version.ref = "kotlin-wrappers" } kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" } kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" } kotlinx-coroutines-playServices = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services", version.ref = "kotlinx-coroutines" } kotlinx-coroutines-swing = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-swing", version.ref = "kotlinx-coroutines" } kotlinx-coroutines-test = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-test", version.ref = "kotlinx-coroutines" } kotlinx-atomicfu = { module = "org.jetbrains.kotlinx:atomicfu", version.ref = "kotlinx-atomicfu" } kotlinx-io-core = { module = "org.jetbrains.kotlinx:kotlinx-io-core", version.ref = "kotlinx-io" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization" } ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" } ktor-client-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" } ktor-client-js = { module = "io.ktor:ktor-client-js", version.ref = "ktor" } ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" } ktor-client-contentNegotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" } ktor-serialization-kotlinxJson = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } lifecycle-runtime = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime", version.ref = "lifecycleRuntimeCompose" } lifecycle-runtime-compose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "lifecycleRuntimeCompose" } jetbrains-compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "gradle-compose" } jetbrains-compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "gradle-compose" } jetbrains-compose-html-core = { module = "org.jetbrains.compose.html:html-core", version.ref = "gradle-compose" } jetbrains-compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "jetbrains-compose-material3" } jetbrains-compose-material3-adaptive = { module = "org.jetbrains.compose.material3.adaptive:adaptive", version.ref = "jetbrains-compose-material3-adaptive" } jetbrains-compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "gradle-compose" } jetbrains-compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "gradle-compose" } jetbrains-compose-ui-test = { module = "org.jetbrains.compose.ui:ui-test", version.ref = "gradle-compose" } jetbrains-compose-ui-testJunit4 = { module = "org.jetbrains.compose.ui:ui-test-junit4", version.ref = "gradle-compose" } jetbrains-compose-ui-tooling = { module = "org.jetbrains.compose.ui:ui-tooling", version.ref = "gradle-compose" } maplibre-androidOpenGl = { module = "org.maplibre.gl:android-sdk-opengl", version.ref = "maplibre-android" } maplibre-androidVulkan = { module = "org.maplibre.gl:android-sdk", version.ref = "maplibre-android" } maplibre-nativeFfi = { module = "org.maplibre.nativeffi:maplibre-native-ffi", version.ref = "maplibre-nativeFfi" } maplibre-nativeFfi-runtimeMetal = { module = "org.maplibre.nativeffi:maplibre-native-ffi-runtime-metal-jvm", version.ref = "maplibre-nativeFfi" } maplibre-nativeFfi-runtimeMetalKmp = { module = "org.maplibre.nativeffi:maplibre-native-ffi-runtime-metal", version.ref = "maplibre-nativeFfi" } maplibre-nativeFfi-runtimeOpenGl = { module = "org.maplibre.nativeffi:maplibre-native-ffi-runtime-opengl", version.ref = "maplibre-nativeFfi" } maplibre-nativeFfi-runtimeVulkan = { module = "org.maplibre.nativeffi:maplibre-native-ffi-runtime-vulkan-jvm", version.ref = "maplibre-nativeFfi" } maplibre-nativeFfi-runtimeVulkanKmp = { module = "org.maplibre.nativeffi:maplibre-native-ffi-runtime-vulkan", version.ref = "maplibre-nativeFfi" } lwjgl-core = { module = "org.lwjgl:lwjgl", version.ref = "lwjgl" } lwjgl-egl = { module = "org.lwjgl:lwjgl-egl", version.ref = "lwjgl" } lwjgl-opengles = { module = "org.lwjgl:lwjgl-opengles", version.ref = "lwjgl" } lwjgl-opengl = { module = "org.lwjgl:lwjgl-opengl", version.ref = "lwjgl" } lwjgl-vulkan = { module = "org.lwjgl:lwjgl-vulkan", version.ref = "lwjgl" } materialKolor = { module = "com.materialkolor:material-kolor", version.ref = "materialKolor" } mobilityData-gtfsSchedule = { module = "dev.sargunv.mobility-data:gtfs-schedule", version.ref = "mobilityData" } playServices-location = { module = "com.google.android.gms:play-services-location", version.ref = "playServices-location" } spatialk-geojson = { group = "org.maplibre.spatialk", name = "geojson", version.ref = "spatialk" } spatialk-turf = { group = "org.maplibre.spatialk", name = "turf", version.ref = "spatialk" } spatialk-units = { group = "org.maplibre.spatialk", name = "units", version.ref = "spatialk" } [plugins] android-application = { id = "com.android.application", version.ref = "gradle-android" } android-library = { id = "com.android.kotlin.multiplatform.library", version.ref = "gradle-android" } android-classicLibrary = { id = "com.android.library", version.ref = "gradle-android" } android-lint = { id = "com.android.lint", version.ref = "gradle-android" } android-composeScreenshot = { id = "com.android.compose.screenshot", version.ref = "gradle-composeScreenshot" } compose = { id = "org.jetbrains.compose", version.ref = "gradle-compose" } dokka = { id = "org.jetbrains.dokka", version.ref = "gradle-dokka" } kotlin-composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "gradle-kotlin" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "gradle-kotlin" } kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "gradle-kotlin" } kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "gradle-kotlin" } mavenPublish = { id = "com.vanniktech.maven.publish", version.ref = "gradle-mavenPublish" }