49 lines
2.2 KiB
Docker
49 lines
2.2 KiB
Docker
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 |