1 #!/bin/bash 2 3 case "$1" in 4 "before_install") 5 case "${TRAVIS_OS_NAME}" in 6 "linux") 7 case "${BUILD_SYSTEM}" in 8 "bazel") 9 wget https://github.com/bazelbuild/bazel/releases/download/0.4.5/bazel_0.4.5-linux-x86_64.deb 10 echo 'b494d0a413e4703b6cd5312403bea4d92246d6425b3be68c9bfbeb8cc4db8a55 bazel_0.4.5-linux-x86_64.deb' | sha256sum -c --strict || exit 1 11 sudo dpkg -i bazel_0.4.5-linux-x86_64.deb 12 ;; 13 esac 14 ;; 15 esac 16 ;; 17 "install") 18 case "${TRAVIS_OS_NAME}" in 19 "osx") 20 brew update 21 brew install binutils 22 23 case "${CC}" in 24 "gcc-"*) 25 which ${CC} || brew install homebrew/versions/gcc$(echo "${CC#*-}" | sed 's/\.//') 26 ;; 27 esac 28 29 case "${BUILD_SYSTEM}" in 30 "python") 31 source terryfy/travis_tools.sh 32 get_python_environment $INSTALL_TYPE $PYTHON_VERSION venv 33 pip install --upgrade wheel 34 ;; 35 "bazel") 36 brew install bazel 37 ;; 38 esac 39 ;; 40 "linux") 41 case "${CC}" in 42 "pgcc") 43 wget 'https://raw.githubusercontent.com/nemequ/pgi-travis/de6212d94fd0e7d07a6ef730c23548c337c436a7/install-pgi.sh' 44 echo 'acd3ef995ad93cfb87d26f65147395dcbedd4c3c844ee6ec39616f1a347c8df5 install-pgi.sh' | sha256sum -c --strict || exit 1 45 /bin/sh install-pgi.sh 46 ;; 47 esac 48 ;; 49 esac 50 ;; 51 "script") 52 case "${BUILD_SYSTEM}" in 53 "cmake") 54 mkdir builddir && cd builddir 55 CMAKE_FLAGS= 56 if [ "${CROSS_COMPILE}" = "yes" ]; then 57 CMAKE_FLAGS="-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_RC_COMPILER=${RC_COMPILER}" 58 fi 59 cmake ${CMAKE_FLAGS} -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DENABLE_SANITIZER="${SANITIZER}" -DCMAKE_C_FLAGS="${CFLAGS}" .. 60 make VERBOSE=1 61 ctest -V 62 ;; 63 "python") 64 if [ "${TRAVIS_OS_NAME}" = "osx" ]; then 65 source venv/bin/activate 66 fi 67 python setup.py build test 68 ;; 69 "maven") 70 cd java/org/brotli 71 mvn install && cd integration && mvn verify 72 ;; 73 "bazel") 74 bazel test -c opt ...:all 75 ;; 76 esac 77 ;; 78 "after_success") 79 case "${BUILD_SYSTEM}" in 80 "python") 81 case "${TRAVIS_OS_NAME}" in 82 "osx") 83 source venv/bin/activate 84 pip wheel -w dist . 85 ;; 86 esac 87 ;; 88 esac 89 ;; 90 "before_deploy") 91 case "${BUILD_SYSTEM}" in 92 "bazel") 93 export RELEASE_DATE=`date +%Y-%m-%d` 94 perl -p -i -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' .bintray.json 95 zip -j9 brotli.zip bazel-bin/libbrotli*.a bazel-bin/libbrotli*.so bazel-bin/bro 96 ;; 97 esac 98 ;; 99 esac 100