gcssloop-rclayout
SUCCESS
48m 46s
History Source
SummaryIterations3Transcript51Dockerfile
Dockerfile60 lines · 1865 chars
FROM ubuntu:20.04 AS builder

ENV DEBIAN_FRONTEND=noninteractive

RUN apt-get update && apt-get install -y --no-install-recommends \
    ca-certificates \
    curl \
    unzip \
    git \
    openjdk-11-jdk-headless \
    wget \
    ca-certificates-java \
    software-properties-common \
    && rm -rf /var/lib/apt/lists/*

ENV JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
ENV PATH="$PATH:$JAVA_HOME/bin"

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

RUN mkdir -p "$ANDROID_SDK_ROOT/cmdline-tools" \
    && cd /tmp \
    && curl -fsSL https://dl.google.com/android/repository/commandlinetools-linux-9477386_latest.zip -o commandlinetools.zip \
    && unzip -q commandlinetools.zip -d "$ANDROID_SDK_ROOT/cmdline-tools" \
    && rm commandlinetools.zip \
    && mv "$ANDROID_SDK_ROOT/cmdline-tools/cmdline-tools" "$ANDROID_SDK_ROOT/cmdline-tools/latest" \
    && mkdir -p "$ANDROID_SDK_ROOT/tools" \
    && mkdir -p "$ANDROID_SDK_ROOT/platform-tools" \
    && yes | "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" --licenses

RUN "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin/sdkmanager" \
    "platforms;android-28" \
    "build-tools;28.0.3" \
    "platform-tools" \
    "extras;android;m2repository" \
    "extras;google;m2repository" >/dev/null

WORKDIR /workspace

# Copy source
COPY . /workspace

# Update Gradle wrapper distribution to 6.9
RUN sed -i 's@distributionUrl=.*@distributionUrl=https://services.gradle.org/distributions/gradle-6.9-all.zip@' gradle/wrapper/gradle-wrapper.properties

RUN chmod +x gradlew

# Build the project from source
RUN ./gradlew clean assembleRelease -x test

# Runtime image
FROM ubuntu:20.04
WORKDIR /workspace

COPY --from=builder /workspace /workspace

CMD ["bash"]