mobile: add build stage to Jenkins (#3377)
This commit is contained in:
parent
65a8e0bcbc
commit
00df37677c
@ -25,6 +25,48 @@ ENV PATH "$PATH:/root/bin"
|
||||
RUN curl -L https://github.com/google/protobuf/releases/download/v3.6.1/protoc-3.6.1-linux-x86_64.zip -o /tmp/protoc.zip
|
||||
RUN unzip /tmp/protoc.zip -d "$HOME"/protoc
|
||||
|
||||
# Android SDK + NDK
|
||||
|
||||
ENV ANDROID_HOME /opt/android-sdk-linux
|
||||
RUN apt-get update -qq
|
||||
|
||||
RUN dpkg --add-architecture i386
|
||||
RUN apt-get update -qq
|
||||
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y unzip openjdk-11-jdk rsync qemu-kvm qemu-utils libc6:i386 libstdc++6:i386 libgcc1:i386 libncurses5:i386 libz1:i386
|
||||
|
||||
RUN cd /opt \
|
||||
&& wget -q https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip -O android-sdk-tools.zip \
|
||||
&& unzip -q android-sdk-tools.zip -d ${ANDROID_HOME} \
|
||||
&& rm android-sdk-tools.zip
|
||||
|
||||
# hack to make sdkmanager working with Java 11
|
||||
RUN cd ${ANDROID_HOME}/tools/bin \
|
||||
&& mkdir jaxb_lib \
|
||||
&& wget http://central.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar -O jaxb_lib/activation.jar \
|
||||
&& wget http://central.maven.org/maven2/javax/xml/jaxb-impl/2.1/jaxb-impl-2.1.jar -O jaxb_lib/jaxb-impl.jar \
|
||||
&& wget http://central.maven.org/maven2/org/glassfish/jaxb/jaxb-xjc/2.3.2/jaxb-xjc-2.3.2.jar -O jaxb_lib/jaxb-xjc.jar \
|
||||
&& wget http://central.maven.org/maven2/org/glassfish/jaxb/jaxb-core/2.3.0.1/jaxb-core-2.3.0.1.jar -O jaxb_lib/jaxb-core.jar \
|
||||
&& wget http://central.maven.org/maven2/org/glassfish/jaxb/jaxb-jxc/2.3.2/jaxb-jxc-2.3.2.jar -O jaxb_lib/jaxb-jxc.jar \
|
||||
&& wget http://central.maven.org/maven2/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar -O jaxb_lib/jaxb-api.jar
|
||||
RUN export JAXB=${ANDROID_HOME}/tools/bin/jaxb_lib/activation.jar:${ANDROID_HOME}/tools/bin/jaxb_lib/jaxb-impl.jar:${ANDROID_HOME}/tools/bin/jaxb_lib/jaxb-xjc.jar:${ANDROID_HOME}/tools/bin/jaxb_lib/jaxb-core.jar:${ANDROID_HOME}/tools/bin/jaxb_lib/jaxb-jxc.jar:${ANDROID_HOME}/tools/bin/jaxb_lib/jaxb-api.jar \
|
||||
&& sed -i '/^eval set -- $DEFAULT_JVM_OPTS.*/i CLASSPATH='$JAXB':$CLASSPATH' ${ANDROID_HOME}/tools/bin/sdkmanager \
|
||||
&& sed -i '/^eval set -- $DEFAULT_JVM_OPTS.*/i CLASSPATH='$JAXB':$CLASSPATH' ${ANDROID_HOME}/tools/bin/avdmanager
|
||||
|
||||
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools
|
||||
|
||||
# accept all licenses
|
||||
RUN yes | sdkmanager --licenses
|
||||
RUN touch /root/.android/repositories.cfg
|
||||
|
||||
# Platform tools
|
||||
RUN sdkmanager "platform-tools" "platforms;android-24" "tools" "emulator"
|
||||
|
||||
# The `yes` is for accepting all non-standard tool licenses.
|
||||
RUN yes | sdkmanager --update --channel=3
|
||||
RUN yes | sdkmanager \
|
||||
"ndk-bundle" \
|
||||
"system-images;android-24;default;x86_64"
|
||||
|
||||
# Linters
|
||||
|
||||
RUN curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | bash -s -- -b ${GOPATH}/bin v1.21.0
|
||||
|
@ -113,6 +113,15 @@ pipeline {
|
||||
}
|
||||
}
|
||||
|
||||
stage('Build [gomobile]') {
|
||||
steps {
|
||||
// just to verify its building with recent changes
|
||||
sh 'make libuplink-gomobile'
|
||||
sh 'rm libuplink-android-sources.jar'
|
||||
sh 'rm libuplink-android.aar'
|
||||
}
|
||||
}
|
||||
|
||||
stage('npm') {
|
||||
steps {
|
||||
dir("web/satellite") {
|
||||
|
Loading…
Reference in New Issue
Block a user