Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 23 additions & 18 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -73,21 +73,6 @@ RUN <<-EOT
sudo curl -L --fail "https://javadl.oracle.com/webapps/download/AutoDL?BundleId=248746_8c876547113c4e4aab3c868e9e0ec572" | sudo tar -xvzf - -C /usr/lib/jvm/oracle8 --strip-components 1
EOT

# Install Ubuntu's OpenJDK 17 and fix broken symlinks:
# some files in /usr/lib/jvm/ubuntu17 are symlinks to /etc/java-17-openjdk/, so we just copy all symlinks targets.
RUN <<-EOT
set -eux
sudo apt-get update
sudo apt-get install -y openjdk-17-jdk
sudo mv /usr/lib/jvm/java-17-openjdk-amd64 /usr/lib/jvm/ubuntu17
sudo mkdir -p /usr/lib/jvm/ubuntu17/conf/ /usr/lib/jvm/ubuntu17/lib/
sudo cp -rf --remove-destination /etc/java-17-openjdk/* /usr/lib/jvm/ubuntu17/conf/
sudo cp -rf --remove-destination /etc/java-17-openjdk/* /usr/lib/jvm/ubuntu17/lib/
sudo cp -f --remove-destination /etc/java-17-openjdk/jvm-amd64.cfg /usr/lib/jvm/ubuntu17/lib/
sudo apt-get clean
sudo rm -rf /var/lib/apt/lists/*
EOT

# Remove cruft from JDKs that is not used in the build process.
RUN <<-EOT
sudo rm -rf \
Expand Down Expand Up @@ -202,6 +187,20 @@ COPY --from=all-jdk /usr/lib/jvm/${VARIANT_LOWER} /usr/lib/jvm/${VARIANT_LOWER}
ENV JAVA_${VARIANT_UPPER}_HOME=/usr/lib/jvm/${VARIANT_LOWER}
ENV JAVA_${VARIANT_LOWER}_HOME=/usr/lib/jvm/${VARIANT_LOWER}

FROM base AS ubuntu17

RUN set -eux;\
sudo apt-get update; \
sudo apt-get install -y openjdk-17-jdk; \
sudo apt-get -y clean; \
sudo rm -rf /var/lib/apt/lists/*;

USER non-root-user
WORKDIR /home/non-root-user

ENV JAVA_UBUNTU17_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ENV JAVA_ubuntu17_HOME=/usr/lib/jvm/java-17-openjdk-amd64

# Full image for debugging, contains all JDKs.
FROM base AS full

Expand All @@ -216,10 +215,18 @@ COPY --from=all-jdk /usr/lib/jvm/ibm8 /usr/lib/jvm/ibm8
COPY --from=all-jdk /usr/lib/jvm/semeru8 /usr/lib/jvm/semeru8
COPY --from=all-jdk /usr/lib/jvm/semeru11 /usr/lib/jvm/semeru11
COPY --from=all-jdk /usr/lib/jvm/semeru17 /usr/lib/jvm/semeru17
COPY --from=all-jdk /usr/lib/jvm/ubuntu17 /usr/lib/jvm/ubuntu17
COPY --from=all-jdk /usr/lib/jvm/graalvm17 /usr/lib/jvm/graalvm17
COPY --from=all-jdk /usr/lib/jvm/graalvm21 /usr/lib/jvm/graalvm21

RUN set -eux;\
sudo apt-get update; \
sudo apt-get install -y openjdk-17-jdk; \
sudo apt-get -y clean; \
sudo rm -rf /var/lib/apt/lists/*;

ENV JAVA_UBUNTU17_HOME=/usr/lib/jvm/java-17-openjdk-amd64
ENV JAVA_ubuntu17_HOME=/usr/lib/jvm/java-17-openjdk-amd64

ENV JAVA_7_HOME=/usr/lib/jvm/7

ENV JAVA_ZULU7_HOME=/usr/lib/jvm/7
Expand All @@ -237,7 +244,5 @@ ENV JAVA_SEMERU8_HOME=/usr/lib/jvm/semeru8
ENV JAVA_SEMERU11_HOME=/usr/lib/jvm/semeru11
ENV JAVA_SEMERU17_HOME=/usr/lib/jvm/semeru17

ENV JAVA_UBUNTU17_HOME=/usr/lib/jvm/ubuntu17

ENV JAVA_GRAALVM17_HOME=/usr/lib/jvm/graalvm17
ENV JAVA_GRAALVM21_HOME=/usr/lib/jvm/graalvm21
10 changes: 7 additions & 3 deletions build
Original file line number Diff line number Diff line change
Expand Up @@ -103,9 +103,13 @@ function do_build() {
for variant in "${VARIANTS[@]}"; do
variant_upper="${variant^^}"
variant_lower="${variant,,}"
docker_build variant "$(image_name "$variant_lower")" \
--build-arg "VARIANT_UPPER=$variant_upper" \
--build-arg "VARIANT_LOWER=$variant_lower"
if [[ $variant == "ubuntu17" ]]; then
docker_build ubuntu17 "$(image_name "${variant_lower}")"
else
docker_build variant "$(image_name "$variant_lower")" \
--build-arg "VARIANT_UPPER=$variant_upper" \
--build-arg "VARIANT_LOWER=$variant_lower"
fi
done
}

Expand Down