Use Trusty environment on Travis CI
The 3GB memory limit enforced to Travis CI container-based environment
is too small to build Mozc for Android. To avoid Out-Of-Memory errors,
this CL lets Travis CI use Ubuntu 14.04 Trusty VM instead.
This CL also updates Ubuntu 14.04 Dockerfile to keep those two build
environments as similar as possible.
BUG=
TEST=
REF_BUG=
REF_CL=
REF_TIME=2016-03-03T02:14:00-08:00
REF_TIME_RAW=1457000040 -0800
Yohei Yukawa
8 years ago
26 | 26 |
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
27 | 27 |
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
28 | 28 |
|
29 | |
sudo: false
|
|
29 |
sudo: required
|
|
30 |
dist: trusty
|
30 | 31 |
|
31 | 32 |
os:
|
32 | 33 |
- linux
|
|
36 | 37 |
|
37 | 38 |
compiler: clang
|
38 | 39 |
|
39 | |
addons:
|
40 | |
apt:
|
41 | |
sources:
|
42 | |
- ubuntu-toolchain-r-test
|
43 | |
packages:
|
44 | |
- ant
|
45 | |
- clang-3.4
|
46 | |
- libc6:i386
|
47 | |
- libglib2.0-dev
|
48 | |
- libgtk2.0-dev
|
49 | |
- libibus-1.0-dev
|
50 | |
- libjsr305-java
|
51 | |
- libncurses5:i386
|
52 | |
- libqt4-dev
|
53 | |
- libstdc++-4.8-dev
|
54 | |
- libstdc++6:i386
|
55 | |
- libxcb-xfixes0-dev
|
56 | |
- openjdk-7-jdk
|
57 | |
- openjdk-7-jre-headless
|
58 | |
- pkg-config
|
59 | |
- zip
|
60 | |
- zlib1g:i386
|
61 | |
|
62 | 40 |
env:
|
63 | 41 |
- TARGET_PLATFORM=Android
|
64 | 42 |
- TARGET_PLATFORM=Linux
|
65 | 43 |
- TARGET_PLATFORM=NaCl
|
66 | 44 |
- TARGET_PLATFORM=Mac
|
|
45 |
|
|
46 |
before_install:
|
|
47 |
- if [ $TRAVIS_OS_NAME == linux ]; then sudo apt-get update; fi
|
|
48 |
- if [ $TRAVIS_OS_NAME == linux ]; then sudo apt-get install -y clang python pkg-config curl bzip2 unzip make; fi
|
|
49 |
- if [ $TARGET_PLATFORM == Linux ]; then sudo apt-get install -y libibus-1.0-dev libglib2.0-dev libqt4-dev libgtk2.0-dev libxcb-xfixes0-dev; fi
|
|
50 |
- if [ $TARGET_PLATFORM == NaCl ]; then sudo apt-get install -y libc6-i386 lib32stdc++6; fi
|
|
51 |
- if [ $TARGET_PLATFORM == Android ]; then sudo apt-get install --no-install-recommends openjdk-7-jdk openjdk-7-jre-headless libjsr305-java ant zip libc6-i386 lib32stdc++6 lib32ncurses5 lib32z1; fi
|
67 | 52 |
|
68 | 53 |
install:
|
69 | 54 |
- if [ $TRAVIS_OS_NAME == linux ]; then git -C src/third_party clone https://chromium.googlesource.com/chromium/tools/depot_tools.git; fi
|
|
73 | 58 |
- if [ $TARGET_PLATFORM == Mac ]; then git -C src/third_party clone https://chromium.googlesource.com/chromium/tools/depot_tools.git; fi
|
74 | 59 |
- if [ $TARGET_PLATFORM == Mac ]; then export PATH="$PATH":`pwd`/src/third_party/depot_tools; fi
|
75 | 60 |
- if [ $TARGET_PLATFORM == NaCl ]; then cd src/third_party && curl -LO http://storage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip && unzip nacl_sdk.zip && rm nacl_sdk.zip && cd nacl_sdk && ./naclsdk install pepper_45 && cd ../../../; fi
|
|
61 |
- if [ $TARGET_PLATFORM == Android ]; then jdk_switcher use openjdk7; fi
|
76 | 62 |
- if [ $TARGET_PLATFORM == Android ]; then cd src/third_party && curl -L http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin -O && chmod u+x android-ndk-r10e-linux-x86_64.bin && ./android-ndk-r10e-linux-x86_64.bin > /dev/null && rm android-ndk-r10e-linux-x86_64.bin && curl -L http://dl.google.com/android/android-sdk_r24.1.2-linux.tgz | tar -zx && cd ../../; fi
|
77 | 63 |
- if [ $TARGET_PLATFORM == Android ]; then export ANDROID_NDK_HOME=`pwd`/src/third_party/android-ndk-r10e ; fi
|
78 | 64 |
- if [ $TARGET_PLATFORM == Android ]; then export ANDROID_HOME=`pwd`/src/third_party/android-sdk-linux ; fi
|
31 | 31 |
ENV DEBIAN_FRONTEND noninteractive
|
32 | 32 |
|
33 | 33 |
# Package installation
|
34 | |
RUN dpkg --add-architecture i386
|
35 | 34 |
RUN apt-get update
|
36 | 35 |
## Common packages for linux build environment
|
37 | 36 |
RUN apt install -y clang python pkg-config git curl bzip2 unzip make
|
38 | 37 |
## Packages for linux desktop version
|
39 | 38 |
RUN apt install -y libibus-1.0-dev libglib2.0-dev libqt4-dev libgtk2.0-dev libxcb-xfixes0-dev
|
40 | 39 |
## Packages for Android
|
41 | |
RUN apt install -y --no-install-recommends openjdk-7-jdk openjdk-7-jre-headless libjsr305-java ant libc6:i386 libstdc++6:i386 libncurses5:i386 zlib1g:i386 zip
|
|
40 |
RUN apt install -y --no-install-recommends openjdk-7-jdk openjdk-7-jre-headless libjsr305-java ant zip libc6-i386 lib32stdc++6 lib32ncurses5 lib32z1
|
42 | 41 |
## Packages for NaCl
|
43 | |
RUN apt install -y libc6:i386 libstdc++6:i386
|
|
42 |
RUN apt install -y libc6-i386 lib32stdc++6
|
44 | 43 |
## For emacsian
|
45 | 44 |
RUN apt install -y emacs
|
46 | 45 |
|