import org.springframework.boot.gradle.tasks.bundling.BootBuildImage plugins { application id("com.iqser.red.service.java-conventions") id("org.springframework.boot") version "3.1.4" id("io.spring.dependency-management") version "1.1.3" id("org.sonarqube") version "4.4.1.3373" id("io.freefair.lombok") version "8.4" } description = "redaction-service-server-v1" val layoutParserVersion = "0.72.0" val jacksonVersion = "2.15.2" val droolsVersion = "9.44.0.Final" val pdfBoxVersion = "3.0.0" val persistenceServiceVersion = "2.210.0" configurations { all { exclude(group = "org.springframework.boot", module = "spring-boot-starter-logging") } } dependencies { implementation(project(":redaction-service-api-v1")) { exclude(group = "com.iqser.red.service", module = "persistence-service-internal-api-v1") } implementation("com.iqser.red.service:persistence-service-internal-api-v1:${persistenceServiceVersion}") { exclude(group = "org.springframework.boot") } implementation("com.knecon.fforesight:layoutparser-service-internal-api:${layoutParserVersion}") implementation("com.iqser.red.commons:spring-commons:6.2.0") implementation("com.iqser.red.commons:metric-commons:2.3.0") implementation("com.iqser.red.commons:dictionary-merge-commons:1.5.0") implementation("com.iqser.red.commons:storage-commons:2.45.0") implementation("com.knecon.fforesight:tenant-commons:0.14.0") implementation("com.fasterxml.jackson.module:jackson-module-afterburner:${jacksonVersion}") implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:${jacksonVersion}") implementation("org.ahocorasick:ahocorasick:0.6.3") implementation("org.javassist:javassist:3.29.2-GA") implementation("org.drools:drools-engine:${droolsVersion}") implementation("org.drools:drools-mvel:${droolsVersion}") implementation("org.kie:kie-spring:7.74.1.Final") implementation("org.locationtech.jts:jts-core:1.19.0") implementation("org.springframework.cloud:spring-cloud-starter-openfeign:4.0.4") implementation("org.springframework.boot:spring-boot-starter-amqp:3.1.4") testImplementation("org.apache.pdfbox:pdfbox:${pdfBoxVersion}") testImplementation("org.apache.pdfbox:pdfbox-tools:${pdfBoxVersion}") testImplementation("org.springframework.boot:spring-boot-starter-test:3.1.4") testImplementation("com.knecon.fforesight:layoutparser-service-processor:${layoutParserVersion}") { exclude( group = "com.iqser.red.service", module = "persistence-service-shared-api-v1" ) } } tasks.test { configure { excludes = listOf("org/drools/**/*") } } tasks.named("bootBuildImage") { environment.put("BPE_DELIM_JAVA_TOOL_OPTIONS", " ") environment.put("BPE_APPEND_JAVA_TOOL_OPTIONS", "-Dfile.encoding=UTF-8") imageName.set("nexus.knecon.com:5001/red/${project.name}:${project.version}") if (project.hasProperty("buildbootDockerHostNetwork")) { network.set("host") } docker { if (project.hasProperty("buildbootDockerHostNetwork")) { bindHostToBuilder.set(true) } verboseLogging.set(true) publishRegistry { username.set(providers.gradleProperty("mavenUser").getOrNull()) password.set(providers.gradleProperty("mavenPassword").getOrNull()) email.set(providers.gradleProperty("mavenEmail").getOrNull()) url.set("https://nexus.knecon.com:5001/") } } }