#!/bin/bash
#
# This script sets up a Kokoro MacOS worker for running Protobuf tests

##
# Select Xcode version

# Remember to udpate the Xcode version when xcode_9.4.1 is not available.
# If xcode is not available, it will probaly encounter the failure for 
# "autom4te: need GNU m4 1.4 or later: /usr/bin/m4""
export DEVELOPER_DIR=/Applications/Xcode_9.4.1.app/Contents/Developer

##
# Select C/C++ compilers

export CC=gcc
export CXX=g++

##
# Install Brew and core softwares

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
source $HOME/.rvm/scripts/rvm
brew uninstall node icu4c cmake
brew prune
brew install gflags gpg gpg2 node pcre ruby cmake
sudo chown -R $(whoami) /usr/local
brew postinstall node

##
# Install Tox

sudo pip install tox==2.4.1

##
# Install RVM

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
curl -sSL https://get.rvm.io | bash -s stable --ruby
