content: [versions]
  kotlin = "2.2.20"
  kotlinx = "1.10.2"
  scala2x = "2.13.17"
  quarkus = "3.28.3"
  ktlint = "1.7.1"
  
  # Spring-Boot
  spring-boot = "3.5.6"
  spring-dependency-management = "1.1.7"
  spring-kafka = "3.3.10"
  
  # arrow
  arrow = "2.1.2"
  
  # Jackson
  jackson = "2.20.0"
  
  # Couchbase
  couchbase-client = "3.9.2"
  
  # Kafka
  kafka = "4.1.0"
  kafka-kotlin = "0.4.1"
  
  # Logging
  slf4j = "2.0.17"
  kotlinLogging = "7.0.13"
  
  # Ktor
  ktor = "3.3.1"
  koin = "4.1.0-Beta8"
  
  # mongo
  mongodb = "5.6.1"
  
  # Tooling
  spotless = "8.0.0"
  detekt = "1.23.8"
  lombok = "1.18.42"
  
  # Misc
  hoplite = "2.9.0"
  kediatr = "4.2.0"
  
  # Testing
  stove = "0.17.1"
  kotest = "6.0.4"
  
  [libraries]
  # Kotlin
  kotlinx-reactor = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-reactor", version.ref = "kotlinx" }
  kotlinx-reactive = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-reactive", version.ref = "kotlinx" }
  kotlinx-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinx" }
  kotlinx-jdk8 = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8", version.ref = "kotlinx" }
  
  # Arrow
  arrow-core = { module = "io.arrow-kt:arrow-core", version.ref = "arrow" }
  
  # Spring
  spring-boot-webflux = { module = "org.springframework.boot:spring-boot-starter-webflux", version.ref = "spring-boot" }
  spring-boot-autoconfigure = { module = "org.springframework.boot:spring-boot-autoconfigure", version.ref = "spring-boot" }
  spring-boot-annotationProcessor = { module = "org.springframework.boot:spring-boot-configuration-processor", version.ref = "spring-boot" }
  spring-boot-kafka = { module = "org.springframework.kafka:spring-kafka", version.ref = "spring-kafka" }
  
  # Quarkus
  quarkus = { module = "io.quarkus:quarkus-bom", version.ref = "quarkus" }
  quarkus-rest = { module = "io.quarkus:quarkus-rest", version.ref = "quarkus" }
  quarkus-arc = { module = "io.quarkus.arc:arc", version.ref = "quarkus" }
  quarkus-kotlin = { module = "io.quarkus:quarkus-kotlin", version.ref = "quarkus" }
  
  kafka = { module = "org.apache.kafka:kafka-clients", version.ref = "kafka" }
  kafkaKotlin = { module = "io.github.nomisrev:kotlin-kafka", version.ref = "kafka-kotlin" }
  couchbase-client = { module = "com.couchbase.client:java-client", version.ref = "couchbase-client" }
  
  # Jackson
  jackson-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jackson" }
  jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", version.ref = "jackson" }
  jackson-core = { module = "com.fasterxml.jackson.core:jackson-core", version.ref = "jackson" }
  
  slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
  ktor-server-core-jvm = { module = "io.ktor:ktor-server-core-jvm", version.ref = "ktor" }
  ktor-server-config-yml = { module = "io.ktor:ktor-server-config-yaml", version.ref = "ktor" }
  ktor-server-content-negotiation-jvm = { module = "io.ktor:ktor-server-content-negotiation-jvm", version.ref = "ktor" }
  ktor-serialization-jackson-json = { module = "io.ktor:ktor-serialization-jackson", version.ref = "ktor" }
  ktor-server-netty-jvm = { module = "io.ktor:ktor-server-netty-jvm", version.ref = "ktor" }
  ktor-server-statuspages = { module = "io.ktor:ktor-server-status-pages", version.ref = "ktor" }
  ktor-server-callLogging = { module = "io.ktor:ktor-server-call-logging", version.ref = "ktor" }
  ktor-server-autoHeadResponse = { module = "io.ktor:ktor-server-auto-head-response", version.ref = "ktor" }
  ktor-server-cachingHeaders = { module = "io.ktor:ktor-server-caching-headers", version.ref = "ktor" }
  ktor-server-callId = { module = "io.ktor:ktor-server-call-id-jvm", version.ref = "ktor" }
  ktor-server-conditionalHeaders = { module = "io.ktor:ktor-server-conditional-headers", version.ref = "ktor" }
  ktor-server-cors = { module = "io.ktor:ktor-server-cors-jvm", version.ref = "ktor" }
  ktor-server-defaultHeaders = { module = "io.ktor:ktor-server-default-headers", version.ref = "ktor" }
  ktor-swagger-ui = { module = "io.github.smiley4:ktor-swagger-ui", version = "5.3.0" }
  ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
  ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" }
  ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
  ktor-client-plugins-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
  ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
  ktor-client-websockets = { module = "io.ktor:ktor-client-websockets", version.ref = "ktor" }
  koin = { module = "io.insert-koin:koin-core", version.ref = "koin" }
  koin-ktor = { module = "io.insert-koin:koin-ktor3", version.ref = "koin" }
  kotlinFpUtil = { module = "it.czerwinski:kotlin-util", version = "2.1.0" }
  mongodb-bson-kotlin = { module = "org.mongodb:bson-kotlin", version.ref = "mongodb" }
  mongodb-kotlin-coroutine = { module = "org.mongodb:mongodb-driver-kotlin-coroutine", version.ref = "mongodb" }
  kotlin-logging-jvm = { module = "io.github.oshai:kotlin-logging-jvm", version.ref = "kotlinLogging" }
  logback-classic = { module = "ch.qos.logback:logback-classic", version = "1.5.19" }
  
  detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
  hoplite = { module = "com.sksamuel.hoplite:hoplite-core", version.ref = "hoplite" }
  hoplite-yaml = { module = "com.sksamuel.hoplite:hoplite-yaml", version.ref = "hoplite" }
  ktlint-cli = { module = "com.pinterest.ktlint:ktlint-cli", version.ref = "ktlint" }
  
  # kediatR
  kediatr-koin = { module = "com.trendyol:kediatr-koin-starter", version.ref = "kediatr" }
  
  # Tooling
  lombok = { module = "org.projectlombok:lombok", version.ref = "lombok" }
  
  # Testing
  kotest-framework-engine = { module = "io.kotest:kotest-framework-engine", version.ref = "kotest" }
  kotest-assertions-core = { module = "io.kotest:kotest-assertions-core", version.ref = "kotest" }
  kotest-runner-junit5 = { module = "io.kotest:kotest-runner-junit5-jvm", version.ref = "kotest" }
  testcontainers-kafka = { module = "org.testcontainers:kafka", version = "1.21.3" }
  
  # Stove
  stove-testing = { module = "com.trendyol:stove-testing-e2e", version.ref = "stove" }
  stove-spring-testing = { module = "com.trendyol:stove-spring-testing-e2e", version.ref = "stove" }
  stove-ktor-testing = { module = "com.trendyol:stove-ktor-testing-e2e", version.ref = "stove" }
  stove-testing-kafka = { module = "com.trendyol:stove-testing-e2e-kafka", version.ref = "stove" }
  stove-testing-http = { module = "com.trendyol:stove-testing-e2e-http", version.ref = "stove" }
  stove-testing-couchbase = { module = "com.trendyol:stove-testing-e2e-couchbase", version.ref = "stove" }
  stove-testing-wiremock = { module = "com.trendyol:stove-testing-e2e-wiremock", version.ref = "stove" }
  stove-testing-mongodb = { module = "com.trendyol:stove-testing-e2e-mongodb", version.ref = "stove" }
  
  # Scala
  scala2-library = { module = "org.scala-lang:scala-library", version.ref = "scala2x" }
  
  [plugins]
  spring-plugin = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" }
  spring-boot = { id = "org.springframework.boot", version.ref = "spring-boot" }
  spring-dependencyManagement = { id = "io.spring.dependency-management", version.ref = "spring-dependency-management" }
  spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
  detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
  testLogger = { id = "com.adarshr.test-logger", version = "4.0.0" }
  quarkus = { id = "io.quarkus", version.ref = "quarkus" }
  kotest = { id = "io.kotest", version.ref = "kotest" }
  