83 lines
3.6 KiB
Plaintext
83 lines
3.6 KiB
Plaintext
import org.springframework.boot.gradle.tasks.bundling.BootBuildImage
|
|
|
|
plugins {
|
|
application
|
|
id("com.iqser.red.service.java-conventions")
|
|
id("org.springframework.boot") version "3.1.5"
|
|
id("io.spring.dependency-management") version "1.1.3"
|
|
id("org.sonarqube") version "4.3.0.3225"
|
|
id("io.freefair.lombok") version "8.2.2"
|
|
}
|
|
|
|
configurations {
|
|
all {
|
|
exclude(group = "commons-logging", module = "commons-logging")
|
|
exclude(group = "org.springframework.boot", module = "spring-boot-starter-log4j2")
|
|
exclude(group = "com.iqser.red.commons", module = "logging-commons")
|
|
}
|
|
}
|
|
|
|
val springBootStarterVersion = "3.1.5"
|
|
|
|
dependencies {
|
|
implementation(project(":ocr-service-processor"))
|
|
implementation(project(":ocr-service-api"))
|
|
|
|
implementation("com.knecon.fforesight:tracing:0.5.0")
|
|
implementation("org.springframework.cloud:spring-cloud-starter-openfeign:4.0.4")
|
|
implementation("org.springframework.boot:spring-boot-starter-amqp:${springBootStarterVersion}")
|
|
|
|
implementation("net.logstash.logback:logstash-logback-encoder:7.4")
|
|
implementation("ch.qos.logback:logback-classic")
|
|
|
|
testImplementation("org.springframework.boot:spring-boot-starter-test:${springBootStarterVersion}")
|
|
testImplementation("com.iqser.red.commons:test-commons:2.1.0")
|
|
testImplementation("org.springframework.amqp:spring-rabbit-test:3.0.2")
|
|
}
|
|
|
|
tasks.named<BootBuildImage>("bootBuildImage") {
|
|
|
|
environment.put("BPE_DELIM_JAVA_TOOL_OPTIONS", " ")
|
|
environment.put("BPE_APPEND_JAVA_TOOL_OPTIONS", "-Dfile.encoding=UTF-8")
|
|
environment.put("BPE_GS_LIB", "/layers/fagiani_apt/apt/usr/share/ghostscript/9.26/Resource/Init/") // set ghostscript lib path
|
|
environment.put("BPE_FONTCONFIG_PATH", "/layers/fagiani_apt/apt/etc/fonts/") // set ghostscript fontconfig path
|
|
|
|
var aptfile = layout.projectDirectory.file("src/main/resources/Aptfile").toString()
|
|
bindings.add("${aptfile}:/workspace/Aptfile:ro")
|
|
|
|
val vcpkgFile = layout.projectDirectory.file("src/main/resources/vcpkg.json").toString()
|
|
bindings.add("${vcpkgFile}:/workspace/vcpkg.json:ro")
|
|
|
|
val languagesFile = layout.projectDirectory.file("src/main/resources/tesseract_languages").toString()
|
|
bindings.add("${languagesFile}:/workspace/tesseract_languages:ro")
|
|
|
|
buildpacks.set(
|
|
listOf(
|
|
"ghcr.io/fagiani/buildpacks/fagiani_apt@sha256:6471c8c70f32b749e29f65ae562ac0339fecad26aa9217628c00a6c31f197dae",
|
|
"ghcr.io/kschuettler/knecon-vcpkg@sha256:ba5e967b124de4865ff7e8f565684f752dd6e97b302e2dcf651283f6a19b98b9",
|
|
"ghcr.io/kschuettler/knecon-tessdata@sha256:9062f728aa0340ac963bcdd6f5e740d683823a81d3f480db894da15bff72691a",
|
|
"urn:cnb:builder:paketo-buildpacks/java"
|
|
)
|
|
)
|
|
imageName.set("nexus.knecon.com:5001/ff/${project.name}") // must build image with same name always, otherwise the builder will not know which image to use as cache. DO NOT CHANGE!
|
|
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/")
|
|
}
|
|
|
|
val dockerTag = "nexus.knecon.com:5001/ff/${project.name}:${project.version}"
|
|
tags.set(listOf(dockerTag))
|
|
}
|
|
}
|