|
|
@@ -348,15 +348,16 @@ before_script:
|
|
|
- export TRAVIS_COMMIT=$TRAVIS_COMMIT~
|
|
|
- export COMMIT_MESSAGE=$(git log --format=%B -n 1 $TRAVIS_COMMIT)
|
|
|
- export TAG=$(git describe --exact-match $TRAVIS_COMMIT 2>/dev/null); if [[ $TAG =~ [[:digit:]]+\.[[:digit:]]+ ]]; then export RELEASE_TAG=$TAG; fi
|
|
|
- - if [ $XCODE ] && ([ $RELEASE_TAG ] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]')); then export PACKAGE_UPLOAD=1; fi
|
|
|
- - travis_retry brew update >/dev/null
|
|
|
+ - if [[ $XCODE ]] && ([[ $RELEASE_TAG ]] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]')); then export PACKAGE_UPLOAD=1; fi
|
|
|
+ # travis_retry brew update >/dev/null
|
|
|
- which cmake >/dev/null 2>&1 || cmake=cmake
|
|
|
- - if [ $PACKAGE_UPLOAD ]; then doxygen='doxygen graphviz'; fi
|
|
|
+ - if [[ $PACKAGE_UPLOAD ]]; then doxygen='doxygen graphviz';
|
|
|
+ whitelist='brew-cask ccache cmake doxygen graphviz libpng libyaml md5deep openssl pkg-config readline';
|
|
|
+ for f in $(brew list); do [[ $whitelist =~ $f ]] || brew uninstall --force $f; done &&
|
|
|
+ for f in $(brew cask list |grep -v Uninstalling); do [[ $whitelist =~ $f ]] || brew cask uninstall --force $f; done &&
|
|
|
+ brew cleanup;
|
|
|
+ fi
|
|
|
- travis_retry brew install ccache $cmake $doxygen
|
|
|
- - whitelist='brew-cask ccache cmake doxygen graphviz libpng libyaml md5deep openssl pkg-config readline'
|
|
|
- - for f in $(brew list); do [[ $whitelist =~ $f ]] || brew uninstall --force $f; done
|
|
|
- # for f in $(brew cask list |grep -v Uninstalling); do [[ $whitelist =~ $f ]] || brew cask uninstall --force $f; done
|
|
|
- - brew cleanup
|
|
|
- export PATH=$(brew info ccache |grep -o '\S*lib\S*'):$PATH
|
|
|
- if [ $XCODE ]; then pushd $(dirname $(xcodebuild -find-executable clang)) && sudo cp -p $(which ccache) . && for compiler in clang clang++; do sudo mv $compiler{,.orig} && sudo ln -sf $(pwd)/clang.orig /usr/local/bin/$compiler && sudo ln -sf ccache $compiler; done && popd && if [ $IOS ]; then redundant=AppleTV,Watch; elif [ $TVOS ]; then redundant=iPhone,Watch; else redundant=iPhone,AppleTV,Watch; fi && eval sudo rm -rf /Applications/Xcode.app/Contents/Developer/Platforms/{$redundant}{OS,Simulator}.platform; if echo $COMMIT_MESSAGE |egrep -cq '\[(ccache clear|xcode 64bit only)\]' || [[ $(ccache -s |grep 'files in cache' |rev |cut -d' ' -f1 |rev) == '0' ]]; then export XCODE_64BIT_ONLY=1; fi; fi
|
|
|
- rake ci_setup_cache
|