From 0ee1ee50544734a0a7112af729fa5129067b6739 Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Thu, 9 Nov 2023 11:32:00 +0100 Subject: [PATCH] RED-7784 - Buildpack to install fontconfig --- .../build.gradle.kts | 33 ++++++++++++++++++- .../src/main/resources/Aptfile | 1 + 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 redaction-report-service-v1/redaction-report-service-server-v1/src/main/resources/Aptfile diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/build.gradle.kts b/redaction-report-service-v1/redaction-report-service-server-v1/build.gradle.kts index b4d83f3..1de3089 100644 --- a/redaction-report-service-v1/redaction-report-service-server-v1/build.gradle.kts +++ b/redaction-report-service-v1/redaction-report-service-server-v1/build.gradle.kts @@ -54,10 +54,26 @@ dependencies { tasks.named("bootBuildImage") { - imageName.set("nexus.knecon.com:5001/red/${project.name}:${project.version}") + environment.put("BPE_DELIM_JAVA_TOOL_OPTIONS", " ") + environment.put("BPE_APPEND_JAVA_TOOL_OPTIONS", "-Dfile.encoding=UTF-8") + environment.put("BPE_FONTCONFIG_PATH", "/layers/fagiani_apt/apt/etc/fonts/") + + val aptFile = layout.projectDirectory.file("src/main/resources/Aptfile").toString() + bindings.add("${aptFile}:/workspace/Aptfile:ro") + + buildpacks.set( + listOf( + "ghcr.io/fagiani/buildpacks/fagiani_apt@sha256:6471c8c70f32b749e29f65ae562ac0339fecad26aa9217628c00a6c31f197dae", + "urn:cnb:builder:paketo-buildpacks/java" + ) + ) + + imageName.set("nexus.knecon.com:5001/red/${project.name}:cache") // 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) @@ -70,5 +86,20 @@ tasks.named("bootBuildImage") { email.set(providers.gradleProperty("mavenEmail").getOrNull()) url.set("https://nexus.knecon.com:5001/") } + + doLast { + // after the build has been finished, retag the created image with the correct version and push to registry + val dockerTag = "nexus.knecon.com:5001/red/${project.name}:${project.version}" + println("Tagging image as $dockerTag") + project.exec { + commandLine("docker", "tag", imageName.get(), dockerTag) + } + if (publish.get()) { + println("Publishing $dockerTag") + project.exec { + commandLine("docker", "push", dockerTag) + } + } + } } } diff --git a/redaction-report-service-v1/redaction-report-service-server-v1/src/main/resources/Aptfile b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/resources/Aptfile new file mode 100644 index 0000000..92c1342 --- /dev/null +++ b/redaction-report-service-v1/redaction-report-service-server-v1/src/main/resources/Aptfile @@ -0,0 +1 @@ +fontconfig \ No newline at end of file