diff --git a/README.md b/README.md index 4459f50..d1db92f 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ All functions support switching between Docker image variants using flags: - **`--rust`** (`-rs`) - Rust image (includes Rust toolchain) - **`--dotnet-rust`** (`-dr`) - .NET + Rust image - **`--golang`** (`-go`) - Golang image (includes Go toolchain) -- **`--java`** (`-j`) - Java image (includes JDK 21, Maven, Gradle, PlantUML) +- **`--java`** (`-j`) - Java image (includes JDK 25, Maven, Gradle, PlantUML) - **`--image `** (`-i`) - Use any custom Docker image (e.g., `my-image:tag`, `registry.io/org/image:v1`) ### Additional Options @@ -558,7 +558,7 @@ This project provides multiple Docker image variants for different development s | `rust` | `--rust` | Rust toolchain | | `dotnet-rust` | `--dotnet-rust` | .NET + Rust combined | | `golang` | `--golang` | Go toolchain | -| `java` | `--java` | Java JDK 21 with Maven, Gradle & PlantUML | +| `java` | `--java` | Java JDK 25 with Maven, Gradle & PlantUML | | *(custom)* | `--image ` | Any custom Docker image | ### Choosing the Right Image diff --git a/app/Commands/Run/RunCommand.cs b/app/Commands/Run/RunCommand.cs index ebfd0fd..17b6e4e 100644 --- a/app/Commands/Run/RunCommand.cs +++ b/app/Commands/Run/RunCommand.cs @@ -104,7 +104,7 @@ public RunCommand(bool isYolo = false) _golangOption = new Option("--golang") { Description = "[-go] Use Golang image variant" }; - _javaOption = new Option("--java") { Description = "[-j] Use Java image variant (JDK 21 + Maven + Gradle + PlantUML)" }; + _javaOption = new Option("--java") { Description = "[-j] Use Java image variant (JDK 25 + Maven + Gradle + PlantUML)" }; _mountOption = new Option("--mount") { Description = "Mount directory (read-only). Format: path or host:container" }; diff --git a/docker/generated/Dockerfile.java b/docker/generated/Dockerfile.java index c1d6756..b60e81b 100644 --- a/docker/generated/Dockerfile.java +++ b/docker/generated/Dockerfile.java @@ -45,19 +45,19 @@ fi # --- snippet: java --- -# Install Java (Eclipse Temurin JDK 21), Maven, and Gradle +# Install Java (Eclipse Temurin JDK 25), Maven, and Gradle # Using Eclipse Temurin - widely used, well-maintained OpenJDK distribution # Add Eclipse Temurin repository and install JDK RUN apt-get update && apt-get install -y gnupg unzip \ && wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor -o /usr/share/keyrings/adoptium.gpg \ && echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb $(. /etc/os-release && echo $VERSION_CODENAME) main" > /etc/apt/sources.list.d/adoptium.list \ - && apt-get update && apt-get install -y temurin-21-jdk \ + && apt-get update && apt-get install -y temurin-25-jdk \ && rm -rf /var/lib/apt/lists/* # Set JAVA_HOME dynamically based on architecture (ENV can't use command substitution) -RUN ln -s /usr/lib/jvm/temurin-21-jdk-$(dpkg --print-architecture) /usr/lib/jvm/temurin-21-jdk -ENV JAVA_HOME=/usr/lib/jvm/temurin-21-jdk +RUN ln -s /usr/lib/jvm/temurin-25-jdk-$(dpkg --print-architecture) /usr/lib/jvm/temurin-25-jdk +ENV JAVA_HOME=/usr/lib/jvm/temurin-25-jdk ENV PATH="${JAVA_HOME}/bin:${PATH}" # Install Maven diff --git a/docker/snippets/java.Dockerfile b/docker/snippets/java.Dockerfile index cf849b0..ae8e0da 100644 --- a/docker/snippets/java.Dockerfile +++ b/docker/snippets/java.Dockerfile @@ -1,16 +1,16 @@ -# Install Java (Eclipse Temurin JDK 21), Maven, and Gradle +# Install Java (Eclipse Temurin JDK 25), Maven, and Gradle # Using Eclipse Temurin - widely used, well-maintained OpenJDK distribution # Add Eclipse Temurin repository and install JDK RUN apt-get update && apt-get install -y gnupg unzip \ && wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | gpg --dearmor -o /usr/share/keyrings/adoptium.gpg \ && echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb $(. /etc/os-release && echo $VERSION_CODENAME) main" > /etc/apt/sources.list.d/adoptium.list \ - && apt-get update && apt-get install -y temurin-21-jdk \ + && apt-get update && apt-get install -y temurin-25-jdk \ && rm -rf /var/lib/apt/lists/* # Set JAVA_HOME dynamically based on architecture (ENV can't use command substitution) -RUN ln -s /usr/lib/jvm/temurin-21-jdk-$(dpkg --print-architecture) /usr/lib/jvm/temurin-21-jdk -ENV JAVA_HOME=/usr/lib/jvm/temurin-21-jdk +RUN ln -s /usr/lib/jvm/temurin-25-jdk-$(dpkg --print-architecture) /usr/lib/jvm/temurin-25-jdk +ENV JAVA_HOME=/usr/lib/jvm/temurin-25-jdk ENV PATH="${JAVA_HOME}/bin:${PATH}" # Install Maven diff --git a/docs/docker-images.md b/docs/docker-images.md index 22115c2..0840f11 100644 --- a/docs/docker-images.md +++ b/docs/docker-images.md @@ -62,7 +62,7 @@ Extends the base image with: **Tag:** `ghcr.io/gordonbeeming/copilot_here:java` Extends the base image with: -- Java JDK 21 (Eclipse Temurin) +- Java JDK 25 (Eclipse Temurin) - Maven - Gradle - PlantUML (with Graphviz)