summaryrefslogtreecommitdiff
path: root/build.gradle.kts
diff options
context:
space:
mode:
Diffstat (limited to 'build.gradle.kts')
-rw-r--r--build.gradle.kts37
1 files changed, 29 insertions, 8 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index 497ee58..2207e81 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,23 +1,26 @@
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
plugins {
war
- id("org.springframework.boot") version "3.2.7"
+ id("org.springframework.boot") version "3.3.1"
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",
+ "commons-compress" to "1.26.2",
"mockito-kotlin" to "5.3.1",
+ "archunit" to "1.3.0",
// Webjars
"echarts" to "5.4.3",
"htmx.org" to "1.9.12"
@@ -62,13 +65,14 @@ dependencies {
implementation("org.thymeleaf.extras:thymeleaf-extras-springsecurity6")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.springframework.kafka:spring-kafka")
+ implementation("org.flywaydb:flyway-database-postgresql")
implementation("org.flywaydb:flyway-mysql")
implementation("commons-codec:commons-codec")
implementation("io.projectreactor.kotlin:reactor-kotlin-extensions")
implementation("de.ukw.ccc:bwhc-dto-java:${versions["bwhc-dto-java"]}")
implementation("ca.uhn.hapi.fhir:hapi-fhir-base:${versions["hapi-fhir"]}")
implementation("ca.uhn.hapi.fhir:hapi-fhir-structures-r4:${versions["hapi-fhir"]}")
- implementation("org.apache.httpcomponents.client5:httpclient5:${versions["httpclient5"]}")
+ implementation("org.apache.httpcomponents.client5:httpclient5")
implementation("com.jayway.jsonpath:json-path")
implementation("org.webjars:webjars-locator:0.52")
implementation("org.webjars.npm:echarts:${versions["echarts"]}")
@@ -85,14 +89,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")
+ integrationTestImplementation("org.apache.commons:commons-compress:${versions["commons-compress"]}")
}
tasks.withType<KotlinCompile> {
- kotlinOptions {
- freeCompilerArgs += "-Xjsr305=strict"
- jvmTarget = "21"
+ compilerOptions {
+ freeCompilerArgs.add("-Xjsr305=strict")
+ jvmTarget.set(JvmTarget.JVM_21)
}
}
@@ -112,6 +119,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")