60 lines
1.9 KiB
Plaintext
60 lines
1.9 KiB
Plaintext
// Dieses Modul definiert die provider-agnostische API für den Event Store.
|
|
// Es enthält die Interfaces (z.B. `EventStore`, `EventSerializer`) und die
|
|
// Domänen-Events aus `core-domain`, die gespeichert und publiziert werden.
|
|
plugins {
|
|
alias(libs.plugins.kotlinJvm)
|
|
// Für bessere IDE-Unterstützung und Dokumentation
|
|
`java-library`
|
|
}
|
|
|
|
kotlin {
|
|
compilerOptions {
|
|
// Optimierungen für API-Module
|
|
freeCompilerArgs.addAll(
|
|
"-opt-in=kotlin.time.ExperimentalTime",
|
|
"-Xjvm-default=all"
|
|
)
|
|
}
|
|
}
|
|
|
|
java {
|
|
// Aktiviert die Erstellung von Source- und Javadoc-JARs für bessere API-Dokumentation
|
|
withSourcesJar()
|
|
withJavadocJar()
|
|
}
|
|
|
|
dependencies {
|
|
// === Core Dependencies ===
|
|
// Stellt sicher, dass alle Versionen aus der zentralen BOM kommen
|
|
implementation(platform(projects.platform.platformBom))
|
|
// Abhängigkeit zu den Core-Modulen, um auf Domänenobjekte (Events)
|
|
// und technische Hilfsklassen zugreifen zu können
|
|
api(projects.core.coreDomain)
|
|
implementation(projects.core.coreUtils)
|
|
// === Test Dependencies ===
|
|
// Stellt alle Test-Abhängigkeiten gebündelt bereit
|
|
testImplementation(projects.platform.platformTesting)
|
|
testImplementation(libs.bundles.testing.jvm)
|
|
// Für erweiterte Test-Unterstützung bei API-Tests
|
|
testImplementation(libs.kotlinx.coroutines.test)
|
|
}
|
|
|
|
// === Task Configuration ===
|
|
// Optimiert die Test-Ausführung
|
|
tasks.test {
|
|
useJUnitPlatform()
|
|
// Parallelisierung für bessere Performance
|
|
maxParallelForks = (Runtime.getRuntime().availableProcessors() / 2).coerceAtLeast(1)
|
|
}
|
|
|
|
// Konfiguration für bessere JAR-Erstellung bei API-Modulen
|
|
tasks.jar {
|
|
manifest {
|
|
attributes(
|
|
"Implementation-Title" to "Event Store API",
|
|
"Implementation-Version" to project.version,
|
|
"Automatic-Module-Name" to "at.mocode.infrastructure.eventstore.api"
|
|
)
|
|
}
|
|
}
|