content: [versions]
  koin = "4.1.1"
  
  kotlin = "2.2.20"
  
  kotlinxCoroutines = "1.10.2"
  
  # F-Droid does not support AGP 8.12+, see https://gitlab.com/fdroid/admin/-/issues/593
  #noinspection AndroidGradlePluginVersion
  androidGradlePlugin = "8.11.1"
  
  androidxLifecycle = "2.9.4"
  androidxPaging = "3.3.6"
  androidxRoom = "2.8.1"
  androidxWork = "2.10.3"
  androidxNavigation = "1.0.0-alpha06"
  
  androidxComposeBom = "2025.09.01"
  
  vico = "2.2.0"
  
  aboutLibraries = "13.0.0-b01"
  
  multiplatformMarkdownRenderer = "0.37.0"
  
  [libraries]
  koinBom = { module = "io.insert-koin:koin-bom", version.ref = "koin" }
  koinAndroid = { module = "io.insert-koin:koin-android" }
  koinAndroidxCompose = { module = "io.insert-koin:koin-androidx-compose" }
  koinCore = { module = "io.insert-koin:koin-core" }
  
  androidx-collection = { module = "androidx.collection:collection", version = "1.5.0" }
  
  androidx-browser = { module = "androidx.browser:browser", version = "1.9.0" }
  
  androidx-annotation = { module = "androidx.annotation:annotation", version = "1.9.1" }
  
  androidx-activityCompose = { module = "androidx.activity:activity-compose", version = "1.10.1" }
  androidx-core = { module = "androidx.core:core-ktx", version = "1.17.0" }
  
  androidx-appcompat = { module = "androidx.appcompat:appcompat", version = "1.7.1" }
  
  androidx-splashscreen = { module = "androidx.core:core-splashscreen", version = "1.0.1" }
  
  androidx-lifecycleRuntimeCompose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidxLifecycle" }
  androidx-lifecycleRuntime = { module = "androidx.lifecycle:lifecycle-runtime-ktx", version.ref = "androidxLifecycle" }
  androidx-lifecycleViewmodelCompose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidxLifecycle" }
  androidx-lifecycleViewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel-ktx", version.ref = "androidxLifecycle" }
  androidx-lifecycleViewmodelNavigation = { module = "androidx.lifecycle:lifecycle-viewmodel-navigation3", version = "1.0.0-alpha04" }
  
  androidx-pagingCommon = { module = "androidx.paging:paging-common-ktx", version.ref = "androidxPaging" }
  androidx-pagingCompose = { module = "androidx.paging:paging-compose", version.ref = "androidxPaging" }
  
  androidx-composeBom = { module = "androidx.compose:compose-bom", version.ref = "androidxComposeBom" }
  # No version for these, included in Compose BOM
  androidx-composeUi = { module = "androidx.compose.ui:ui" }
  androidx-composeUiGraphics = { module = "androidx.compose.ui:ui-graphics" }
  androidx-composeUiToolingPreview = { module = "androidx.compose.ui:ui-tooling-preview" }
  androidx-composeUiTooling = { module = "androidx.compose.ui:ui-tooling" }
  androidx-composeUiTestManifest = { module = "androidx.compose.ui:ui-test-manifest" }
  androidx-composeMaterial3 = { module = "androidx.compose.material3:material3" }
  androidx-composeMaterialIconsExtended = { module = "androidx.compose.material:material-icons-extended-android" }
  androidx-composeUiTestJunit = { module = "androidx.compose.ui:ui-test-junit4" }
  
  androidx-navigationRuntime = { module = "androidx.navigation3:navigation3-runtime", version.ref = "androidxNavigation" }
  androidx-navigationUi = { module = "androidx.navigation3:navigation3-ui", version.ref = "androidxNavigation" }
  
  
  androidx-testJunit = { module = "androidx.test.ext:junit", version = "1.3.0" }
  androidx-testEspresso = { module = "androidx.test.espresso:espresso-core", version = "3.7.0" }
  androidx-testRules = { module = "androidx.test:rules", version = "1.7.0" }
  
  androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version = "1.1.4" }
  
  androidx-roomRuntime = { module = "androidx.room:room-runtime", version.ref = "androidxRoom" }
  androidx-roomCompiler = { module = "androidx.room:room-compiler", version.ref = "androidxRoom" }
  androidx-roomKtx = { module = "androidx.room:room-ktx", version.ref = "androidxRoom" }
  androidx-roomPaging = { module = "androidx.room:room-paging", version.ref = "androidxRoom" }
  androidx-roomTesting = { module = "androidx.room:room-testing", version.ref = "androidxRoom" }
  
  androidx-workRuntime = { module = "androidx.work:work-runtime", version.ref = "androidxWork" }
  androidx-workRuntimeKtx = { module = "androidx.work:work-runtime-ktx", version.ref = "androidxWork" }
  
  junit = { module = "junit:junit", version = "4.13.2" }
  
  kotlinx-coroutinesBom = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-bom", version.ref = "kotlinxCoroutines" }
  # No version for these, included in Coroutines BOM
  kotlinx-coroutinesCore = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core" }
  kotlinx-coroutinesAndroid = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android" }
  kotlinx-coroutinesPlayServices = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-play-services" }
  kotlinx-coroutinesTest = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test" }
  
  playservices-location = { module = "com.google.android.gms:play-services-location", version = "21.3.0" }
  playservices-cronet = { module = "com.google.android.gms:play-services-cronet", version = "18.1.0" }
  
  timber = { module = "com.jakewharton.timber:timber", version = "5.0.1" }
  
  okhttpBom = { module = "com.squareup.okhttp3:okhttp-bom", version = "5.1.0" }
  # No version for these, included in OkHTTP BOM
  okhttp = { module = "com.squareup.okhttp3:okhttp" }
  okhttpCoroutines = { module = "com.squareup.okhttp3:okhttp-coroutines" }
  okhttpLoggingInterceptor = { module = "com.squareup.okhttp3:logging-interceptor" }
  okhttpMockWebServer = { module = "com.squareup.okhttp3:mockwebserver" }
  
  cronetOkhttp = { module = "com.google.net.cronet:cronet-okhttp", version = "0.1.0" }
  
  kotlinx-serializationJson = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version = "1.9.0" }
  
  androidBeaconLibrary = { module = "org.altbeacon:android-beacon-library", version = "2.21.0" }
  
  mapLibre = { module = "org.maplibre.gl:android-sdk", version = "12.0.0" }
  mapLibreAnnotationsPlugin = { module = "org.maplibre.gl:android-plugin-annotation-v9", version = "3.0.2" }
  
  geohex = { module = "org.geohex.geohex4j:geohex4j", version = "3.2.2" }
  
  #noinspection NewerVersionAvailable FastCSV 4.+ does not support API level <33
  fastcsv = { module = "de.siegmar:fastcsv", version = "3.7.0" }
  
  vicoCompose = { module = "com.patrykandpatrick.vico:compose", version.ref = "vico" }
  vicoComposeMaterial3 = { module = "com.patrykandpatrick.vico:compose-m3", version.ref = "vico" }
  
  multiplatformMarkdownRendererAndroid = { module = "com.mikepenz:multiplatform-markdown-renderer-android", version.ref = "multiplatformMarkdownRenderer" }
  multiplatformMarkdownRendererM3 = { module = "com.mikepenz:multiplatform-markdown-renderer-m3", version.ref = "multiplatformMarkdownRenderer" }
  
  mockitoKotlin = { module = "org.mockito.kotlin:mockito-kotlin", version = "6.1.0" }
  
  awaitilityKotlin = { module = "org.awaitility:awaitility-kotlin", version = "4.3.0" }
  
  aboutLibrariesCore = { module = "com.mikepenz:aboutlibraries-core", version.ref = "aboutLibraries" }
  aboutLibrariesCompose = { module = "com.mikepenz:aboutlibraries-compose-m3", version.ref = "aboutLibraries" }
  
  [plugins]
  androidApplication = { id = "com.android.application", version.ref = "androidGradlePlugin" }
  androidLibrary = { id = "com.android.library", version.ref = "androidGradlePlugin" }
  
  androidxRoom = { id = "androidx.room", version.ref = "androidxRoom" }
  
  kotlinJvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
  kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
  kotlinCompose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
  kotlinSerialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
  
  ksp = { id = "com.google.devtools.ksp", version = "2.2.20-2.0.3" }
  
  bundletool = { id = "app.accrescent.tools.bundletool", version = "0.2.4" }
  
  ktfmt = { id = "com.ncorti.ktfmt.gradle", version = "0.24.0" }
  
  detekt = { id = "io.gitlab.arturbosch.detekt", version = "1.23.8" }
  
  aboutLibraries = { id = "com.mikepenz.aboutlibraries.plugin.android", version.ref = "aboutLibraries" }
  
  [bundles]
  vico = ["vicoCompose", "vicoComposeMaterial3"]
  
  mapLibre = ["mapLibre", "mapLibreAnnotationsPlugin"]
  
  androidxWork = ["androidx-workRuntime", "androidx-workRuntimeKtx"]
  
  androidxLifecycle = ["androidx-lifecycleRuntime", "androidx-lifecycleRuntimeCompose", "androidx-lifecycleViewmodel", "androidx-lifecycleViewmodelCompose"]
  
  androidxNavigation = ["androidx-navigationRuntime", "androidx-navigationUi", "androidx-lifecycleViewmodelNavigation"]
  
  aboutLibraries = ["aboutLibrariesCore", "aboutLibrariesCompose"]
  
  multiplatformMarkdownRenderer = ["multiplatformMarkdownRendererAndroid", "multiplatformMarkdownRendererM3"]
  