FROM ubuntu:22.04 AS base
ARG crawler_type
ARG build_version
ARG dl_filename

ENV COLLECTOR_HOME=/nxer/collector \
    WORKDIR=/nxer/outputs/workdir \
    COLLECTOR_LOG_DIR=/nxer/collector/logs \
    NORCONEX_HOME=/nxer \
    COLLECTOR_CONFIG_FILE=crawler-config.xml \	
    PATH="/nxer/collector:/nxer/docker-scripts:$PATH"

WORKDIR $NORCONEX_HOME

COPY .github/workflows/scripts/docker-run ./docker-scripts/

RUN set -x ; \
    sed -i -e 's/\r$//' "$NORCONEX_HOME"/docker-scripts/docker-run ; \
    chmod 755 "$NORCONEX_HOME"/docker-scripts/docker-run

RUN apt-get -y update ; \
    apt-get install -y nano ; \
    apt-get install -y curl ; \
    apt-get install -y unzip ; \
    apt-get install -y iputils-ping ; \
    apt install bash-completion ; \
    curl -LO https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.deb ; \
    dpkg -i jdk-17_linux-x64_bin.deb ; \    
    rm *.deb


FROM base AS regular
WORKDIR $NORCONEX_HOME

COPY downloaded/$crawler_type/*.zip .

RUN set -e ; \ 
    unzip ${dl_filename} ; \    
    mv nx-crawler-${crawler_type}-${build_version} ${COLLECTOR_HOME} ; \
    chmod +x ${COLLECTOR_HOME}/crawl-${crawler_type}.* ; \
    rm *.zip

# run docker-run script
CMD ["docker-run"]


FROM base AS snapshot
WORKDIR $NORCONEX_HOME

COPY downloaded/$crawler_type/*.zip .

RUN set -e ; \ 
    unzip ${dl_filename} ; \    
    mv nx-crawler-${crawler_type}-${build_version}-SNAPSHOT ${COLLECTOR_HOME} ; \
    chmod +x ${COLLECTOR_HOME}/crawl-${crawler_type}.* ; \
    rm *.zip

# run docker-run script
CMD ["docker-run"]