// Dieses Modul stellt eine konkrete Implementierung der `cache-api` // unter Verwendung von Valkey als Caching-Backend bereit. plugins { alias(libs.plugins.kotlinJvm) alias(libs.plugins.kotlinSpring) // Als Bibliothek benötigt dieses Modul das Spring Boot Plugin nicht. alias(libs.plugins.spring.dependencyManagement) } // Stellt sicher, dass ein normales JAR gebaut wird (Bibliotheks-Modul). java { withJavadocJar() withSourcesJar() toolchain { languageVersion.set(JavaLanguageVersion.of(25)) } } tasks.test { useJUnitPlatform() } dependencies { // Stellt sicher, dass alle Versionen aus der zentralen BOM kommen. api(platform(projects.platform.platformBom)) // Implementiert die provider-agnostische Caching-API. implementation(projects.backend.infrastructure.cache.cacheApi) // OPTIMIERUNG: Verwendung des `valkey-cache`-Bundles aus libs.versions.toml. // Dieses Bundle enthält Spring Data Valkey, Lettuce und Jackson-Module. implementation(libs.bundles.valkey.cache) // Benötigt für Lettuce-basierten Valkey-Client (LettuceConnectionFactory) implementation(libs.lettuce.core) // Für Boot-Autoconfiguration-Annotations wie @ConfigurationProperties, // @EnableConfigurationProperties und @ConditionalOnMissingBean implementation("org.springframework.boot:spring-boot-autoconfigure") // Optional, generiert Metadata f. @ConfigurationProperties (zur IDE-Unterstützung) compileOnly("org.springframework.boot:spring-boot-configuration-processor") // Stellt alle Test-Abhängigkeiten gebündelt bereit. testImplementation(projects.platform.platformTesting) testImplementation(libs.bundles.testing.jvm) testImplementation(libs.kotlin.test) testImplementation(libs.kotlin.logging.jvm) testImplementation(libs.logback.classic) testImplementation(libs.logback.core) }