fix(gradle) gradle.build
This commit is contained in:
parent
ea75bbdb24
commit
e504326c7e
|
|
@ -1,15 +1,15 @@
|
|||
plugins {
|
||||
// Definiert dieses Modul als ein Standard Kotlin/JVM-Modul.
|
||||
// kotlin("jvm")
|
||||
alias(libs.plugins.kotlin.jvm)
|
||||
// Aktiviert das Kotlinx Serialization Plugin, da unsere DTOs und Enums
|
||||
// als @Serializable markiert sind.
|
||||
alias(libs.plugins.kotlin.jvm)
|
||||
alias(libs.plugins.kotlin.serialization)
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Stellt sicher, dass dieses Modul Zugriff auf die im zentralen Katalog
|
||||
// definierten Bibliotheken hat.
|
||||
// Stellt sicher, dass dieses Modul die zentralen Versionen aus unserem BOM (Bill of Materials)
|
||||
// im platform-Modul respektiert. `api` wird verwendet, damit abhängige Module
|
||||
// diese Platform-Definitionen ebenfalls "erben".
|
||||
api(projects.platform.platformDependencies)
|
||||
|
||||
// --- Kern-Abhängigkeiten für das Domänen-Modell ---
|
||||
|
|
@ -26,7 +26,7 @@ dependencies {
|
|||
// Stellt moderne Datums- und Zeit-Typen wie `Instant` und `LocalDate` bereit.
|
||||
api(libs.kotlinx.datetime)
|
||||
|
||||
// --- Test-Abhängigkeiten ---
|
||||
// --- Testing ---
|
||||
// Stellt die notwendigen Bibliotheken für das Schreiben von Tests bereit.
|
||||
// `testImplementation` sorgt dafür, dass diese Bibliotheken nicht Teil
|
||||
// des finalen produktiven Codes werden.
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
plugins {
|
||||
// Wendet das Kotlin JVM Plugin über den zentralen Alias an.
|
||||
alias(libs.plugins.kotlin.jvm)
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// Stellt sicher, dass dieses Modul die zentralen Versionen aus unserem BOM respektiert.
|
||||
api(projects.platform.platformDependencies)
|
||||
|
||||
// Stellt die reinen Domänen-Klassen und -Interfaces aus dem `core-domain`-Modul bereit.
|
||||
// `api` ist hier zwingend, da `core-utils` eine Implementierung von `core-domain` ist.
|
||||
api(projects.core.coreDomain)
|
||||
|
||||
// --- Coroutines & Asynchronität ---
|
||||
|
|
@ -13,7 +18,8 @@ dependencies {
|
|||
api(libs.exposed.core)
|
||||
api(libs.exposed.dao)
|
||||
api(libs.exposed.jdbc)
|
||||
api(libs.exposed.kotlin.datetime)
|
||||
api(libs.exposed.kotlin.datetime) // exposed-kotlin-datetime -> exposed.kotlin.datetime
|
||||
// KORREKTUR: Der Alias `hikari-cp` wird zu `hikariCp` umgewandelt.
|
||||
api(libs.hikari.cp)
|
||||
api(libs.flyway.core)
|
||||
api(libs.flyway.postgresql)
|
||||
|
|
@ -22,7 +28,7 @@ dependencies {
|
|||
api(libs.consul.client)
|
||||
|
||||
// --- Utilities ---
|
||||
// KORREKTUR: Fehlende Abhängigkeit für den BigDecimalSerializer hinzugefügt.
|
||||
// Stellt die BigDecimal-Implementierung für den Serializer bereit.
|
||||
api(libs.bignum)
|
||||
|
||||
// --- Testing ---
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
package at.mocode.core.utils.discovery
|
||||
|
||||
import at.mocode.core.utils.config.AppConfig // AppConfig ist jetzt eine Klasse
|
||||
import at.mocode.core.utils.config.AppConfig
|
||||
import com.orbitz.consul.Consul
|
||||
import com.orbitz.consul.model.agent.ImmutableRegistration
|
||||
// KORREKTUR: Expliziter Import für die `Registration`-Klasse, die den `RegCheck` enthält.
|
||||
import com.orbitz.consul.model.agent.Registration
|
||||
import java.net.InetAddress
|
||||
import java.util.*
|
||||
|
||||
|
|
@ -64,7 +66,8 @@ class ServiceRegistrar(private val appConfig: AppConfig) {
|
|||
val serviceId = "$serviceName-${UUID.randomUUID()}"
|
||||
val hostAddress = InetAddress.getLocalHost().hostAddress
|
||||
|
||||
val healthCheck = ImmutableRegistration.RegCheck.http(
|
||||
// KORREKTUR: Der Aufruf erfolgt über die `Registration`-Klasse, nicht `ImmutableRegistration`.
|
||||
val healthCheck = Registration.RegCheck.http(
|
||||
"http://$hostAddress:$servicePort/health", // Standard-Health-Check-Pfad
|
||||
10L, // Intervall in Sekunden
|
||||
5L // Timeout in Sekunden
|
||||
|
|
|
|||
|
|
@ -1,44 +1,44 @@
|
|||
# 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-29
|
||||
# This file is the SINGLE SOURCE OF TRUTH for all project dependencies.
|
||||
# It allows for centralized version management and ensures consistency.
|
||||
# Last updated: 2025-07-30
|
||||
|
||||
[versions]
|
||||
# --- Kotlin Ecosystem ---
|
||||
# Defines the primary Kotlin version for the compiler and all related plugins.
|
||||
kotlin = "2.2.0"
|
||||
kotlinxCoroutines = "1.9.1"
|
||||
kotlinxSerialization = "1.7.1"
|
||||
kotlinxDatetime = "0.6.0"
|
||||
|
||||
# --- Database & Persistence ---
|
||||
exposed = "0.51.1"
|
||||
postgresql = "42.7.3"
|
||||
h2 = "2.2.224"
|
||||
hikari = "5.1.0"
|
||||
flyway = "10.15.2"
|
||||
|
||||
# --- Service Discovery ---
|
||||
consulClient = "1.5.3"
|
||||
micrometer = "1.12.2"
|
||||
|
||||
# --- Utilities ---
|
||||
uuid = "0.8.4"
|
||||
bignum = "0.3.9"
|
||||
|
||||
# --- Spring Ecosystem ---
|
||||
springBoot = "3.2.5"
|
||||
springDependencyManagement = "1.1.5"
|
||||
springdoc = "2.5.0"
|
||||
|
||||
# --- Compose (UI) ---
|
||||
# --- Compose UI ---
|
||||
composeMultiplatform = "1.6.10"
|
||||
|
||||
# --- Ktor (API Layer & Client) ---
|
||||
ktor = "3.0.0-beta-2" # Stable release for Ktor 3
|
||||
ktor-openapi = "2.1.4"
|
||||
ktor = "3.0.0-beta-2"
|
||||
|
||||
# --- Database & Persistence ---
|
||||
exposed = "0.51.1"
|
||||
postgresql = "42.7.3"
|
||||
hikari = "5.1.0"
|
||||
h2 = "2.2.224"
|
||||
flyway = "10.15.2"
|
||||
|
||||
# --- Service Discovery & Monitoring ---
|
||||
consulClient = "1.5.3"
|
||||
micrometer = "1.12.2"
|
||||
|
||||
# --- Testing ---
|
||||
junitJupiter = "5.10.2"
|
||||
|
||||
# --- Utilities ---
|
||||
uuid = "0.8.4"
|
||||
bignum = "0.3.9"
|
||||
logback = "1.5.6"
|
||||
|
||||
[libraries]
|
||||
# --- Kotlin & Coroutines ---
|
||||
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
|
||||
|
|
@ -54,70 +54,62 @@ ktor-server-netty = { module = "io.ktor:ktor-server-netty-jvm", version.ref = "k
|
|||
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" }
|
||||
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-server-openapi = { module = "io.ktor:ktor-server-openapi", version.ref = "ktor" }
|
||||
ktor-server-swagger = { module = "io.ktor:ktor-server-swagger", version.ref = "ktor" }
|
||||
ktor-server-cors = { module = "io.ktor:ktor-server-cors-jvm", version.ref = "ktor" }
|
||||
ktor-server-callLogging = { module = "io.ktor:ktor-server-call-logging-jvm", version.ref = "ktor" }
|
||||
ktor-server-defaultHeaders = { module = "io.ktor:ktor-server-default-headers-jvm", version.ref = "ktor" }
|
||||
ktor-server-rateLimit = { module = "io.ktor:ktor-server-rate-limit-jvm", version.ref = "ktor" }
|
||||
ktor-server-metrics-micrometer = { module = "io.ktor:ktor-server-metrics-micrometer-jvm", version.ref = "ktor" }
|
||||
ktor-server-openapi = { module = "io.ktor:ktor-server-openapi", version.ref = "ktor" }
|
||||
ktor-server-swagger = { module = "io.ktor:ktor-server-swagger", version.ref = "ktor" }
|
||||
ktor-server-tests = { module = "io.ktor:ktor-server-tests-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" }
|
||||
ktor-client-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } # Eindeutiger Alias
|
||||
ktor-client-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
|
||||
|
||||
# --- Spring Boot Starters ---
|
||||
# --- Spring Boot ---
|
||||
spring-boot-starter-web = { module = "org.springframework.boot:spring-boot-starter-web" }
|
||||
spring-boot-starter-validation = { module = "org.springframework.boot:spring-boot-starter-validation" }
|
||||
spring-boot-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator" }
|
||||
spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test" }
|
||||
spring-boot-starter-data-jpa = { module = "org.springframework.boot:spring-boot-starter-data-jpa" }
|
||||
# Spring Web als eigenständige Abhängigkeit
|
||||
spring-boot-starter-test = { module = "org.springframework.boot:spring-boot-starter-test" }
|
||||
spring-web = { module = "org.springframework:spring-web" }
|
||||
|
||||
# --- SpringDoc (OpenAPI) ---
|
||||
# springdoc-openapi-starter-webmvc-ui = { module = "org.springdoc:springdoc-openapi-starter-webmvc-ui", version.ref = "springdoc" }
|
||||
springdoc-openapi-starter-common = { module = "org.springdoc:springdoc-openapi-starter-common", version.ref = "springdoc" }
|
||||
|
||||
# --- Datenbank-Treiber ---
|
||||
postgresql-driver = { module = "org.postgresql:postgresql", version.ref = "postgresql" }
|
||||
h2-driver = { module = "com.h2database:h2", version.ref = "h2" }
|
||||
springdoc-openapi-starter-webmvc-ui = { module = "org.springdoc:springdoc-openapi-starter-webmvc-ui", version.ref = "springdoc" }
|
||||
|
||||
# --- Database & Persistence ---
|
||||
exposed-core = { module = "org.jetbrains.exposed:exposed-core", version.ref = "exposed" }
|
||||
exposed-dao = { module = "org.jetbrains.exposed:exposed-dao", version.ref = "exposed" }
|
||||
exposed-jdbc = { module = "org.jetbrains.exposed:exposed-jdbc", version.ref = "exposed" }
|
||||
exposed-kotlin-datetime = { module = "org.jetbrains.exposed:exposed-kotlin-datetime", version.ref = "exposed" }
|
||||
postgresql-driver = { module = "org.postgresql:postgresql", version.ref = "postgresql" }
|
||||
hikari-cp = { module = "com.zaxxer:HikariCP", version.ref = "hikari" }
|
||||
h2-driver = { module = "com.h2database:h2", version.ref = "h2" }
|
||||
flyway-core = { module = "org.flywaydb:flyway-core", version.ref = "flyway" }
|
||||
flyway-postgresql = { module = "org.flywaydb:flyway-database-postgresql", version.ref = "flyway" }
|
||||
|
||||
# --- Service Discovery ---
|
||||
# --- Service Discovery & Monitoring ---
|
||||
consul-client = { module = "com.orbitz.consul:consul-client", version.ref = "consulClient" }
|
||||
|
||||
# --- Monitoring ---
|
||||
micrometer-prometheus = { group = "io.micrometer", name = "micrometer-registry-prometheus", version.ref = "micrometer" }
|
||||
micrometer-prometheus = { module = "io.micrometer:micrometer-registry-prometheus", version.ref = "micrometer" }
|
||||
|
||||
# --- Utilities ---
|
||||
uuid = { module = "com.benasher44:uuid", version.ref = "uuid" }
|
||||
bignum = { module = "com.ionspin.kotlin:bignum", version.ref = "bignum" }
|
||||
logback-classic = { module = "ch.qos.logback:logback-classic", version.ref = "logback" }
|
||||
|
||||
# --- Compose ---
|
||||
# --- Compose UI ---
|
||||
compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "composeMultiplatform" }
|
||||
compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "composeMultiplatform" }
|
||||
compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "composeMultiplatform" }
|
||||
compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "composeMultiplatform" }
|
||||
compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "composeMultiplatform" }
|
||||
compose-materialIconsExtended = { module = "org.jetbrains.compose.material:material-icons-extended", version.ref = "composeMultiplatform" }
|
||||
# NEU: Die Bibliothek für Compose for Web (HTML)
|
||||
compose-html-core = { module = "org.jetbrains.compose.html:html-core", version.ref = "composeMultiplatform" }
|
||||
# NEU: Die Bibliothek für die Desktop-Plattform
|
||||
compose-desktop-currentOs = { module = "org.jetbrains.compose.desktop:desktop", version.ref = "composeMultiplatform" }
|
||||
|
||||
# --- Testing (JUnit 5) ---
|
||||
|
|
@ -125,7 +117,6 @@ junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.re
|
|||
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" }
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user