import org.springframework.boot.gradle.tasks.bundling.BootBuildImage plugins { id("org.springframework.boot") version "3.3.2" id("io.spring.dependency-management") version "1.1.6" kotlin("jvm") version "1.9.24" kotlin("plugin.spring") version "1.9.24" jacoco } group = "dev.pcvolkmer.onco-analytics" version = "0.1.0" java { toolchain { languageVersion = JavaLanguageVersion.of(21) } } configurations { compileOnly { extendsFrom(configurations.annotationProcessor.get()) } } repositories { mavenCentral() } dependencies { implementation("org.springframework.boot:spring-boot-starter-integration") implementation("org.springframework.boot:spring-boot-starter-thymeleaf") implementation("org.springframework.boot:spring-boot-starter-webflux") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") implementation("io.projectreactor.kotlin:reactor-kotlin-extensions") implementation("org.jetbrains.kotlin:kotlin-reflect") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-reactor") implementation("org.springframework.kafka:spring-kafka") implementation("commons-codec:commons-codec") implementation("ca.uhn.hapi.fhir:hapi-fhir-structures-r4:7.2.2") developmentOnly("org.springframework.boot:spring-boot-devtools") developmentOnly("org.springframework.boot:spring-boot-docker-compose") annotationProcessor("org.springframework.boot:spring-boot-configuration-processor") testImplementation("org.springframework.boot:spring-boot-starter-test") testImplementation("io.projectreactor:reactor-test") testImplementation("org.jetbrains.kotlin:kotlin-test-junit5") testImplementation("org.springframework.integration:spring-integration-test") testImplementation("org.springframework.kafka:spring-kafka-test") testImplementation("org.mockito.kotlin:mockito-kotlin:5.4.0") testRuntimeOnly("org.junit.platform:junit-platform-launcher") } kotlin { compilerOptions { freeCompilerArgs.addAll("-Xjsr305=strict") } } tasks.withType { useJUnitPlatform() } tasks.named("bootBuildImage") { imageName.set("ghcr.io/pcvolkmer/onco-analytics-monitor") environment.set(environment.get() + mapOf( "BP_OCI_SOURCE" to "https://github.com/pcvolkmer/onco-analytics-monitor", "BP_OCI_LICENSES" to "AGPLv3", "BP_OCI_DESCRIPTION" to "Kafka Topic monitoring for https://github.com/bzkf/onco-analytics-on-fhir" )) }