1 FROM ubuntu:16.04 2 3 LABEL maintainer="Jan Prach <jendap (a] google.com>" 4 5 # Copy and run the install scripts. 6 COPY install/*.sh /install/ 7 RUN /install/install_bootstrap_deb_packages.sh 8 RUN add-apt-repository -y ppa:openjdk-r/ppa && \ 9 add-apt-repository -y ppa:george-edison55/cmake-3.x 10 RUN /install/install_deb_packages.sh 11 RUN /install/install_bazel.sh 12 13 # Set up the master bazelrc configuration file. 14 COPY install/.bazelrc /etc/bazel.bazelrc 15 16 # Install extra libraries for android sdk. 17 RUN apt-get update && apt-get install -y \ 18 python-numpy \ 19 && \ 20 apt-get clean && \ 21 rm -rf /var/lib/apt/lists/* 22 23 # Android SDK and NDK root directory workaround. For details see 24 # https://github.com/bazelbuild/bazel/issues/714#issuecomment-166735874 25 ENV ANDROID_DEV_HOME /android 26 RUN mkdir -p ${ANDROID_DEV_HOME} 27 28 # Install Android SDK. 29 ENV ANDROID_SDK_FILENAME tools_r25.2.5-linux.zip 30 ENV ANDROID_SDK_URL https://dl.google.com/android/repository/${ANDROID_SDK_FILENAME} 31 ENV ANDROID_API_LEVEL 23 32 # Build Tools Version liable to change. 33 ENV ANDROID_BUILD_TOOLS_VERSION 26.0.1 34 ENV ANDROID_SDK_HOME ${ANDROID_DEV_HOME}/sdk 35 ENV PATH ${PATH}:${ANDROID_SDK_HOME}/tools:${ANDROID_SDK_HOME}/platform-tools 36 RUN cd ${ANDROID_DEV_HOME} && \ 37 wget -q ${ANDROID_SDK_URL} && \ 38 unzip ${ANDROID_SDK_FILENAME} -d android-sdk-linux && \ 39 rm ${ANDROID_SDK_FILENAME} && \ 40 bash -c "ln -s ${ANDROID_DEV_HOME}/android-sdk-* ${ANDROID_SDK_HOME}" && \ 41 echo y | android update sdk --no-ui -a --filter tools,platform-tools,android-${ANDROID_API_LEVEL},build-tools-${ANDROID_BUILD_TOOLS_VERSION} 42 43 # Install Android NDK. 44 ENV ANDROID_NDK_FILENAME android-ndk-r14b-linux-x86_64.zip 45 ENV ANDROID_NDK_URL https://dl.google.com/android/repository/${ANDROID_NDK_FILENAME} 46 ENV ANDROID_NDK_HOME ${ANDROID_DEV_HOME}/ndk 47 ENV PATH ${PATH}:${ANDROID_NDK_HOME} 48 RUN cd ${ANDROID_DEV_HOME} && \ 49 wget -q ${ANDROID_NDK_URL} && \ 50 unzip ${ANDROID_NDK_FILENAME} -d ${ANDROID_DEV_HOME} && \ 51 rm ${ANDROID_NDK_FILENAME} && \ 52 bash -c "ln -s ${ANDROID_DEV_HOME}/android-ndk-* ${ANDROID_NDK_HOME}" 53 54 # Make android ndk executable to all users. 55 RUN chmod -R go=u ${ANDROID_DEV_HOME} 56