Files
meldestelle/infrastructure/gateway/build.gradle.kts
T
stefan e7b18da45d refactor: Migrate from monolithic to modular architecture
1. **Docker-Compose für Entwicklung optimieren**
2. **Umgebungsvariablen für lokale Entwicklung**
3. **Service-Abhängigkeiten**
4. **Docker-Compose für Produktion**
5. **Dokumentation**
2025-07-24 14:20:48 +02:00

69 lines
2.3 KiB
Kotlin

plugins {
kotlin("jvm")
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.ktor)
}
application {
mainClass.set("at.mocode.infrastructure.gateway.ApplicationKt")
}
// Configure tests to use JUnit Platform
tasks.withType<Test> {
useJUnitPlatform()
}
dependencies {
implementation(projects.platform.platformDependencies)
implementation(projects.core.coreDomain)
implementation(projects.core.coreUtils)
implementation(projects.infrastructure.auth.authClient)
implementation(projects.infrastructure.monitoring.monitoringClient)
// Domain modules
implementation(projects.masterdata.masterdataDomain)
implementation(projects.members.membersDomain)
implementation(projects.horses.horsesDomain)
implementation(projects.events.eventsDomain)
// Infrastructure modules
implementation(projects.masterdata.masterdataInfrastructure)
implementation(projects.members.membersInfrastructure)
implementation(projects.horses.horsesInfrastructure)
implementation(projects.events.eventsInfrastructure)
// Ktor Server
implementation(libs.ktor.server.core)
implementation(libs.ktor.server.netty)
implementation(libs.ktor.server.contentNegotiation)
implementation(libs.ktor.server.serializationKotlinxJson)
implementation(libs.ktor.server.cors)
implementation(libs.ktor.server.callLogging)
implementation(libs.ktor.server.defaultHeaders)
implementation(libs.ktor.server.statusPages)
implementation(libs.ktor.server.auth)
implementation(libs.ktor.server.authJwt)
implementation(libs.ktor.server.openapi)
implementation(libs.ktor.server.swagger)
implementation(libs.ktor.server.rateLimit)
implementation(libs.ktor.server.metrics.micrometer)
// Monitoring and metrics
implementation(libs.micrometer.prometheus)
// Rate limiting
implementation("io.github.resilience4j:resilience4j-ratelimiter:2.2.0")
// Documentation
implementation("org.springdoc:springdoc-openapi-starter-webflux-ui:2.3.0")
// Ktor Client
implementation(libs.ktor.client.core)
implementation(libs.ktor.client.cio)
implementation(libs.ktor.client.contentNegotiation)
implementation(libs.ktor.client.serializationKotlinxJson)
testImplementation(projects.platform.platformTesting)
testImplementation(libs.ktor.server.tests)
}