diff --git a/jdock/src/main/java/io/quarkus/images/modules/GraalVMModule.java b/jdock/src/main/java/io/quarkus/images/modules/GraalVMModule.java index 9efdcdb8..d309aca2 100644 --- a/jdock/src/main/java/io/quarkus/images/modules/GraalVMModule.java +++ b/jdock/src/main/java/io/quarkus/images/modules/GraalVMModule.java @@ -19,15 +19,15 @@ public class GraalVMModule extends AbstractModule { private final boolean isLegacyGraalVm; private static final String TEMPLATE = """ + --mount=type=bind,source=%s,target=%s \\ tar xzf %s -C /opt \\ && mv /opt/graalvm-ce-*-%s* /opt/graalvm \\ - && %s/bin/gu --auto-yes install native-image \\ - && rm -Rf %s"""; + && %s/bin/gu --auto-yes install native-image"""; private static final String NEW_TEMPLATE = """ + --mount=type=bind,source=%s,target=%s \\ tar xzf %s -C /opt \\ - && mv /opt/graalvm-community-openjdk-%s* /opt/graalvm \\ - && rm -Rf %s"""; + && mv /opt/graalvm-community-openjdk-%s* /opt/graalvm"""; private final String graalvmVersion; public GraalVMModule(String version, String arch, String javaVersion, String sha) { @@ -71,21 +71,20 @@ public List commands(BuildContext bc) { String script; if (isLegacyGraalVm) { script = TEMPLATE.formatted( + artifact.path, "/tmp/" + artifact.name, // mount bind "/tmp/" + artifact.name, // tar - graalvmVersion, - GRAALVM_HOME, // gu - "/tmp/" + artifact.name); // rm + graalvmVersion, // mv + GRAALVM_HOME); // gu } else { script = NEW_TEMPLATE.formatted( + artifact.path, "/tmp/" + artifact.name, // mount bind "/tmp/" + artifact.name, // tar - graalvmVersion, - "/tmp/" + artifact.name); // rm + graalvmVersion); } return List.of( new EnvCommand("JAVA_HOME", GRAALVM_HOME, "GRAALVM_HOME", GRAALVM_HOME), new MicrodnfCommand("fontconfig", "freetype-devel"), - new CopyCommand(artifact, "/tmp/" + artifact.name), new RunCommand(script)); } } diff --git a/jdock/src/main/java/io/quarkus/images/modules/MandrelModule.java b/jdock/src/main/java/io/quarkus/images/modules/MandrelModule.java index a68f92f0..f51959cc 100644 --- a/jdock/src/main/java/io/quarkus/images/modules/MandrelModule.java +++ b/jdock/src/main/java/io/quarkus/images/modules/MandrelModule.java @@ -14,9 +14,9 @@ public class MandrelModule extends AbstractModule { private final String filename; private static final String TEMPLATE = """ + --mount=type=bind,source=%s,target=%s \\ mkdir -p %s \\ - && tar xzf %s -C %s --strip-components=1 \\ - && rm -Rf %s"""; + && tar xzf %s -C %s --strip-components=1"""; public MandrelModule(String version, String arch, String javaVersion, String sha) { super("mandrel", @@ -39,11 +39,14 @@ public MandrelModule(String version, String arch, String javaVersion, String sha public List commands(BuildContext bc) { Artifact artifact = bc.addArtifact(new Artifact(filename, url, sha)); String script = TEMPLATE.formatted( - MANDREL_HOME, "/tmp/" + artifact.name, MANDREL_HOME, "/tmp/" + artifact.name); + artifact.path, "/tmp/" + artifact.name, // mount bind + MANDREL_HOME, // mkdir + "/tmp/" + artifact.name, MANDREL_HOME, //tar + "/tmp/" + artifact.name); //rm + return List.of( new EnvCommand("JAVA_HOME", MANDREL_HOME, "GRAALVM_HOME", MANDREL_HOME), new MicrodnfCommand("fontconfig", "freetype-devel"), - new CopyCommand(artifact, "/tmp/" + artifact.name), new RunCommand(script)); } }