content: [versions]
  mustache = "0.9.14"
  jacksonCore = "2.19.0"
  jacksonDataformatYaml = "2.19.0"
  minSdk = "26"
  compileSdk = "36"
  targetSdk = "36"
  
  pluginSdk = "2.2.0"
  
  gradle = "8.1.2"
  android-gradle-plugin = "8.12.0"
  ksp-gradle-plugin = "2.2.20-2.0.3"
  
  kotlin = "2.2.20"
  kotlinx-coroutines = "1.10.2"
  kotlinx-immutable = "0.4.0"
  kotlinx-serialization = "1.9.0"
  
  jetbrains-markdown = "0.7.3"
  
  androidx-compose = "1.10.0-alpha05"
  androidx-compose-material3 = "1.5.0-alpha06"
  androidx-compose-materialicons = "1.7.8"
  androidx-lifecycle = "2.9.4"
  androidx-core = "1.17.0"
  androidx-appcompat = "1.7.1"
  androidx-activity = "1.11.0"
  
  # Careful, 2.10.0 seems to require some fixes, or jobs aren't executed
  androidx-work = "2.9.0"
  androidx-browser = "1.9.0"
  androidx-palette = "1.0.0"
  androidx-media2 = "1.3.0"
  androidx-room = "2.8.2"
  androidx-constraint-layout = "1.1.1"
  androidx-emojipicker = "1.6.0"
  
  accompanist = "0.36.0"
  haze = "1.6.10"
  coil = "2.7.0"
  koin = "4.1.1"
  ktor = "3.3.1"
  junit = "4.13.2"
  junitVersion = "1.2.1"
  espressoCore = "3.6.1"
  
  osmOpeningHours = "0.2.0"
  
  [libraries]
  mustache-compiler = { module = "com.github.spullara.mustache.java:compiler", version.ref = "mustache" }
  
  jackson-core = { module = "com.fasterxml.jackson.core:jackson-core", version.ref = "jacksonCore" }
  jackson-dataformat-yaml = { module = "com.fasterxml.jackson.dataformat:jackson-dataformat-yaml", version.ref = "jacksonDataformatYaml" }
  kotlin-stdlib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "kotlin" }
  kotlinx-coroutines-core = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-core", version.ref = "kotlinx-coroutines" }
  kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "kotlinx-coroutines" }
  kotlinx-collections-immutable = { group = "org.jetbrains.kotlinx", name = "kotlinx-collections-immutable", version.ref = "kotlinx-immutable" }
  kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinx-serialization" }
  
  markdown = { group = "org.jetbrains", name = "markdown", version.ref = "jetbrains-markdown" }
  
  androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime", version.ref = "androidx-compose" }
  androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "androidx-compose" }
  androidx-compose-foundationlayout = { group = "androidx.compose.foundation", name = "foundation-layout", version.ref = "androidx-compose" }
  androidx-compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "androidx-compose" }
  androidx-compose-uitooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "androidx-compose" }
  androidx-compose-materialicons = { group = "androidx.compose.material", name = "material-icons-extended", version.ref = "androidx-compose-materialicons" }
  androidx-compose-animation = { group = "androidx.compose.animation", name = "animation", version.ref = "androidx-compose" }
  androidx-compose-animationgraphics = { group = "androidx.compose.animation", name = "animation-graphics", version.ref = "androidx-compose" }
  androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "androidx-compose-material3" }
  
  androidx-lifecycle-viewmodel = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-ktx", version.ref = "androidx-lifecycle" }
  androidx-lifecycle-common = { group = "androidx.lifecycle", name = "lifecycle-common-java8", version.ref = "androidx-lifecycle" }
  androidx-lifecycle-runtime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "androidx-lifecycle" }
  androidx-lifecycle-viewmodelcompose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
  androidx-lifecycle-runtimecompose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
  
  
  androidx-activitycompose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidx-activity" }
  
  androidx-room = { group = "androidx.room", name = "room-ktx", version.ref = "androidx-room" }
  androidx-roomruntime = { group = "androidx.room", name = "room-runtime", version.ref = "androidx-room" }
  androidx-roomcompiler = { group = "androidx.room", name = "room-compiler", version.ref = "androidx-room" }
  
  androidx-core = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core" }
  androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
  androidx-work = { group = "androidx.work", name = "work-runtime-ktx", version.ref = "androidx-work" }
  androidx-browser = { group = "androidx.browser", name = "browser", version.ref = "androidx-browser" }
  androidx-palette = { group = "androidx.palette", name = "palette", version.ref = "androidx-palette" }
  androidx-media2 = { group = "androidx.media2", name = "media2-session", version.ref = "androidx-media2" }
  
  accompanist-systemuicontroller = { group = "com.google.accompanist", name = "accompanist-systemuicontroller", version.ref = "accompanist" }
  accompanist-pager = { group = "com.google.accompanist", name = "accompanist-pager", version.ref = "accompanist" }
  accompanist-pagerindicators = { group = "com.google.accompanist", name = "accompanist-pager-indicators", version.ref = "accompanist" }
  accompanist-flowlayout = { group = "com.google.accompanist", name = "accompanist-flowlayout", version.ref = "accompanist" }
  accompanist-navigationanimation = { group = "com.google.accompanist", name = "accompanist-navigation-animation", version.ref = "accompanist" }
  haze = {group = "dev.chrisbanes.haze", name = "haze", version.ref = "haze" }
  
  androidx-constraintlayout-compose = { group = "androidx.constraintlayout", name = "constraintlayout-compose", version.ref = "androidx-constraint-layout" }
  androidx-transition = { group = "androidx.transition", name = "transition", version = "1.6.0" }
  androidx-exifinterface = { group = "androidx.exifinterface", name = "exifinterface", version = "1.4.1" }
  androidx-securitycrypto = { group = "androidx.security", name = "security-crypto", version = "1.1.0" }
  androidx-datastore = { group = "androidx.datastore", name = "datastore", version = "1.2.0-alpha02" }
  androidx-emojipicker = { group = "androidx.emoji2", name = "emoji2-emojipicker", version.ref = "androidx-emojipicker" }
  
  ktor-client-core = { group = "io.ktor", name = "ktor-client-core", version.ref = "ktor" }
  ktor-client-okhttp = { group = "io.ktor", name = "ktor-client-okhttp", version.ref = "ktor" }
  ktor-client-content-negotiation = { group = "io.ktor", name = "ktor-client-content-negotiation", version.ref = "ktor" }
  ktor-serialization-kotlinx-json = { group = "io.ktor", name = "ktor-serialization-kotlinx-json", version.ref = "ktor" }
  
  androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version = "2.9.5" }
  
  coil-core = { group = "io.coil-kt", name = "coil", version.ref = "coil" }
  coil-svg = { group = "io.coil-kt", name = "coil-svg", version.ref = "coil" }
  coil-compose = { group = "io.coil-kt", name = "coil-compose", version.ref = "coil" }
  
  leakcanary = { group = "com.squareup.leakcanary", name = "leakcanary", version = "2.10" }
  suncalc = { group = "org.shredzone.commons", name = "commons-suncalc", version = "3.11" }
  jsoup = { group = "org.jsoup", name = "jsoup", version = "1.21.2" }
  commons-text = { group = "org.apache.commons", name = "commons-text", version = "1.14.0" }
  stringsimilarity = { group = "com.aallam.similarity", name = "string-similarity-kotlin", version = "0.1.0" }
  
  #noinspection NewerVersionAvailable 4.4.2 is the last GPL compatible version, don't update to 5.x
  mathparser = { group = "org.mariuszgromada.math", name = "MathParser.org-mXparser", version = "4.4.2" }
  
  koin-android = { group = "io.insert-koin", name = "koin-android", version.ref = "koin" }
  koin-androidxcompose = { group = "io.insert-koin", name = "koin-androidx-compose", version.ref = "koin" }
  
  junit = { group = "junit", name = "junit", version.ref = "junit" }
  androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
  androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
  
  osmopeninghours = { group = "de.westnordost", name = "osm-opening-hours", version.ref = "osmOpeningHours" }
  
  [bundles]
  kotlin = ["kotlin-stdlib", "kotlinx-coroutines-core", "kotlinx-coroutines-android", "kotlinx-collections-immutable", "kotlinx-serialization-json"]
  androidx-lifecycle = ["androidx-lifecycle-viewmodel", "androidx-lifecycle-common", "androidx-lifecycle-runtime", "androidx-lifecycle-viewmodelcompose", "androidx-lifecycle-runtimecompose"]
  ktor = ["ktor-client-core", "ktor-client-okhttp", "ktor-serialization-kotlinx-json", "ktor-client-content-negotiation"]
  tests = ["junit"]
  
  [plugins]
  android-application = { id = "com.android.application", version.ref = "android-gradle-plugin" }
  android-library = { id = "com.android.library", version.ref = "android-gradle-plugin" }
  ksp = { id = "com.google.devtools.ksp", version.ref = "ksp-gradle-plugin" }
  kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
  kotlin-plugin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
  kotlin-plugin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
  dokka = { id = "org.jetbrains.dokka", version = "2.0.0" }
  