Skip to content

Commit 27a2440

Browse files
committed
Add Java 25
1 parent a734df5 commit 27a2440

File tree

3 files changed

+144
-0
lines changed

3 files changed

+144
-0
lines changed

.github/workflows/ci.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ jobs:
2121
- jdk11
2222
- jdk17
2323
- jdk21
24+
- jdk25
2425
steps:
2526
- name: checkout
2627
uses: actions/checkout@v4

jdk25-alpine/Dockerfile

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
FROM eclipse-temurin:25-jdk-alpine
2+
3+
CMD ["groovysh"]
4+
5+
ENV GROOVY_HOME=/opt/groovy
6+
7+
RUN set -o errexit -o nounset \
8+
&& echo "Adding groovy user and group" \
9+
&& addgroup --system --gid 1000 groovy \
10+
&& adduser --system --ingroup groovy --uid 1000 --shell /bin/ash groovy \
11+
&& mkdir --parents /home/groovy/.groovy/grapes \
12+
&& chown -R groovy:groovy /home/groovy \
13+
&& chmod -R 1777 /home/groovy \
14+
\
15+
&& echo "Symlinking root .groovy to groovy .groovy" \
16+
&& ln -s /home/groovy/.groovy /root/.groovy
17+
18+
VOLUME /home/groovy/.groovy/grapes
19+
20+
WORKDIR /home/groovy
21+
22+
ENV GROOVY_VERSION=5.0.3
23+
RUN set -o errexit -o nounset \
24+
&& echo "Installing build dependencies" \
25+
&& apk add --no-cache --virtual .build-deps \
26+
gnupg \
27+
\
28+
&& echo "Downloading Groovy" \
29+
&& wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" \
30+
\
31+
&& echo "Importing keys listed in http://www.apache.org/dist/groovy/KEYS from key server" \
32+
&& export GNUPGHOME="$(mktemp -d)" \
33+
&& gpg --batch --no-tty --keyserver keyserver.ubuntu.com --recv-keys \
34+
7FAA0F2206DE228F0DB01AD741321490758AAD6F \
35+
331224E1D7BE883D16E8A685825C06C827AF6B66 \
36+
34441E504A937F43EB0DAEF96A65176A0FB1CD0B \
37+
9A810E3B766E089FFB27C70F11B595CEDC4AEBB5 \
38+
81CABC23EECA0790E8989B361FF96E10F0E13706 \
39+
\
40+
&& echo "Checking download signature" \
41+
&& wget --no-verbose --output-document=groovy.zip.asc "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip.asc" \
42+
&& gpg --batch --no-tty --verify groovy.zip.asc groovy.zip \
43+
&& (rm -rf "${GNUPGHOME}" || true) \
44+
&& rm groovy.zip.asc \
45+
\
46+
&& echo "Cleaning up build dependencies" \
47+
&& apk del .build-deps \
48+
\
49+
&& echo "Installing Groovy" \
50+
&& unzip groovy.zip \
51+
&& rm groovy.zip \
52+
&& mv "groovy-${GROOVY_VERSION}" "${GROOVY_HOME}/" \
53+
&& rm -f "${GROOVY_HOME}/lib/groovy-raw-${GROOVY_VERSION}-raw.jar" \
54+
&& ln -s "${GROOVY_HOME}/bin/grape" /usr/bin/grape \
55+
&& ln -s "${GROOVY_HOME}/bin/groovy" /usr/bin/groovy \
56+
&& ln -s "${GROOVY_HOME}/bin/groovyc" /usr/bin/groovyc \
57+
&& ln -s "${GROOVY_HOME}/bin/groovyConsole" /usr/bin/groovyConsole \
58+
&& ln -s "${GROOVY_HOME}/bin/groovydoc" /usr/bin/groovydoc \
59+
&& ln -s "${GROOVY_HOME}/bin/groovysh" /usr/bin/groovysh \
60+
&& ln -s "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy \
61+
\
62+
&& echo "Editing startGroovy to include java.xml.bind module" \
63+
&& sed --in-place 's|startGroovy ( ) {|startGroovy ( ) {\n JAVA_OPTS="$JAVA_OPTS --add-modules=ALL-SYSTEM"|' "${GROOVY_HOME}/bin/startGroovy"
64+
65+
USER 1000:1000
66+
67+
RUN set -o errexit -o nounset \
68+
&& echo "Testing Groovy installation" \
69+
&& groovy --version

jdk25/Dockerfile

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
FROM eclipse-temurin:25-jdk-noble
2+
3+
CMD ["groovysh"]
4+
5+
ENV GROOVY_HOME=/opt/groovy
6+
7+
RUN set -o errexit -o nounset \
8+
&& echo "Renaming ubuntu user and group to groovy" \
9+
&& groupmod --new-name groovy ubuntu \
10+
&& mkdir /home/groovy \
11+
&& usermod --login groovy --home /home/groovy --groups groovy ubuntu \
12+
&& chown groovy /home/groovy \
13+
&& mkdir --parents /home/groovy/.groovy/grapes \
14+
&& chown --recursive groovy:groovy /home/groovy \
15+
&& chmod --recursive 1777 /home/groovy \
16+
\
17+
&& echo "Symlinking root .groovy to groovy .groovy" \
18+
&& ln --symbolic /home/groovy/.groovy /root/.groovy
19+
20+
VOLUME /home/groovy/.groovy/grapes
21+
22+
WORKDIR /home/groovy
23+
24+
RUN set -o errexit -o nounset \
25+
&& apt-get update \
26+
&& echo "Installing build dependencies" \
27+
&& apt-get install --yes --no-install-recommends \
28+
dirmngr \
29+
gnupg \
30+
unzip \
31+
wget \
32+
&& rm --recursive --force /var/lib/apt/lists/*
33+
34+
ENV GROOVY_VERSION=5.0.3
35+
RUN set -o errexit -o nounset \
36+
&& echo "Downloading Groovy" \
37+
&& wget --no-verbose --output-document=groovy.zip "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip" \
38+
\
39+
&& echo "Importing keys listed in http://www.apache.org/dist/groovy/KEYS from key server" \
40+
&& export GNUPGHOME="$(mktemp -d)" \
41+
&& gpg --batch --no-tty --keyserver keyserver.ubuntu.com --recv-keys \
42+
7FAA0F2206DE228F0DB01AD741321490758AAD6F \
43+
331224E1D7BE883D16E8A685825C06C827AF6B66 \
44+
34441E504A937F43EB0DAEF96A65176A0FB1CD0B \
45+
9A810E3B766E089FFB27C70F11B595CEDC4AEBB5 \
46+
81CABC23EECA0790E8989B361FF96E10F0E13706 \
47+
\
48+
&& echo "Checking download signature" \
49+
&& wget --no-verbose --output-document=groovy.zip.asc "https://archive.apache.org/dist/groovy/${GROOVY_VERSION}/distribution/apache-groovy-binary-${GROOVY_VERSION}.zip.asc" \
50+
&& gpg --batch --no-tty --verify groovy.zip.asc groovy.zip \
51+
&& rm --recursive --force "${GNUPGHOME}" \
52+
&& rm groovy.zip.asc \
53+
\
54+
&& echo "Installing Groovy" \
55+
&& unzip groovy.zip \
56+
&& rm groovy.zip \
57+
&& mv "groovy-${GROOVY_VERSION}" "${GROOVY_HOME}/" \
58+
&& rm --force "${GROOVY_HOME}/lib/groovy-raw-${GROOVY_VERSION}-raw.jar" \
59+
&& ln --symbolic "${GROOVY_HOME}/bin/grape" /usr/bin/grape \
60+
&& ln --symbolic "${GROOVY_HOME}/bin/groovy" /usr/bin/groovy \
61+
&& ln --symbolic "${GROOVY_HOME}/bin/groovyc" /usr/bin/groovyc \
62+
&& ln --symbolic "${GROOVY_HOME}/bin/groovyConsole" /usr/bin/groovyConsole \
63+
&& ln --symbolic "${GROOVY_HOME}/bin/groovydoc" /usr/bin/groovydoc \
64+
&& ln --symbolic "${GROOVY_HOME}/bin/groovysh" /usr/bin/groovysh \
65+
&& ln --symbolic "${GROOVY_HOME}/bin/java2groovy" /usr/bin/java2groovy \
66+
\
67+
&& echo "Editing startGroovy to include java.xml.bind module" \
68+
&& sed --in-place 's|startGroovy ( ) {|startGroovy ( ) {\n JAVA_OPTS="$JAVA_OPTS --add-modules=ALL-SYSTEM"|' "${GROOVY_HOME}/bin/startGroovy"
69+
70+
USER 1000:1000
71+
72+
RUN set -o errexit -o nounset \
73+
&& echo "Testing Groovy installation" \
74+
&& groovy --version

0 commit comments

Comments
 (0)