ARG AWS_ACCOUNT=086679231553

FROM ${AWS_ACCOUNT}.dkr.ecr.us-east-1.amazonaws.com/docker-parent-images:ruby32 AS base

######################################
### Build base image for orchardgo ###
######################################
FROM base AS orchardgo

WORKDIR /var/app
USER root

COPY . ./

ENV ANDROID_SDK_ROOT=/opt/android-sdk
ENV ANDROID_PLATFORM_VERSION=36
ENV ANDROID_BUILD_TOOLS_VERSION=36.0.0
ENV ANDROID_CMDLINE_TOOLS_VERSION=13114758
ENV ANDROID_NDK_VERSION=27.1.12297006
ENV PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/latest/bin:$ANDROID_SDK_ROOT/platform-tools
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US.UTF-8
ENV LC_ALL=en_US.UTF-8

RUN apt-get -y update \
  && apt-get -y upgrade \
  && apt-get -y install --no-install-recommends locales gnupg build-essential git wget unzip curl zip ca-certificates

RUN wget -O - https://apt.corretto.aws/corretto.key | gpg --dearmor -o /usr/share/keyrings/corretto-keyring.gpg \
    && echo "deb [signed-by=/usr/share/keyrings/corretto-keyring.gpg] https://apt.corretto.aws stable main" | tee /etc/apt/sources.list.d/corretto.list

RUN apt-get update && apt-get install -y java-17-amazon-corretto-jdk=1:17.0.17.10-1 && apt-mark hold 'java-17-amazon-corretto-*'

ENV JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto
ENV PATH=$PATH:$JAVA_HOME/bin

# Create Android SDK directory
RUN mkdir -p ${ANDROID_SDK_ROOT}/cmdline-tools

# Set locale
RUN sed -i 's/^# *\(en_US.UTF-8\)/\1/' /etc/locale.gen \
  && locale-gen \
  && update-locale LANG=en_US.UTF-8

# Install Bundler
RUN gem install bundler -v 2.3.25

# Import the Node.js GPG key
RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /usr/share/keyrings/nodesource.gpg >/dev/null

RUN cp configs/nodesource.list /etc/apt/sources.list.d/nodesource.list

RUN apt-get update \
    && apt-get -y upgrade \
    && apt-get -y install --no-install-recommends nodejs=22.22.0-1nodesource1 \
    && apt-get -y clean \
    && rm -rf /var/lib/apt/lists/*

# Download and install Android command line tools
RUN wget https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_CMDLINE_TOOLS_VERSION}_latest.zip -O /cmdline-tools.zip \
    && unzip /cmdline-tools.zip -d /tmp/cmdline-tools \
    && mv /tmp/cmdline-tools/cmdline-tools ${ANDROID_SDK_ROOT}/cmdline-tools/latest \
    && rm -rf /cmdline-tools.zip /tmp/cmdline-tools

# Accept licenses and install Android SDK platform 36 and build tools
RUN yes | sdkmanager --sdk_root=${ANDROID_SDK_ROOT} --licenses \
    && sdkmanager --sdk_root=${ANDROID_SDK_ROOT} \
    "platform-tools" \
    "platforms;android-${ANDROID_PLATFORM_VERSION}" \
    "build-tools;${ANDROID_BUILD_TOOLS_VERSION}" \
    "ndk;${ANDROID_NDK_VERSION}"

# Install Yarn
RUN npm install -g yarn@1.22.21

FROM orchardgo AS test
COPY .env.test.shadow .env
# USER worker
