diff options
Diffstat (limited to 'build.gradle.kts')
| -rw-r--r-- | build.gradle.kts | 64 |
1 files changed, 48 insertions, 16 deletions
diff --git a/build.gradle.kts b/build.gradle.kts index e9e698e..acd68cf 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,30 +1,36 @@ 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.12" - id("io.spring.dependency-management") version "1.1.5" - kotlin("jvm") version "1.9.24" - kotlin("plugin.spring") version "1.9.24" + id("org.springframework.boot") version "3.3.10" + id("io.spring.dependency-management") version "1.1.7" + kotlin("jvm") version "1.9.25" + kotlin("plugin.spring") version "1.9.25" + jacoco } group = "dev.dnpm" -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", + "bwhc-dto-java" to "0.4.0", + "hapi-fhir" to "7.6.0", + "commons-compress" to "1.26.2", + "mockito-kotlin" to "5.4.0", + "archunit" to "1.3.0", // Webjars + "webjars-locator" to "0.52", "echarts" to "5.4.3", "htmx.org" to "1.9.12" ) java { - sourceCompatibility = JavaVersion.VERSION_21 + toolchain { + languageVersion = JavaLanguageVersion.of(21) + } } sourceSets { @@ -62,37 +68,47 @@ 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:webjars-locator:${versions["webjars-locator"]}") implementation("org.webjars.npm:echarts:${versions["echarts"]}") implementation("org.webjars.npm:htmx.org:${versions["htmx.org"]}") + runtimeOnly("org.mariadb.jdbc:mariadb-java-client") runtimeOnly("org.postgresql:postgresql") + developmentOnly("org.springframework.boot:spring-boot-devtools") developmentOnly("org.springframework.boot:spring-boot-docker-compose") + annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") + providedRuntime("org.springframework.boot:spring-boot-starter-tomcat") + testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("org.springframework.security:spring-security-test") testImplementation("io.projectreactor:reactor-test") 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.2") + 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 +128,22 @@ task<Test>("integrationTest") { shouldRunAfter("test") } +tasks.register("allTests") { + description = "Run all tests" + group = JavaBasePlugin.VERIFICATION_GROUP + 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/pcvolkmer/etl-processor") |
