val springVersion = "3.3.2" plugins { alias(libs.plugins.springPlugin) alias(libs.plugins.springDepMgt) alias(libs.plugins.kotlinAllOpen) alias(libs.plugins.kotlin) alias(libs.plugins.kotlinSpring) alias(libs.plugins.kotlinJpa) alias(libs.plugins.serializationPlugin) } allOpen { annotation("javax.persistence.Entity") annotation("javax.persistence.Embeddable") annotation("javax.persistence.MappedSuperclass") annotation("jakarta.persistence.Entity") annotation("jakarta.persistence.Embeddable") annotation("jakarta.persistence.MappedSuperclass") } group = "de.fraunhofer.iem" version = "0.0.2-SNAPSHOT" java.sourceCompatibility = JavaVersion.VERSION_21 configurations { compileOnly { extendsFrom(configurations.annotationProcessor.get()) } } repositories { mavenCentral() } dependencies { implementation(libs.bundles.kpiCalculator) implementation(libs.bundles.springBoot) implementation(libs.bundles.ktor) implementation(libs.bundles.coroutines) implementation(libs.kotlinReflect) implementation(libs.bundles.serialization) implementation(libs.gitlab4j) implementation(libs.jgit) implementation(libs.authJwt) runtimeOnly(libs.postgresql) testImplementation(libs.ktorTest) testImplementation(libs.springBootStarterTest) { exclude("mockito-core") exclude(group = "org.junit.vintage", module = "junit-vintage-engine") } testImplementation(libs.junitJupiterApi) testImplementation(libs.bundles.springTest) testImplementation(libs.coroutineTest) developmentOnly(libs.devTools) testRuntimeOnly(libs.junitJupiter) testRuntimeOnly(libs.h2db) } tasks.named("compileKotlin", org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask::class.java) { compilerOptions { freeCompilerArgs.add("-Xjsr305=strict") } } kotlin { compilerOptions { apiVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_0) } } tasks.withType<Test> { useJUnitPlatform() }