xref: /aosp_15_r20/external/brotli/scripts/.travis.sh (revision f4ee7fba7774faf2a30f13154332c0a06550dbc4)
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