blob: 9e3185546024a5a868bbdc906eba9df573b05b34 [file] [log] [blame]
# Copyright 2021 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# An image for cross-compiling IREE's TFLite Java Bindings with Gradle and
# CMake.
FROM gcr.io/iree-oss/base@sha256:796fb81a11ff7e7d057c93de468b74e48b6a9641aa19b7f7673c2772e8ea3b33
### Java ###
WORKDIR /install-jdk
# Download and install openjdk-11
ARG JDK_VERSION=11
RUN apt-get update && apt-get install -y openjdk-11-jdk
### Gradle ###
WORKDIR /install-gradle
ARG GRADLE_VERSION=7.1.1
ARG GRADLE_DIST=bin
# Download and install Gradle
RUN wget -q https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-${GRADLE_DIST}.zip && \
unzip -q gradle*.zip -d /opt/ && \
ln -s /opt/gradle-${GRADLE_VERSION}/bin/gradle /usr/bin/gradle \
rm -rf /install-gradle
### Android ###
WORKDIR /install-android
# Download and install Android SDK
# Note: Uses the latest SDK version from https://developer.android.com/studio,
# however Gradle will automatically download any additional SDK/tooling versions
# as necessary.
ARG ANDROID_SDK_VERSION=7583922
ARG ANDROID_NDK_VERSION=21.4.7075529
ENV ANDROID_SDK_ROOT /opt/android-sdk
ENV ANDROID_HOME ${ANDROID_SDK_ROOT}
ENV ANDROID_NDK /opt/android-sdk/ndk/${ANDROID_NDK_VERSION}
RUN mkdir -p "${ANDROID_SDK_ROOT}/cmdline-tools" \
&& curl --silent --fail --show-error --location \
"https://dl.google.com/android/repository/commandlinetools-linux-${ANDROID_SDK_VERSION}_latest.zip" \
--output android_tools.zip \
&& unzip -q android_tools.zip -d "${ANDROID_SDK_ROOT}/cmdline-tools" \
&& mv "${ANDROID_SDK_ROOT}/cmdline-tools/cmdline-tools" "${ANDROID_SDK_ROOT}/cmdline-tools/tools" \
# yes will give a non-zero exit code in non-interactive settings (broken pipe?)
# with -o pipefail this leads to an error.
&& { yes || true; } | "${ANDROID_SDK_ROOT}/cmdline-tools/tools/bin/sdkmanager" --licenses \
&& /opt/android-sdk/cmdline-tools/tools/bin/sdkmanager --install "ndk;${ANDROID_NDK_VERSION}" \
&& rm -rf /install-android
WORKDIR /