github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/mobile/Dockerfile (about) 1 # Dockerfile to build an image with the local version of go.mobile. 2 # 3 # > docker build -t mobile $GOPATH/src/golang.org/x/mobile 4 # > docker run -it --rm -v $GOPATH/src:/src mobile 5 6 FROM ubuntu:12.04 7 8 # Install system-level dependencies. 9 ENV DEBIAN_FRONTEND noninteractive 10 RUN echo "debconf shared/accepted-oracle-license-v1-1 select true" | debconf-set-selections && \ 11 echo "debconf shared/accepted-oracle-license-v1-1 seen true" | debconf-set-selections 12 RUN apt-get update && \ 13 apt-get -y install build-essential python-software-properties bzip2 unzip curl \ 14 git subversion mercurial bzr \ 15 libncurses5:i386 libstdc++6:i386 zlib1g:i386 && \ 16 add-apt-repository ppa:webupd8team/java && \ 17 apt-get update && \ 18 apt-get -y install oracle-java6-installer 19 20 # Install Ant. 21 RUN curl -L http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.2-bin.tar.gz | tar xz -C /usr/local 22 ENV ANT_HOME /usr/local/apache-ant-1.9.2 23 24 # Install Android SDK. 25 RUN curl -L http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz | tar xz -C /usr/local 26 ENV ANDROID_HOME /usr/local/android-sdk-linux 27 RUN echo y | $ANDROID_HOME/tools/android update sdk --no-ui --all --filter build-tools-19.1.0 && \ 28 echo y | $ANDROID_HOME/tools/android update sdk --no-ui --all --filter platform-tools && \ 29 echo y | $ANDROID_HOME/tools/android update sdk --no-ui --all --filter android-19 30 31 # Install Android NDK. 32 RUN curl -L http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2 | tar xj -C /usr/local 33 ENV NDK_ROOT /usr/local/android-ndk-r9d 34 RUN $NDK_ROOT/build/tools/make-standalone-toolchain.sh --platform=android-9 --install-dir=$NDK_ROOT --system=linux-x86_64 35 36 # Install Gradle 2.1 37 # : android-gradle compatibility 38 # http://tools.android.com/tech-docs/new-build-system/version-compatibility 39 RUN curl -L http://services.gradle.org/distributions/gradle-2.1-all.zip -o /tmp/gradle-2.1-all.zip && unzip /tmp/gradle-2.1-all.zip -d /usr/local && rm /tmp/gradle-2.1-all.zip 40 ENV GRADLE_HOME /usr/local/gradle-2.1 41 42 # Update PATH for the above. 43 ENV PATH $PATH:$ANDROID_HOME/tools 44 ENV PATH $PATH:$ANDROID_HOME/platform-tools 45 ENV PATH $PATH:$NDK_ROOT 46 ENV PATH $PATH:$ANT_HOME/bin 47 ENV PATH $PATH:$GRADLE_HOME/bin 48 49 # Install Go. 50 ENV GOROOT /go 51 ENV GOPATH / 52 ENV PATH $PATH:$GOROOT/bin 53 RUN curl -L https://github.com/golang/go/archive/master.zip -o /tmp/go.zip && \ 54 unzip /tmp/go.zip && \ 55 rm /tmp/go.zip && \ 56 mv /go-master $GOROOT && \ 57 echo devel > $GOROOT/VERSION && \ 58 cd $GOROOT/src && \ 59 ./all.bash && \ 60 CC_FOR_TARGET=$NDK_ROOT/bin/arm-linux-androideabi-gcc GOOS=android GOARCH=arm GOARM=7 ./make.bash 61 62 WORKDIR $GOPATH/src/golang.org/x/mobile