forked from CircleCI-Public/cimg-openjdk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile.template
57 lines (49 loc) · 2.29 KB
/
Dockerfile.template
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# vim:set ft=dockerfile:
# Do not edit individual Dockerfiles manually. Instead, please make changes to the Dockerfile.template, which will be used by the build script to generate Dockerfiles.
FROM cimg/%%PARENT%%:2022.04
LABEL maintainer="Community & Partner Engineering Team <community-partner@circleci.com>"
ENV JAVA_VERSION %%MAIN_VERSION%%
ENV URL %%PARAM1%%
ENV JAVA_HOME /usr/local/jdk-${JAVA_VERSION}
RUN curl -sSL -o java.tar.gz "${URL}" && \
sudo mkdir /usr/local/jdk-${JAVA_VERSION} && \
sudo tar -xzf java.tar.gz --strip-components=1 -C /usr/local/jdk-${JAVA_VERSION} && \
rm java.tar.gz && \
if [[ "$JAVA_VERSION" == *"0.0"* ]]; then \
sudo ln -s /usr/local/jdk-${JAVA_VERSION} /usr/local/jdk-%%VERSION_MAJOR%%; \
fi && \
sudo ln -s /usr/local/jdk-${JAVA_VERSION}/bin/java /usr/bin/java && \
sudo ln -s /usr/local/jdk-${JAVA_VERSION}/bin/javac /usr/bin/javac && \
sudo ln -s /usr/local/jdk-${JAVA_VERSION}/bin/javaws /usr/bin/javaws && \
# Install packages to help with legacy image migration
sudo apt-get update && sudo apt-get install -y \
fontconfig \
&& \
sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
# The dual version command is to support OpenJDK 8
java --version || java -version && \
javac --version || javac -version
ENV MAVEN_VERSION=3.8.6 \
PATH=/opt/apache-maven/bin:$PATH
RUN dl_URL="https://www.apache.org/dist/maven/maven-3/$MAVEN_VERSION/binaries/apache-maven-${MAVEN_VERSION}-bin.tar.gz" && \
curl -sSL --fail --retry 3 $dl_URL -o apache-maven.tar.gz && \
sudo tar -xzf apache-maven.tar.gz -C /opt/ && \
rm apache-maven.tar.gz && \
sudo ln -s /opt/apache-maven-* /opt/apache-maven && \
mvn --version
ENV GRADLE_VERSION=7.4.2 \
PATH=/opt/gradle/bin:$PATH
RUN dl_URL="https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip" && \
curl -sSL --fail --retry 3 $dl_URL -o gradle.zip && \
sudo unzip -d /opt gradle.zip && \
rm gradle.zip && \
sudo ln -s /opt/gradle-* /opt/gradle && \
gradle --version
ENV SBT_VERSION=1.6.2 \
PATH=/opt/sbt/bin:$PATH
RUN dl_URL="https://github.com/sbt/sbt/releases/download/v${SBT_VERSION}/sbt-${SBT_VERSION}.tgz" && \
curl -sSL --fail --retry 3 $dl_URL -o sbt.tar.gz && \
sudo tar -xzf sbt.tar.gz -C /opt/ && \
sudo ln -s /opt/sbt-* /opt/sbt && \
sbt about && \
rm -r sbt.tar.gz ~/project/project ~/project/target