FROM openjdk:11

#ENV GRADLE_VERSION 6.7
#ARG GRADLE_DOWNLOAD_SHA256=8ad57759019a9233dc7dc4d1a530cefe109dc122000d57f7e623f8cf4ba9dfc4
#ENV GRADLE_HOME /opt/gradle

ENV SCC_VERSION=1.4.2
ENV PATH=/opt/swagger-coverage-commandline/bin:/usr/local/bin/:$PATH

RUN curl --max-time 300 --retry 5 --retry-delay 1 --retry-max-time 900 --silent -o /usr/local/share/ca-certificates/geotrust.crt http://cacerts.digicert.com/GeoTrustPCA.crt.pem \
    && until update-ca-certificates; do sleep 1; done \
    && apt-get update  \
    && DEBIAN_FRONTEND="noninteractive" apt-get install --yes --no-install-recommends libssl1.1 \
    && DEBIAN_FRONTEND="noninteractive" apt-get install --yes --no-install-recommends \
        nodejs \
        npm \
        awscli \
        curl \
        jq \
        zlib1g \
    && npm install -g npm \
    && npm install -g api-spec-converter \
    && mkdir -p /opt \
    && echo Swagger coverage commnadline version - $SCC_VERSION \
    && wget --quiet --no-verbose https://github.com/viclovsky/swagger-coverage/releases/download/$SCC_VERSION/swagger-coverage-$SCC_VERSION.zip -P /opt/ \
    && unzip /opt/swagger-coverage-$SCC_VERSION.zip -d /opt/ \
    && rm -f /opt/swagger-coverage-$SCC_VERSION.zip \
    && ln -s /opt/swagger-coverage-commandline-$SCC_VERSION /opt/swagger-coverage-commandline \
    && 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 \
    && mkdir /app \
    && chown --recursive gradle:gradle /app \
    && echo "Symlinking root Gradle cache to gradle Gradle cache" \
    && ln -s /home/gradle/.gradle /root/.gradle \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app

USER gradle
