Home | History | Annotate | Download | only in ci_build
      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