@@ -11,6 +11,7 @@ LABEL maintainer="appthreat" \
11
11
org.opencontainers.image.description="Container image for AppThreat atom" \
12
12
org.opencontainers.docker.cmd="docker run --rm -v /tmp:/tmp -v $HOME:$HOME -v $(pwd):/app:rw -it ghcr.io/appthreat/atom atom -o /app/app.atom -l java /app"
13
13
14
+ ARG JAVA_VERSION=23.0.2-tem
14
15
ARG MAVEN_VERSION=3.9.9
15
16
ARG SCALA_VERSION=3.6.4
16
17
ARG RUBY_VERSION=3.4.2
@@ -20,6 +21,8 @@ ENV MAVEN_VERSION=$MAVEN_VERSION \
20
21
SCALA_VERSION=$SCALA_VERSION \
21
22
SCALA_HOME="/opt/scala/${SCALA_VERSION}" \
22
23
ANDROID_HOME=/opt/android-sdk-linux \
24
+ JAVA_VERSION=$JAVA_VERSION \
25
+ JAVA_HOME="/opt/java/${JAVA_VERSION}" \
23
26
JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8" \
24
27
PHP_PARSER_BIN=/opt/vendor/bin/php-parse \
25
28
PYTHONUNBUFFERED=1 \
@@ -33,7 +36,7 @@ ENV MAVEN_VERSION=$MAVEN_VERSION \
33
36
RUBY_BUILD_BUILD_PATH="/tmp/rbenv" \
34
37
RUBY_BUILD_HTTP_CLIENT=curl
35
38
36
- ENV PATH=/opt/bin:/opt/vendor/bin:${PATH}:${MAVEN_HOME}/bin:${SCALA_HOME}/bin:/usr/local/bin/:/root/.local/bin:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools:/root/.rbenv/bin:/root/.rbenv/versions/3.4.2/bin:
39
+ ENV PATH=/opt/bin:/opt/vendor/bin:${PATH}:${JAVA_HOME}/bin:${ MAVEN_HOME}/bin:${SCALA_HOME}/bin:/usr/local/bin/:/root/.local/bin:${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools:/root/.rbenv/bin:/root/.rbenv/versions/3.4.2/bin:
37
40
38
41
WORKDIR /opt
39
42
@@ -52,12 +55,20 @@ RUN set -e; \
52
55
echo -e "[nodejs]\n name=nodejs\n stream=20\n profiles=\n state=enabled\n " > /etc/dnf/modules.d/nodejs.module \
53
56
&& microdnf install -y gcc git-core php php-cli php-curl php-zip php-bcmath php-json php-pear php-mbstring php-devel make \
54
57
python3.12 python3.12-devel python3.12-pip \
55
- wget bash glibc-common glibc-all-langpacks java-21-openjdk-headless \
58
+ wget bash glibc-common glibc-all-langpacks \
56
59
openssl-devel libffi-devel readline-devel libyaml zlib-devel ncurses ncurses-devel \
57
60
pcre2 findutils which tar gzip zip unzip sudo nodejs rust \
58
61
&& microdnf install -y epel-release \
59
62
&& microdnf install --enablerepo=crb -y libyaml-devel jemalloc-devel \
60
- && java --version \
63
+ && curl -s "https://get.sdkman.io" | bash \
64
+ && source "/root/.sdkman/bin/sdkman-init.sh" \
65
+ && echo -e "sdkman_auto_answer=true\n sdkman_selfupdate_feature=false\n sdkman_auto_env=true\n sdkman_curl_connect_timeout=20\n sdkman_curl_max_time=0" >> /root/.sdkman/etc/config \
66
+ && sdk install java $JAVA_VERSION \
67
+ && sdk install maven $MAVEN_VERSION \
68
+ && sdk install scala $SCALA_VERSION \
69
+ && sdk offline enable \
70
+ && mv /root/.sdkman/candidates/* /opt/ \
71
+ && rm -rf /root/.sdkman \
61
72
&& git clone https://github.com/rbenv/rbenv.git --depth=1 ~/.rbenv \
62
73
&& echo 'export PATH="/root/.rbenv/bin:$PATH"' >> ~/.bashrc \
63
74
&& echo 'eval "$(/root/.rbenv/bin/rbenv init - bash)"' >> ~/.bashrc \
@@ -75,14 +86,6 @@ RUN set -e; \
75
86
&& node --version \
76
87
&& python3 -m pip install --upgrade pip poetry atom-tools>=0.7.5 \
77
88
&& atom-tools --version && atom-tools --help \
78
- && curl -s "https://get.sdkman.io" | bash \
79
- && source "/root/.sdkman/bin/sdkman-init.sh" \
80
- && echo -e "sdkman_auto_answer=true\n sdkman_selfupdate_feature=false\n sdkman_auto_env=true\n sdkman_curl_connect_timeout=20\n sdkman_curl_max_time=0" >> /root/.sdkman/etc/config \
81
- && sdk install maven $MAVEN_VERSION \
82
- && sdk install scala $SCALA_VERSION \
83
- && sdk offline enable \
84
- && mv /root/.sdkman/candidates/* /opt/ \
85
- && rm -rf /root/.sdkman \
86
89
&& mkdir -p ${ANDROID_HOME}/cmdline-tools \
87
90
&& curl -L https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip -o ${ANDROID_HOME}/cmdline-tools/android_tools.zip \
88
91
&& unzip ${ANDROID_HOME}/cmdline-tools/android_tools.zip -d ${ANDROID_HOME}/cmdline-tools/ \
0 commit comments