1*f4ee7fbaSAndroid Build Coastguard Worker#!/bin/bash 2*f4ee7fbaSAndroid Build Coastguard Worker 3*f4ee7fbaSAndroid Build Coastguard Workercase "$1" in 4*f4ee7fbaSAndroid Build Coastguard Worker "before_install") 5*f4ee7fbaSAndroid Build Coastguard Worker ;; 6*f4ee7fbaSAndroid Build Coastguard Worker "install") 7*f4ee7fbaSAndroid Build Coastguard Worker case "${TRAVIS_OS_NAME}" in 8*f4ee7fbaSAndroid Build Coastguard Worker "osx") 9*f4ee7fbaSAndroid Build Coastguard Worker brew update >/dev/null 10*f4ee7fbaSAndroid Build Coastguard Worker brew install binutils 11*f4ee7fbaSAndroid Build Coastguard Worker 12*f4ee7fbaSAndroid Build Coastguard Worker case "${CC}" in 13*f4ee7fbaSAndroid Build Coastguard Worker "gcc-"*) 14*f4ee7fbaSAndroid Build Coastguard Worker which ${CC} || brew install $(echo "${CC}" | sed 's/\-/@/') || brew link --overwrite $(echo "${CC}" | sed 's/\-/@/') 15*f4ee7fbaSAndroid Build Coastguard Worker ;; 16*f4ee7fbaSAndroid Build Coastguard Worker esac 17*f4ee7fbaSAndroid Build Coastguard Worker 18*f4ee7fbaSAndroid Build Coastguard Worker case "${BUILD_SYSTEM}" in 19*f4ee7fbaSAndroid Build Coastguard Worker "bazel") 20*f4ee7fbaSAndroid Build Coastguard Worker brew cask install homebrew/cask-versions/adoptopenjdk8 21*f4ee7fbaSAndroid Build Coastguard Worker brew install bazel 22*f4ee7fbaSAndroid Build Coastguard Worker ;; 23*f4ee7fbaSAndroid Build Coastguard Worker esac 24*f4ee7fbaSAndroid Build Coastguard Worker ;; 25*f4ee7fbaSAndroid Build Coastguard Worker "linux") 26*f4ee7fbaSAndroid Build Coastguard Worker case "${CC}" in 27*f4ee7fbaSAndroid Build Coastguard Worker "pgcc") 28*f4ee7fbaSAndroid Build Coastguard Worker wget 'https://raw.githubusercontent.com/nemequ/pgi-travis/de6212d94fd0e7d07a6ef730c23548c337c436a7/install-pgi.sh' 29*f4ee7fbaSAndroid Build Coastguard Worker echo 'acd3ef995ad93cfb87d26f65147395dcbedd4c3c844ee6ec39616f1a347c8df5 install-pgi.sh' | sha256sum -c --strict || exit 1 30*f4ee7fbaSAndroid Build Coastguard Worker /bin/sh install-pgi.sh 31*f4ee7fbaSAndroid Build Coastguard Worker ;; 32*f4ee7fbaSAndroid Build Coastguard Worker esac 33*f4ee7fbaSAndroid Build Coastguard Worker ;; 34*f4ee7fbaSAndroid Build Coastguard Worker esac 35*f4ee7fbaSAndroid Build Coastguard Worker ;; 36*f4ee7fbaSAndroid Build Coastguard Worker "script") 37*f4ee7fbaSAndroid Build Coastguard Worker case "${BUILD_SYSTEM}" in 38*f4ee7fbaSAndroid Build Coastguard Worker "cmake") 39*f4ee7fbaSAndroid Build Coastguard Worker mkdir builddir && cd builddir 40*f4ee7fbaSAndroid Build Coastguard Worker CMAKE_FLAGS= 41*f4ee7fbaSAndroid Build Coastguard Worker if [ "${CROSS_COMPILE}" = "yes" ]; then 42*f4ee7fbaSAndroid Build Coastguard Worker 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}" 43*f4ee7fbaSAndroid Build Coastguard Worker fi 44*f4ee7fbaSAndroid Build Coastguard Worker cmake ${CMAKE_FLAGS} -DCMAKE_C_COMPILER="$CC" -DCMAKE_CXX_COMPILER="$CXX" -DENABLE_SANITIZER="${SANITIZER}" -DCMAKE_C_FLAGS="${CFLAGS}" .. || exit 1 45*f4ee7fbaSAndroid Build Coastguard Worker make VERBOSE=1 || exit 1 46*f4ee7fbaSAndroid Build Coastguard Worker ctest -V || exit 1 47*f4ee7fbaSAndroid Build Coastguard Worker ;; 48*f4ee7fbaSAndroid Build Coastguard Worker "python") 49*f4ee7fbaSAndroid Build Coastguard Worker python setup.py test 50*f4ee7fbaSAndroid Build Coastguard Worker ;; 51*f4ee7fbaSAndroid Build Coastguard Worker "maven") 52*f4ee7fbaSAndroid Build Coastguard Worker cd java/org/brotli 53*f4ee7fbaSAndroid Build Coastguard Worker mvn install && cd integration && mvn verify 54*f4ee7fbaSAndroid Build Coastguard Worker ;; 55*f4ee7fbaSAndroid Build Coastguard Worker "autotools") 56*f4ee7fbaSAndroid Build Coastguard Worker ./bootstrap && ./configure && make 57*f4ee7fbaSAndroid Build Coastguard Worker ;; 58*f4ee7fbaSAndroid Build Coastguard Worker "fuzz") 59*f4ee7fbaSAndroid Build Coastguard Worker ./c/fuzz/test_fuzzer.sh 60*f4ee7fbaSAndroid Build Coastguard Worker ;; 61*f4ee7fbaSAndroid Build Coastguard Worker "bazel") 62*f4ee7fbaSAndroid Build Coastguard Worker bazel build -c opt ...:all && 63*f4ee7fbaSAndroid Build Coastguard Worker cd go && bazel test -c opt ...:all && cd .. && 64*f4ee7fbaSAndroid Build Coastguard Worker cd java && bazel test -c opt ...:all && cd .. && 65*f4ee7fbaSAndroid Build Coastguard Worker cd js && bazel test -c opt ...:all && cd .. && 66*f4ee7fbaSAndroid Build Coastguard Worker cd research && bazel build -c opt ...:all && cd .. 67*f4ee7fbaSAndroid Build Coastguard Worker ;; 68*f4ee7fbaSAndroid Build Coastguard Worker esac 69*f4ee7fbaSAndroid Build Coastguard Worker ;; 70*f4ee7fbaSAndroid Build Coastguard Worker "after_success") 71*f4ee7fbaSAndroid Build Coastguard Worker ;; 72*f4ee7fbaSAndroid Build Coastguard Worker "before_deploy") 73*f4ee7fbaSAndroid Build Coastguard Worker case "${BUILD_SYSTEM}" in 74*f4ee7fbaSAndroid Build Coastguard Worker "bazel") 75*f4ee7fbaSAndroid Build Coastguard Worker export RELEASE_DATE=`date +%Y-%m-%d` 76*f4ee7fbaSAndroid Build Coastguard Worker perl -p -i -e 's/\$\{([^}]+)\}/defined $ENV{$1} ? $ENV{$1} : $&/eg' scripts/.bintray.json 77*f4ee7fbaSAndroid Build Coastguard Worker zip -j9 brotli.zip bazel-bin/libbrotli*.a bazel-bin/libbrotli*.so bazel-bin/brotli 78*f4ee7fbaSAndroid Build Coastguard Worker ;; 79*f4ee7fbaSAndroid Build Coastguard Worker esac 80*f4ee7fbaSAndroid Build Coastguard Worker ;; 81*f4ee7fbaSAndroid Build Coastguard Workeresac 82