Skip to content

Commit b3608a3

Browse files
authored
Merge pull request #390 from gradle/cobexer/java-26
2 parents b65ed32 + 5a1cebb commit b3608a3

File tree

9 files changed

+340
-10
lines changed

9 files changed

+340
-10
lines changed

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ Maintained by the [Gradle team](https://github.com/gradle/docker-gradle) as an [
1515
- **JDK 11**[`jdk11`, `jdk11-noble`](https://github.com/gradle/docker-gradle/tree/8/jdk11-noble/Dockerfile), [`jdk11-jammy`](https://github.com/gradle/docker-gradle/tree/8/jdk11-jammy/Dockerfile), [`jdk11-alpine`](https://github.com/gradle/docker-gradle/tree/8/jdk11-alpine/Dockerfile), [`jdk11-corretto`](https://github.com/gradle/docker-gradle/tree/8/jdk11-corretto/Dockerfile), [`jdk11-ubi9`](https://github.com/gradle/docker-gradle/tree/8/jdk11-ubi9/Dockerfile)
1616
- **JDK 17**[`jdk17`, `jdk17-noble`](jdk17-noble/Dockerfile), [`jdk17-jammy`](jdk17-jammy/Dockerfile), [`jdk17-alpine`](jdk17-alpine/Dockerfile), [`jdk17-corretto`](jdk17-corretto/Dockerfile), [`jdk17-ubi10`](jdk17-ubi10/Dockerfile), [`jdk17-ubi9`](jdk17-ubi9/Dockerfile), [`jdk17-noble-graal`](jdk17-noble-graal/Dockerfile)
1717
- **JDK 21**[`jdk21`, `jdk21-noble`](jdk21-noble/Dockerfile), [`jdk21-jammy`](jdk21-jammy/Dockerfile), [`jdk21-alpine`](jdk21-alpine/Dockerfile), [`jdk21-corretto`](jdk21-corretto/Dockerfile), [`jdk21-ubi10`](jdk21-ubi10/Dockerfile), [`jdk21-ubi9`](jdk21-ubi9/Dockerfile), [`jdk21-graal`](jdk21-noble-graal/Dockerfile)
18-
- **JDK 25 (LTS)**[`jdk25`, `jdk25-noble`, `latest`](jdk25-noble/Dockerfile), [`jdk25-alpine`, `alpine`](jdk25-alpine/Dockerfile), [`jdk25-corretto`, `corretto`](jdk25-corretto/Dockerfile), [`jdk25-ubi10`, `ubi`](jdk25-ubi10/Dockerfile), [`jdk25-graal`, `graal`](jdk25-noble-graal/Dockerfile)
18+
- **JDK 25 (LTS)**[`jdk25`, `jdk25-noble`](jdk25-noble/Dockerfile), [`jdk25-alpine`](jdk25-alpine/Dockerfile), [`jdk25-corretto`](jdk25-corretto/Dockerfile), [`jdk25-ubi10`](jdk25-ubi10/Dockerfile), [`jdk25-graal`, `graal`](jdk25-noble-graal/Dockerfile)
19+
- **JDK 26**[`jdk26`, `jdk26-noble`, `latest`](jdk26-noble/Dockerfile), [`jdk26-alpine`, `alpine`](jdk26-alpine/Dockerfile), [`jdk26-corretto`, `corretto`](jdk26-corretto/Dockerfile), [`jdk26-ubi10`, `ubi`](jdk26-ubi10/Dockerfile)
1920

2021
See all tags on [Docker Hub](https://hub.docker.com/_/gradle/tags).
2122

jdk-lts-and-current-alpine/Dockerfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
FROM eclipse-temurin:25-jdk-alpine
22

3-
# We need this again when Java 26 comes out
4-
#COPY --from=eclipse-temurin:26-jdk-alpine /opt/java/openjdk /opt/java/openjdk26
3+
COPY --from=eclipse-temurin:26-jdk-alpine /opt/java/openjdk /opt/java/openjdk26
54
RUN set -o errexit -o nounset \
65
&& ln -s /opt/java/openjdk /opt/java/openjdk25
7-
ENV JAVA_CURRENT_HOME=/opt/java/openjdk25
86
ENV JAVA_LTS_HOME=/opt/java/openjdk25
7+
ENV JAVA_CURRENT_HOME=/opt/java/openjdk26
98

109
CMD ["gradle"]
1110

jdk-lts-and-current-corretto/Dockerfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
FROM amazoncorretto:25-al2023-jdk
22

3-
# We need this again when Java 26 comes out
4-
#COPY --from=amazoncorretto:26-al2023-jdk /usr/lib/jvm/java-26-amazon-corretto /usr/lib/jvm/java-26-amazon-corretto
3+
COPY --from=amazoncorretto:26-al2023-jdk /usr/lib/jvm/java-26-amazon-corretto /usr/lib/jvm/java-26-amazon-corretto
54
ENV JAVA_LTS_HOME=/usr/lib/jvm/java-25-amazon-corretto
6-
ENV JAVA_CURRENT_HOME=/usr/lib/jvm/java-25-amazon-corretto
5+
ENV JAVA_CURRENT_HOME=/usr/lib/jvm/java-26-amazon-corretto
76

87
CMD ["gradle"]
98

jdk-lts-and-current/Dockerfile

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
FROM eclipse-temurin:25-jdk-noble
22

3-
# We need this again when Java 26 comes out
4-
#COPY --from=eclipse-temurin:26-jdk-noble /opt/java/openjdk /opt/java/openjdk26
3+
COPY --from=eclipse-temurin:26-jdk-noble /opt/java/openjdk /opt/java/openjdk26
54
RUN set -o errexit -o nounset \
65
&& ln --symbolic /opt/java/openjdk /opt/java/openjdk25
76
ENV JAVA_LTS_HOME=/opt/java/openjdk25
8-
ENV JAVA_CURRENT_HOME=/opt/java/openjdk25
7+
ENV JAVA_CURRENT_HOME=/opt/java/openjdk26
98

109
CMD ["gradle"]
1110

jdk26-alpine/Dockerfile

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
FROM eclipse-temurin:26-jdk-alpine
2+
3+
CMD ["gradle"]
4+
5+
ENV GRADLE_HOME=/opt/gradle
6+
7+
RUN set -o errexit -o nounset \
8+
&& echo "Adding gradle user and group" \
9+
&& addgroup --system --gid 1000 gradle \
10+
&& adduser --system --ingroup gradle --uid 1000 --shell /bin/ash gradle \
11+
&& mkdir /home/gradle/.gradle \
12+
&& chown -R gradle:gradle /home/gradle \
13+
&& chmod -R o+rwx /home/gradle \
14+
\
15+
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
16+
&& ln -s /home/gradle/.gradle /root/.gradle
17+
18+
VOLUME /home/gradle/.gradle
19+
20+
WORKDIR /home/gradle
21+
22+
RUN set -o errexit -o nounset \
23+
&& apk add --no-cache \
24+
# common utilities
25+
make \
26+
curl \
27+
wget \
28+
tar \
29+
\
30+
# VCSes
31+
breezy \
32+
py3-tzlocal \
33+
git \
34+
git-lfs \
35+
mercurial \
36+
subversion \
37+
\
38+
&& echo "Testing common utilities" \
39+
&& which awk \
40+
&& which curl \
41+
&& which cut \
42+
&& which grep \
43+
&& which gunzip \
44+
&& which sha256sum \
45+
&& which sed \
46+
&& which tar \
47+
&& which tr \
48+
&& which unzip \
49+
&& which wget \
50+
\
51+
&& echo "Testing VCSes" \
52+
&& which git \
53+
&& which git-lfs \
54+
&& which hg \
55+
&& which svn
56+
57+
ENV GRADLE_VERSION=9.4.1
58+
ARG GRADLE_DOWNLOAD_SHA256=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb
59+
RUN set -o errexit -o nounset \
60+
&& echo "Downloading Gradle" \
61+
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
62+
\
63+
&& echo "Checking Gradle download hash" \
64+
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum -c - \
65+
\
66+
&& echo "Installing Gradle" \
67+
&& unzip gradle.zip \
68+
&& rm gradle.zip \
69+
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
70+
&& ln -s "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle
71+
72+
USER gradle
73+
74+
RUN set -o errexit -o nounset \
75+
&& echo "Testing Gradle installation" \
76+
&& gradle --stacktrace --debug --version
77+
78+
USER root

jdk26-corretto/Dockerfile

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
FROM amazoncorretto:26-al2023-jdk
2+
3+
CMD ["gradle"]
4+
5+
ENV GRADLE_HOME=/opt/gradle
6+
7+
RUN set -o errexit -o nounset \
8+
&& dnf install -y \
9+
# common utilities
10+
make \
11+
curl-minimal \
12+
wget \
13+
tar \
14+
\
15+
# Dockerfile dependencies
16+
unzip \
17+
which \
18+
\
19+
# Gradle dependencies
20+
findutils \
21+
\
22+
# VCS dependencies
23+
git \
24+
git-lfs \
25+
mercurial \
26+
subversion \
27+
&& dnf clean all \
28+
&& rm -rf /var/cache/yum \
29+
\
30+
&& echo "Testing common utilities" \
31+
&& which awk \
32+
&& which curl \
33+
&& which cut \
34+
&& which grep \
35+
&& which gunzip \
36+
&& which sha256sum \
37+
&& which sed \
38+
&& which tar \
39+
&& which tr \
40+
&& which unzip \
41+
&& which wget \
42+
\
43+
&& echo "Testing VCSes" \
44+
&& which git \
45+
&& which git-lfs \
46+
&& which hg \
47+
&& which svn
48+
49+
RUN set -o errexit -o nounset \
50+
&& echo "Adding gradle user and group" \
51+
&& groupadd --system --gid 1000 gradle \
52+
&& useradd --system --gid gradle --uid 1000 --shell /bin/bash --create-home gradle \
53+
&& mkdir /home/gradle/.gradle \
54+
&& chown --recursive gradle:gradle /home/gradle \
55+
&& chmod --recursive o+rwx /home/gradle \
56+
\
57+
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
58+
&& ln --symbolic /home/gradle/.gradle /root/.gradle
59+
60+
VOLUME /home/gradle/.gradle
61+
62+
WORKDIR /home/gradle
63+
64+
ENV GRADLE_VERSION=9.4.1
65+
ARG GRADLE_DOWNLOAD_SHA256=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb
66+
RUN set -o errexit -o nounset \
67+
&& echo "Downloading Gradle" \
68+
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
69+
\
70+
&& echo "Checking Gradle download hash" \
71+
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
72+
\
73+
&& echo "Installing Gradle" \
74+
&& unzip gradle.zip \
75+
&& rm gradle.zip \
76+
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
77+
&& ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle
78+
79+
USER gradle
80+
81+
RUN set -o errexit -o nounset \
82+
&& echo "Testing Gradle installation" \
83+
&& gradle --stacktrace --debug --version
84+
85+
USER root

jdk26-noble/Dockerfile

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
FROM eclipse-temurin:26-jdk-noble
2+
3+
CMD ["gradle"]
4+
5+
ENV GRADLE_HOME=/opt/gradle
6+
7+
RUN set -o errexit -o nounset \
8+
&& echo "Renaming ubuntu user and group to gradle" \
9+
&& groupmod --new-name gradle ubuntu \
10+
&& mkdir /home/gradle \
11+
&& usermod --login gradle --home /home/gradle --groups gradle ubuntu \
12+
&& chown gradle /home/gradle \
13+
&& mkdir /home/gradle/.gradle \
14+
&& chown --recursive gradle:gradle /home/gradle \
15+
&& chmod --recursive o+rwx /home/gradle \
16+
\
17+
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
18+
&& ln --symbolic /home/gradle/.gradle /root/.gradle
19+
20+
VOLUME /home/gradle/.gradle
21+
22+
WORKDIR /home/gradle
23+
24+
RUN set -o errexit -o nounset \
25+
&& apt-get update \
26+
&& apt-get install --yes --no-install-recommends \
27+
# common utilities
28+
make \
29+
curl \
30+
wget \
31+
tar \
32+
\
33+
# Dockerfile dependencies
34+
unzip \
35+
\
36+
# VCSes
37+
brz \
38+
git \
39+
git-lfs \
40+
mercurial \
41+
openssh-client \
42+
subversion \
43+
&& rm --recursive --force /var/lib/apt/lists/* \
44+
\
45+
&& echo "Testing common utilities" \
46+
&& which awk \
47+
&& which curl \
48+
&& which cut \
49+
&& which grep \
50+
&& which gunzip \
51+
&& which sha256sum \
52+
&& which sed \
53+
&& which tar \
54+
&& which tr \
55+
&& which unzip \
56+
&& which wget \
57+
\
58+
&& echo "Testing VCSes" \
59+
&& which brz \
60+
&& which git \
61+
&& which git-lfs \
62+
&& which hg \
63+
&& which svn
64+
65+
ENV GRADLE_VERSION=9.4.1
66+
ARG GRADLE_DOWNLOAD_SHA256=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb
67+
RUN set -o errexit -o nounset \
68+
&& echo "Downloading Gradle" \
69+
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
70+
\
71+
&& echo "Checking Gradle download hash" \
72+
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
73+
\
74+
&& echo "Installing Gradle" \
75+
&& unzip gradle.zip \
76+
&& rm gradle.zip \
77+
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
78+
&& ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle
79+
80+
USER gradle
81+
82+
RUN set -o errexit -o nounset \
83+
&& echo "Testing Gradle installation" \
84+
&& gradle --stacktrace --debug --version
85+
86+
USER root

jdk26-ubi10/Dockerfile

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
FROM eclipse-temurin:26-jdk-ubi10-minimal
2+
3+
CMD ["gradle"]
4+
5+
ENV GRADLE_HOME=/opt/gradle
6+
7+
RUN set -o errexit -o nounset \
8+
&& echo "Adding gradle user and group" \
9+
&& groupadd --system --gid 101 gradle \
10+
&& useradd --system --gid gradle --uid 101 --shell /bin/bash --create-home gradle \
11+
&& mkdir /home/gradle/.gradle \
12+
&& chown --recursive gradle:gradle /home/gradle \
13+
&& chmod --recursive o+rwx /home/gradle \
14+
\
15+
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
16+
&& ln --symbolic /home/gradle/.gradle /root/.gradle
17+
18+
VOLUME /home/gradle/.gradle
19+
20+
WORKDIR /home/gradle
21+
22+
RUN set -o errexit -o nounset \
23+
&& microdnf install -y \
24+
# common utilities
25+
make \
26+
curl \
27+
wget \
28+
tar \
29+
\
30+
# Gradle dependencies
31+
findutils \
32+
\
33+
# Dockerfile dependencies
34+
unzip \
35+
which \
36+
\
37+
# VCS dependencies
38+
git \
39+
git-lfs \
40+
subversion \
41+
&& microdnf clean all \
42+
\
43+
&& echo "Testing common utilities" \
44+
&& which awk \
45+
&& which curl \
46+
&& which cut \
47+
&& which grep \
48+
&& which gunzip \
49+
&& which sha256sum \
50+
&& which sed \
51+
&& which tar \
52+
&& which tr \
53+
&& which unzip \
54+
&& which wget \
55+
\
56+
&& echo "Testing VCSes" \
57+
&& which git \
58+
&& which git-lfs \
59+
&& which svn
60+
61+
ENV GRADLE_VERSION=9.4.1
62+
ARG GRADLE_DOWNLOAD_SHA256=2ab2958f2a1e51120c326cad6f385153bb11ee93b3c216c5fccebfdfbb7ec6cb
63+
RUN set -o errexit -o nounset \
64+
&& echo "Downloading Gradle" \
65+
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
66+
\
67+
&& echo "Checking Gradle download hash" \
68+
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
69+
\
70+
&& echo "Installing Gradle" \
71+
&& unzip gradle.zip \
72+
&& rm gradle.zip \
73+
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
74+
&& ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle
75+
76+
USER gradle
77+
78+
RUN set -o errexit -o nounset \
79+
&& echo "Testing Gradle installation" \
80+
&& gradle --stacktrace --debug --version
81+
82+
USER root

update.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,5 +148,6 @@ def main():
148148

149149
update_graalvm_dockerfiles(["jdk-lts-and-current-graal"], graal25_version, graal25_amd64_sha, graal25_aarch64_sha, env_prefix="LTS")
150150
update_graalvm_dockerfiles(["jdk-lts-and-current-graal"], graal25_version, graal25_amd64_sha, graal25_aarch64_sha, env_prefix="CURRENT")
151+
151152
if __name__ == "__main__":
152153
main()

0 commit comments

Comments
 (0)