|
|
@@ -361,18 +361,32 @@ 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
|
|
|
+ - if [ $XCODE ] && ([ $RELEASE_TAG ] || (! [[ $TRAVIS_BRANCH =~ [^-]+-[^-]+-CI ]] && echo $COMMIT_MESSAGE |grep -cq '\[ci package\]')); then export PACKAGE_UPLOAD=1; doxygen='doxygen graphviz'; fi
|
|
|
- if [ $XCODE ] && echo $COMMIT_MESSAGE |egrep -cq '\[(ccache clear|xcode 64bit only)\]'; then export XCODE_64BIT_ONLY=1; fi
|
|
|
- - travis_retry brew update >/dev/null
|
|
|
- which cmake >/dev/null 2>&1 || cmake=cmake
|
|
|
- - if [ $PACKAGE_UPLOAD ]; then doxygen='doxygen graphviz'; fi
|
|
|
+ - travis_retry brew update >/dev/null
|
|
|
- travis_retry brew install ccache $cmake $doxygen
|
|
|
- - whitelist='brew-cask ccache cmake doxygen graphviz libpng libyaml openssl pkg-config readline'
|
|
|
- - for f in $(brew list); do [[ $whitelist =~ $f ]] || travis_retry brew uninstall --force $f; done
|
|
|
- - for f in $(brew cask list); do [[ $whitelist =~ $f ]] || travis_retry brew cask uninstall --force $f; done
|
|
|
- - travis_retry brew cleanup
|
|
|
+ - if [ $PACKAGE_UPLOAD ]; then
|
|
|
+ whitelist='brew-cask ccache cmake doxygen graphviz libpng libyaml openssl pkg-config readline' &&
|
|
|
+ for f in $(brew list); do [[ $whitelist =~ $f ]] || travis_retry brew uninstall --force $f; done &&
|
|
|
+ for f in $(brew cask list); do [[ $whitelist =~ $f ]] || travis_retry brew cask uninstall --force $f; done &&
|
|
|
+ travis_retry brew cleanup;
|
|
|
+ fi
|
|
|
- export PATH=$(brew info ccache |grep -o '\S*lib\S*'):$PATH
|
|
|
- - if [ $XCODE ]; then sudo cp -p $(which ccache) $(dirname $(xcodebuild -find-executable clang)) && for compiler in clang clang++; do path=$(xcodebuild -find-executable $compiler); sudo mv $path{,.orig} && sudo ln -sf $(dirname $path)/clang.orig /usr/bin/$compiler && sudo ln -sf ccache $path; done && 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; fi
|
|
|
+ - if [ $XCODE ]; then
|
|
|
+ sudo cp -p $(which ccache) $(dirname $(xcodebuild -find-executable clang)) &&
|
|
|
+ for compiler in clang clang++; do
|
|
|
+ path=$(xcodebuild -find-executable $compiler); sudo mv $path{,.orig} &&
|
|
|
+ sudo ln -sf $(dirname $path)/clang.orig /usr/bin/$compiler &&
|
|
|
+ sudo ln -sf ccache $path;
|
|
|
+ done &&
|
|
|
+ if [ $PACKAGE_UPLOAD ]; then
|
|
|
+ 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;
|
|
|
+ fi;
|
|
|
+ fi
|
|
|
- rake ci_setup_cache
|
|
|
script: rake ci && if [ $PACKAGE_UPLOAD ]; then rake ci_package_upload; fi && rake ci_timer
|
|
|
after_script: rake ci_teardown_cache
|