mastodon-mastodon-android
RUNNING
History Source
SummaryIterations1Transcript2Dockerfile
01Iteration 1
WRITEWriteFile· step #1
0s
Dockerfile1602 bytes written
text35 lines · 1602 chars
FROM gradle:8.14.5-jdk11-jammy

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

ENV ANDROID_SDK_ROOT=/opt/android-sdk
ENV PATH=$PATH:$ANDROID_SDK_ROOT/cmdline-tools/tools/bin:$ANDROID_SDK_ROOT/platform-tools

# Install Android SDK command-line tools
RUN mkdir -p ${ANDROID_SDK_ROOT}/cmdline-tools && \
    curl -o /tmp/commandlinetools.zip -L https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip && \
    unzip /tmp/commandlinetools.zip -d ${ANDROID_SDK_ROOT}/cmdline-tools && \
    rm /tmp/commandlinetools.zip && \
    # Move nested dir to a stable layout
    mv ${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools ${ANDROID_SDK_ROOT}/cmdline-tools/tools

# Accept licenses and install essential components
RUN yes | ${ANDROID_SDK_ROOT}/cmdline-tools/tools/bin/sdkmanager --licenses && \
    ${ANDROID_SDK_ROOT}/cmdline-tools/tools/bin/sdkmanager "platform-tools" "platforms;android-33" "build-tools;33.0.0"

# Prepare workspace and copy source
WORKDIR /workspace
COPY . /workspace

# Point Gradle to the Android SDK
RUN echo "sdk.dir=${ANDROID_SDK_ROOT}" > local.properties

# Build the project (release variants)
RUN ./gradlew clean assembleRelease assembleGithubRelease

# Default command prints the build artifacts
CMD ["bash","-lc","echo Build complete. APKs are located at mastodon/build/outputs/apk/release and mastodon/build/outputs/apk/githubRelease && ls -la mastodon/build/outputs/apk/release mastodon/build/outputs/apk/githubRelease"]
WRITEWriteFile· step #2
0s
.dockerignore162 bytes written
dockerignore2 lines · 162 chars
..?.*\n**/build/**\n.gradle/**\n.gradle/**\n.gradle/**\n.gradle/**\n.gradle/**\n**/.gradle/**\n.gradle/**\n*.log\n.gradle/**\n|**/.gradle/**\n**/local.properties