Files
tiennm99 54e1481771 feat(gradle): rename image to gradle, update FROM, and expand OCI image-spec labels
Convention B (Docker-Hub-style <service>:<full-version>) completes the
gradle+oraclejdk migration. Workflow flips images/tags/subject-name from
gradle-8 to gradle; 8 major-line alias added. Dockerfile FROM now
references the new oraclejdk:8u201 package name from the prior commit;
LABEL maintainer was missing and is added alongside 5 OCI image-spec
keys. Both metadata-action labels: block and Dockerfile LABEL lines
carry the same values so manual and CI builds match.

Sequencing: must land after the prior commit's CI publishes
ghcr.io/tiennm99/oraclejdk:8u201, otherwise the gradle CI build will
fail until oraclejdk re-publishes.
2026-05-28 15:35:00 +07:00

96 lines
2.8 KiB
Docker

FROM ghcr.io/tiennm99/oraclejdk:8u201
LABEL maintainer="miti99 <tiennm99@outlook.com>"
LABEL org.opencontainers.image.title="Gradle 8"
LABEL org.opencontainers.image.description="Gradle 8.13 on Oracle JDK 8 base"
LABEL org.opencontainers.image.version="8.13"
LABEL org.opencontainers.image.source="https://github.com/gradle/docker-gradle"
LABEL org.opencontainers.image.licenses="Apache-2.0"
CMD ["gradle"]
ENV GRADLE_HOME=/opt/gradle
RUN set -o errexit -o nounset \
&& sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*.repo \
&& sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*.repo \
&& yum install -y deltarpm \
&& yum install -y epel-release \
&& yum install -y \
# common utilities
make \
tar \
\
# Dockerfile dependencies
unzip \
wget \
which \
\
# Gradle dependencies
findutils \
\
# VCS dependencies
git \
git-lfs \
mercurial \
subversion \
&& yum clean all \
&& rm -rf /var/cache/yum \
\
&& echo "Testing common utilities" \
&& which awk \
&& which curl \
&& which cut \
&& which grep \
&& which gunzip \
&& which sha256sum \
&& which sed \
&& which tar \
&& which tr \
&& which unzip \
&& which wget \
\
&& echo "Testing VCSes" \
&& which git \
&& which git-lfs \
&& which hg \
&& which svn
RUN set -o errexit -o nounset \
&& echo "Adding gradle user and group" \
&& groupadd --system --gid 1000 gradle \
&& useradd --system --gid gradle --uid 1000 --shell /bin/bash --create-home gradle \
&& mkdir /home/gradle/.gradle \
&& chown --recursive gradle:gradle /home/gradle \
&& chmod --recursive o+rwx /home/gradle \
\
&& echo "Symlinking root Gradle cache to gradle Gradle cache" \
&& ln --symbolic /home/gradle/.gradle /root/.gradle
VOLUME /home/gradle/.gradle
WORKDIR /home/gradle
ENV GRADLE_VERSION=8.13
ARG GRADLE_DOWNLOAD_SHA256=20f1b1176237254a6fc204d8434196fa11a4cfb387567519c61556e8710aed78
RUN set -o errexit -o nounset \
&& echo "Downloading Gradle" \
&& wget --no-verbose --output-document=gradle.zip "https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" \
\
&& echo "Checking Gradle download hash" \
&& echo "${GRADLE_DOWNLOAD_SHA256} *gradle.zip" | sha256sum --check - \
\
&& echo "Installing Gradle" \
&& unzip gradle.zip \
&& rm gradle.zip \
&& mv "gradle-${GRADLE_VERSION}" "${GRADLE_HOME}/" \
&& ln --symbolic "${GRADLE_HOME}/bin/gradle" /usr/bin/gradle
USER gradle
RUN set -o errexit -o nounset \
&& echo "Testing Gradle installation" \
&& gradle --version
USER root