diff --git a/src/main/scala/com/typesafe/sbt/packager/docker/DockerPlugin.scala b/src/main/scala/com/typesafe/sbt/packager/docker/DockerPlugin.scala index 421666a83..c2bfe64bf 100644 --- a/src/main/scala/com/typesafe/sbt/packager/docker/DockerPlugin.scala +++ b/src/main/scala/com/typesafe/sbt/packager/docker/DockerPlugin.scala @@ -81,7 +81,7 @@ object DockerPlugin extends AutoPlugin { // run validation, and warn the build users if the strategy is not compatible with `docker` that's in scope. dockerPermissionStrategy := DockerPermissionStrategy.MultiStage, dockerChmodType := DockerChmodType.UserGroupReadExecute, - dockerBaseImage := "openjdk:8", + dockerBaseImage := "eclipse-temurin:25", dockerExposedPorts := Seq(), dockerExposedUdpPorts := Seq(), dockerExposedVolumes := Seq(), diff --git a/src/sbt-test/docker/file-permission/build.sbt b/src/sbt-test/docker/file-permission/build.sbt index b54a88155..07a3ca21f 100644 --- a/src/sbt-test/docker/file-permission/build.sbt +++ b/src/sbt-test/docker/file-permission/build.sbt @@ -79,7 +79,7 @@ lazy val root = (project in file(".")) val lines = dockerfile.linesIterator.toList assertEquals( lines, - """FROM openjdk:8 AS mainstage + """FROM eclipse-temurin:25 AS mainstage |USER root |RUN id -u demiourgos728 1>/dev/null 2>&1 || (( getent group 0 1>/dev/null 2>&1 || ( type groupadd 1>/dev/null 2>&1 && groupadd -g 0 root || addgroup -g 0 -S root )) && ( type useradd 1>/dev/null 2>&1 && useradd --system --create-home --uid 1001 --gid 0 demiourgos728 || adduser -S -u 1001 -G root demiourgos728 )) |WORKDIR /opt/docker diff --git a/src/sbt-test/docker/jdk-versions/build.sbt b/src/sbt-test/docker/jdk-versions/build.sbt index 5b02efec7..eb3ffff22 100644 --- a/src/sbt-test/docker/jdk-versions/build.sbt +++ b/src/sbt-test/docker/jdk-versions/build.sbt @@ -7,24 +7,43 @@ lazy val `jdk8` = project .enablePlugins(JavaAppPackaging) .settings( name := basename + "-8", - dockerBaseImage := "openjdk:8u162-jre", + dockerBaseImage := "eclipse-temurin:8-jre", dockerBuildOptions := dockerBuildOptions.value ++ Seq("-t", "jdk-versions:8") ) -lazy val `jdk9` = project - .in(file("jdk9")) +lazy val `jdk11` = project + .in(file("jdk11")) .enablePlugins(JavaAppPackaging) .settings( - name := basename + "-9", - dockerBaseImage := "openjdk:9.0.4-jre", - dockerBuildOptions := dockerBuildOptions.value ++ Seq("-t", "jdk-versions:9") + name := basename + "-11", + dockerBaseImage := "eclipse-temurin:11-jre", + dockerBuildOptions := dockerBuildOptions.value ++ Seq("-t", "jdk-versions:11") ) -lazy val `jdk10` = project - .in(file("jdk10")) +lazy val `jdk17` = project + .in(file("jdk17")) .enablePlugins(JavaAppPackaging) .settings( - name := basename + "-10", - dockerBaseImage := "openjdk:10-jre", - dockerBuildOptions := dockerBuildOptions.value ++ Seq("-t", "jdk-versions:10") + name := basename + "-17", + dockerBaseImage := "eclipse-temurin:17-jre", + dockerBuildOptions := dockerBuildOptions.value ++ Seq("-t", "jdk-versions:17") + ) + +lazy val `jdk21` = project + .in(file("jdk21")) + .enablePlugins(JavaAppPackaging) + .settings( + name := basename + "-21", + dockerBaseImage := "eclipse-temurin:21-jre", + dockerBuildOptions := dockerBuildOptions.value ++ Seq("-t", "jdk-versions:21") + ) + + +lazy val `jdk25` = project + .in(file("jdk25")) + .enablePlugins(JavaAppPackaging) + .settings( + name := basename + "-25", + dockerBaseImage := "eclipse-temurin:25-jre", + dockerBuildOptions := dockerBuildOptions.value ++ Seq("-t", "jdk-versions:25") ) diff --git a/src/sbt-test/docker/jdk-versions/jdk10/src/main/scala/Hello.scala b/src/sbt-test/docker/jdk-versions/jdk11/src/main/scala/Hello.scala similarity index 52% rename from src/sbt-test/docker/jdk-versions/jdk10/src/main/scala/Hello.scala rename to src/sbt-test/docker/jdk-versions/jdk11/src/main/scala/Hello.scala index acd57d1be..197bd48eb 100644 --- a/src/sbt-test/docker/jdk-versions/jdk10/src/main/scala/Hello.scala +++ b/src/sbt-test/docker/jdk-versions/jdk11/src/main/scala/Hello.scala @@ -1,3 +1,3 @@ object Hello extends App { - println("Hello JDK10!") + println("Hello JDK11!") } diff --git a/src/sbt-test/docker/jdk-versions/jdk9/src/main/scala/Hello.scala b/src/sbt-test/docker/jdk-versions/jdk17/src/main/scala/Hello.scala similarity index 52% rename from src/sbt-test/docker/jdk-versions/jdk9/src/main/scala/Hello.scala rename to src/sbt-test/docker/jdk-versions/jdk17/src/main/scala/Hello.scala index d79f58471..86b992607 100644 --- a/src/sbt-test/docker/jdk-versions/jdk9/src/main/scala/Hello.scala +++ b/src/sbt-test/docker/jdk-versions/jdk17/src/main/scala/Hello.scala @@ -1,3 +1,3 @@ object Hello extends App { - println("Hello JDK9!") + println("Hello JDK17!") } diff --git a/src/sbt-test/docker/jdk-versions/jdk21/src/main/scala/Hello.scala b/src/sbt-test/docker/jdk-versions/jdk21/src/main/scala/Hello.scala new file mode 100644 index 000000000..1f53edc4e --- /dev/null +++ b/src/sbt-test/docker/jdk-versions/jdk21/src/main/scala/Hello.scala @@ -0,0 +1,3 @@ +object Hello extends App { + println("Hello JDK21!") +} \ No newline at end of file diff --git a/src/sbt-test/docker/jdk-versions/jdk25/src/main/scala/Hello.scala b/src/sbt-test/docker/jdk-versions/jdk25/src/main/scala/Hello.scala new file mode 100644 index 000000000..daf73eed4 --- /dev/null +++ b/src/sbt-test/docker/jdk-versions/jdk25/src/main/scala/Hello.scala @@ -0,0 +1,3 @@ +object Hello extends App { + println("Hello JDK25!") +} \ No newline at end of file diff --git a/src/sbt-test/docker/jdk-versions/test b/src/sbt-test/docker/jdk-versions/test index 579af7d63..2ece73364 100644 --- a/src/sbt-test/docker/jdk-versions/test +++ b/src/sbt-test/docker/jdk-versions/test @@ -1,9 +1,15 @@ > project jdk8 > Docker/publishLocal $ exec bash -c 'docker run --rm jdk-versions:8 | grep -q "Hello JDK8!"' -> project jdk9 +> project jdk11 > Docker/publishLocal -$ exec bash -c 'docker run --rm jdk-versions:9 | grep -q "Hello JDK9!"' -> project jdk10 +$ exec bash -c 'docker run --rm jdk-versions:11 | grep -q "Hello JDK11!"' +> project jdk17 > Docker/publishLocal -$ exec bash -c 'docker run --rm jdk-versions:10 | grep -q "Hello JDK10!"' +$ exec bash -c 'docker run --rm jdk-versions:17 | grep -q "Hello JDK17!"' +> project jdk21 +> Docker/publishLocal +$ exec bash -c 'docker run --rm jdk-versions:21 | grep -q "Hello JDK21!"' +> project jdk25 +> Docker/publishLocal +$ exec bash -c 'docker run --rm jdk-versions:25 | grep -q "Hello JDK25!"' diff --git a/src/sbt-test/docker/override-commands/build.sbt b/src/sbt-test/docker/override-commands/build.sbt index 07ac65650..ae1d06622 100644 --- a/src/sbt-test/docker/override-commands/build.sbt +++ b/src/sbt-test/docker/override-commands/build.sbt @@ -9,7 +9,7 @@ maintainer := "Gary Coady " dockerUpdateLatest := true dockerCommands := Seq( - Cmd("FROM", "openjdk:8"), + Cmd("FROM", "eclipse-temurin:25"), Cmd("LABEL", s"""MAINTAINER="${maintainer.value}""""), ExecCmd("CMD", "echo", "Hello, World from Docker") ) diff --git a/src/sphinx/formats/docker.rst b/src/sphinx/formats/docker.rst index f507d4047..8df8ad98e 100644 --- a/src/sphinx/formats/docker.rst +++ b/src/sphinx/formats/docker.rst @@ -337,7 +337,7 @@ In your sbt console type .. code-block:: bash > show dockerCommands - [info] List(Cmd(FROM,openjdk:8), Cmd(LABEL,MAINTAINER=Your Name ), ...) + [info] List(Cmd(FROM,eclipse-temurin:25), Cmd(LABEL,MAINTAINER=Your Name ), ...) @@ -405,7 +405,7 @@ Now let's start adding some Docker commands. import com.typesafe.sbt.packager.docker._ dockerCommands := Seq( - Cmd("FROM", "openjdk:8"), + Cmd("FROM", "eclipse-temurin:25"), Cmd("LABEL", s"""MAINTAINER="${maintainer.value}""""), ExecCmd("CMD", "echo", "Hello, World from Docker") ) diff --git a/test-project-docker/build.sbt b/test-project-docker/build.sbt index fa298560a..8a6efa076 100644 --- a/test-project-docker/build.sbt +++ b/test-project-docker/build.sbt @@ -4,7 +4,7 @@ name := "docker-test" version := "0.1.0" maintainer := "Gary Coady " -dockerBaseImage := "openjdk:8-jre-alpine" +dockerBaseImage := "eclipse-temurin:25-jre-alpine" dockerUpdateLatest := true dockerBuildxPlatforms := Seq("linux/arm64/v8", "linux/amd64") dockerUsername := Some("dswiecki")