summaryrefslogtreecommitdiff
path: root/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'build.gradle.kts')
-rw-r--r--build.gradle.kts28
1 files changed, 24 insertions, 4 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index dcbeed4..e8b920c 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,4 +1,5 @@
import org.gradle.api.tasks.testing.logging.TestLogEvent
+import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import org.springframework.boot.gradle.tasks.bundling.BootBuildImage
@@ -8,16 +9,18 @@ plugins {
id("io.spring.dependency-management") version "1.1.5"
kotlin("jvm") version "1.9.24"
kotlin("plugin.spring") version "1.9.24"
+ jacoco
}
group = "de.ukw.ccc"
-version = "0.9-SNAPSHOT"
+version = "0.10.0-SNAPSHOT"
var versions = mapOf(
"bwhc-dto-java" to "0.3.0",
"hapi-fhir" to "6.10.5",
"httpclient5" to "5.2.3",
"mockito-kotlin" to "5.3.1",
+ "archunit" to "1.3.0",
// Webjars
"echarts" to "5.4.3",
"htmx.org" to "1.9.11"
@@ -85,14 +88,17 @@ dependencies {
testImplementation("org.mockito.kotlin:mockito-kotlin:${versions["mockito-kotlin"]}")
integrationTestImplementation("org.testcontainers:junit-jupiter")
integrationTestImplementation("org.testcontainers:postgresql")
+ integrationTestImplementation("com.tngtech.archunit:archunit:${versions["archunit"]}")
+ integrationTestImplementation("net.sourceforge.htmlunit:htmlunit")
+ integrationTestImplementation("org.springframework:spring-webflux")
// Override dependency version from org.testcontainers:junit-jupiter - CVE-2024-26308, CVE-2024-25710
integrationTestImplementation("org.apache.commons:commons-compress:1.26.1")
}
tasks.withType<KotlinCompile> {
- kotlinOptions {
- freeCompilerArgs += "-Xjsr305=strict"
- jvmTarget = "21"
+ compilerOptions {
+ freeCompilerArgs.add("-Xjsr305=strict")
+ jvmTarget.set(JvmTarget.JVM_21)
}
}
@@ -112,6 +118,20 @@ task<Test>("integrationTest") {
shouldRunAfter("test")
}
+tasks.register("allTests") {
+ dependsOn(tasks.withType<Test>())
+}
+
+tasks.jacocoTestReport {
+ dependsOn("allTests")
+
+ executionData(fileTree(project.rootDir.absolutePath).include("**/build/jacoco/*.exec"))
+
+ reports {
+ xml.required = true
+ }
+}
+
tasks.named<BootBuildImage>("bootBuildImage") {
imageName.set("ghcr.io/ccc-mf/etl-processor")