Home | History | Annotate | Download | only in brotli
      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