FROM maven:3.8.7

RUN apt-get update && \
    apt-get install -y \
    curl \
    wget \
    unzip \
    git \
    software-properties-common \
    ca-certificates && \
    apt-get clean

# INSTALLING JDK 8 AND 17
RUN apt-get update && \
apt-get install -y openjdk-17-jdk openjdk-8-jdk

# INSTALLING NEEDED CERTS TO THE CACERTS
COPY ../config/certs /certs
RUN keytool -importcert -file /certs/nexus.crt -alias nexus -keystore /etc/ssl/certs/java/cacerts -storepass changeit -noprompt
RUN keytool -importcert -file /certs/nexus.parent.crt -alias nexus.parent -keystore /etc/ssl/certs/java/cacerts -storepass changeit -noprompt
RUN keytool -importcert -file /certs/jfrog.crt -alias jfrog -keystore /etc/ssl/certs/java/cacerts -storepass changeit -noprompt
RUN keytool -importcert -file /certs/jfrog.parent.crt -alias jfrog.parent -keystore /etc/ssl/certs/java/cacerts -storepass changeit -noprompt

ENV JAVA_HOME=/opt/jdk-17
ENV PATH=$JAVA_HOME/bin:$PATH

# INSTALLING NODE
RUN curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && \
    apt-get install -y nodejs

ENV NODE_HOME=/usr/local/lib/nodejs
ENV PATH=$NODE_HOME:$PATH

# INSTALLING MAVEND FOR FASTER BUILD TIME
ARG MVND_VERSION=1.0.2
RUN curl -sL "https://downloads.apache.org/maven/mvnd/${MVND_VERSION}/maven-mvnd-${MVND_VERSION}-linux-amd64.zip" \
    -o mvnd.zip && \
    unzip mvnd.zip -d /usr/share/ && \
    rm mvnd.zip

ENV MVND_HOME="/opt/mavend"
ENV PATH="$MVND_HOME/bin:$PATH"

RUN mkdir -p /workspace/project

WORKDIR /workspace/project

RUN echo "alias mvndcinotest='mvnd -Dmaven.test.skip -Dmvnd.connectTimeout=90s clean install'" >> /root/.bashrc

COPY ./config/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh