mastodon-mastodon-android
SUCCESS
10m 34s
History Source
SummaryIterations1Transcript5Dockerfile
Dockerfile47 lines · 1632 chars
FROM eclipse-temurin:21-jdk-jammy

LABEL maintainer="BuildAgent"

# Install essential tools
RUN apt-get update && apt-get install -y --no-install-recommends \
    curl ca-certificates zip unzip git && \
    rm -rf /var/lib/apt/lists/*

# Android SDK setup
ENV ANDROID_SDK_ROOT=/opt/android-sdk
ENV ANDROID_HOME=$ANDROID_SDK_ROOT
ENV PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin:$ANDROID_SDK_ROOT/platform-tools

RUN mkdir -p "$ANDROID_SDK_ROOT" && \
    mkdir -p "$ANDROID_SDK_ROOT/cmdline-tools" && \
    cd /tmp && \
    echo "Downloading Android commandline tools..." && \
    curl -fsSL https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -o commandlinetools.zip && \
    unzip -q commandlinetools.zip -d /tmp/cmdline-tools && \
    mkdir -p "$ANDROID_SDK_ROOT/cmdline-tools" && \
    mv /tmp/cmdline-tools/cmdline-tools "$ANDROID_SDK_ROOT/cmdline-tools/tools" && \
    rm commandlinetools.zip && \
    yes | "$ANDROID_SDK_ROOT/cmdline-tools/tools/bin/sdkmanager" --sdk_root="$ANDROID_SDK_ROOT" \
        "platform-tools" \
        "platforms;android-33" \
        "build-tools;33.0.0" \
        "extras;android;m2repository" \
        "extras;google;m2repository" && \
    rm -rf /tmp/cmdline-tools

# Prepare project
WORKDIR /workspace
COPY . /workspace
RUN chmod +x gradlew

# Ensure Gradle wrapper can download dependencies
RUN ./gradlew --version

# Create local.properties to point Gradle to Android SDK
RUN bash -lc "echo sdk.dir=$ANDROID_SDK_ROOT > local.properties"

# Build a debug APK by default (signing not required for debug builds)
RUN ./gradlew assembleDebug

CMD ["bash"]