FROM debian:trixie-slim

ENV GODOT_VERSION=4.6

RUN apt update && apt install -y openjdk-21-jdk git wget unzip curl \
libgles2 libgles2-mesa-dev

# Download and extract Godot
RUN wget https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_linux.x86_64.zip && \
    unzip Godot_v${GODOT_VERSION}-stable_linux*.zip && \
    mv Godot_v${GODOT_VERSION}-stable_linux*64 /usr/local/bin/godot

# Download and extract export templates like HTML 5
RUN wget https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}-stable/Godot_v${GODOT_VERSION}-stable_export_templates.tpz && \
unzip Godot_v${GODOT_VERSION}-stable_export_templates.tpz && \
mkdir -p ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable && \
mv templates/* ~/.local/share/godot/export_templates/${GODOT_VERSION}.stable


# Install Android SDK command-line tools
# ARG ANDROID_CMDLINE_TOOLS_VERSION=11076708
ARG ANDROID_BUILD_TOOLS_VERSION=34.0.0
ARG ANDROID_SDK_URL="https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip"

RUN mkdir -p /usr/local/android-sdk/cmdline-tools && \
    cd /tmp && \
    curl -fsSL "$ANDROID_SDK_URL" -o cmdline-tools.zip && \
    unzip -q cmdline-tools.zip -d /usr/local/android-sdk/cmdline-tools && \
    mv /usr/local/android-sdk/cmdline-tools/cmdline-tools /usr/local/android-sdk/cmdline-tools/latest && \
    rm cmdline-tools.zip

# Set Android SDK paths and environment
ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64
ENV ANDROID_HOME=/usr/local/android-sdk
ENV ANDROID_COMMAND_LINE_TOOL=/usr/local/android-sdk/cmdline-tools/latest/bin
ENV PATH=${ANDROID_HOME}/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${PATH}

# Accept licenses and install required SDK packages
RUN mkdir -p $ANDROID_HOME/.android && \
    touch $ANDROID_HOME/.android/repositories.cfg && \
    yes | ${ANDROID_COMMAND_LINE_TOOL}/sdkmanager --licenses 2>/dev/null || true && \
    ${ANDROID_COMMAND_LINE_TOOL}/sdkmanager \
    "platforms;android-34" \
    "build-tools;33.0.1" \
    "platform-tools" \
    2>&1 | tee /dev/null

# Grant execute permission to gradlew
RUN chmod +x /workspaces/*/gradlew 2>/dev/null || true