meldestelle/gradle/libs.versions.toml
2025-07-29 16:32:38 +02:00

101 lines
5.0 KiB
TOML

# This file defines all dependencies for the Meldestelle_Pro project.
# It allows for centralized version management and ensures consistency across all modules.
# Last updated: 2025-07-28
[versions]
# --- Kotlin Ecosystem ---
kotlin = "2.2.0"
kotlinxCoroutines = "1.9.1"
kotlinxSerialization = "1.7.1"
kotlinxDatetime = "0.6.0"
springBoot = "3.2.3"
# --- Compose (UI) ---
composeMultiplatform = "1.6.10"
# --- Ktor (API Layer & Client) ---
ktor = "3.0.0-beta-2" # Stable release for Ktor 3
# --- Database & Persistence ---
exposed = "0.51.1"
postgresql = "42.7.3"
hikari = "5.1.0"
h2 = "2.2.224"
flyway = "10.15.2"
# --- Service Discovery ---
consulClient = "1.5.3"
# --- Testing ---
junitJupiter = "5.10.2"
# --- Utilities ---
uuid = "0.8.4"
[libraries]
# --- Kotlin & Coroutines ---
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutines" }
kotlinx-coroutines-swing = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-swing", version.ref = "kotlinxCoroutines" }
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinxCoroutines" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinxDatetime" }
# --- Ktor Server ---
ktor-server-core = { module = "io.ktor:ktor-server-core-jvm", version.ref = "ktor" }
ktor-server-netty = { module = "io.ktor:ktor-server-netty-jvm", version.ref = "ktor" }
ktor-server-contentNegotiation = { module = "io.ktor:ktor-server-content-negotiation-jvm", version.ref = "ktor" }
ktor-server-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json-jvm", version.ref = "ktor" } # Eindeutiger Alias
ktor-server-statusPages = { module = "io.ktor:ktor-server-status-pages-jvm", version.ref = "ktor" }
ktor-server-tests = { module = "io.ktor:ktor-server-tests-jvm", version.ref = "ktor" }
ktor-server-auth = { module = "io.ktor:ktor-server-auth-jvm", version.ref = "ktor" }
ktor-server-authJwt = { module = "io.ktor:ktor-server-auth-jwt-jvm", version.ref = "ktor" }
# --- Ktor Client ---
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
ktor-client-cio = { module = "io.ktor:ktor-client-cio-jvm", version.ref = "ktor" }
ktor-client-js = { module = "io.ktor:ktor-client-js", version.ref = "ktor" }
ktor-client-contentNegotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
# KORRIGIERT: eindeutiger Alias
ktor-client-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } # Eindeutiger Alias
# --- Database & Persistence ---
# --- Database & Persistence ---
# KORREKTUR: Alle Aliase sind jetzt im kebab-case Format.
# exposed-core wird zu libs.exposed.core
exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" }
# exposed-dao wird zu libs.exposed.dao
exposed-dao = { module = "org.jetbrains.exposed:exposed-dao", version.ref = "exposed" }
# exposed-jdbc wird zu libs.exposed.jdbc
exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposed" }
# exposed-kotlin-datetime wird zu libs.exposed.kotlin.datetime
exposed-kotlin-datetime = { module = "org.jetbrains.exposed:exposed-kotlin-datetime", version.ref = "exposed" }
# hikari-cp wird zu libs.hikari.cp
hikari-cp = { module = "com.zaxxer:HikariCP", version.ref = "hikari" }
# ... (weitere DB-Bibliotheken)
flyway-core = { module = "org.flywaydb:flyway-core", version.ref = "flyway" }
flyway-postgresql = { module = "org.flywaydb:flyway-database-postgresql", version.ref = "flyway" }
# --- Service Discovery ---
# consul-client wird zu libs.consul.client
consul-client = { module = "com.orbitz.consul:consul-client", version.ref = "consulClient" }
# --- Utilities ---
uuid = { module = "com.benasher44:uuid", version.ref = "uuid" }
# --- Testing (JUnit 5) ---
junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junitJupiter" }
junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junitJupiter" }
[plugins]
# KORREKTUR: Wir stellen sicher, dass ALLE Plugins, die wir verwenden, hier definiert sind.
kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" }
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
ktor = { id = "io.ktor.plugin", version.ref = "ktor" }
compose-multiplatform = { id = "org.jetbrains.compose", version.ref = "composeMultiplatform" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
kotlin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" }
spring-boot = { id = "org.springframework.boot", version.ref = "springBoot" }