koral---android-gif-drawable
SUCCESS
24m 44s
History Source
SummaryIterations2Transcript23Dockerfile
Dockerfile42 lines · 1725 chars
# Stage 1: Builder
FROM gradle:9.2.1-jdk17 AS builder

ENV DEBIAN_FRONTEND=noninteractive

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

# Android SDK command-line tools (for building Android modules)
ENV ANDROID_SDK_ROOT=/opt/android-sdk
RUN mkdir -p "$ANDROID_SDK_ROOT/cmdline-tools" \
    && curl -fL -o /tmp/commandlinetools-linux.zip https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip \
    && unzip -q /tmp/commandlinetools-linux.zip -d "$ANDROID_SDK_ROOT/cmdline-tools" \
    && rm /tmp/commandlinetools-linux.zip

ENV PATH="$PATH:$ANDROID_SDK_ROOT/cmdline-tools/bin:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin:$ANDROID_SDK_ROOT/platform-tools"

# Accept licenses and install a minimal set of Android components (best effort)
RUN mkdir -p "$ANDROID_SDK_ROOT" \
    && yes | "$ANDROID_SDK_ROOT/cmdline-tools/bin/sdkmanager" --licenses >/dev/null 2>&1 || true \
    && "$ANDROID_SDK_ROOT/cmdline-tools/bin/sdkmanager" "platform-tools" "platforms;android-36" "build-tools;36.0.3" >/dev/null 2>&1 || true

WORKDIR /workspace

# Copy the project sources
COPY . .

# Build the project from source (skip tests for speed)
RUN ./gradlew build -x test

# Stage 2: Runtime image (leaner, only the built artifacts)
FROM eclipse-temurin:17-jre
WORKDIR /workspace

# Copy only built outputs to keep the runtime image lean
COPY --from=builder /workspace/build /workspace/build

# Provide a simple command to inspect the build results and keep the container alive
CMD ["sh", "-lc", "echo Build finished. Contents of /workspace/build:"; ls -la /workspace/build; tail -f /dev/null]