language: cpp branches: except: - latest-master - latest-cmake matrix: include: - os: linux env: BUILD_TYPE=PSP sudo: required - os: linux env: BUILD_TYPE=SDL sudo: required - os: linux env: BUILD_TYPE=Qt sudo: required - os: osx env: BUILD_TYPE=Qt - os: osx env: BUILD_TYPE=iOS - os: linux language: android env: BUILD_TYPE=ANDROID sudo: required - os: osx env: BUILD_TYPE=Emscripten android: components: - platform-tools - build-tools-23.0.1 - android-10 cache: pip: true directories: - opt/pspsdk - android-ndk-r9 before_install: - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty universe" && sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu trusty main" && sudo add-apt-repository --yes ppa:ubuntu-toolchain-r/test && sudo apt-get -qq update && sudo apt-get -qq install g++-4.8 && sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 90; fi - if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew update && brew install dpkg && pwd && ls; fi - if [ "$BUILD_TYPE" == "iOS" ]; then curl -s -f -L https://raw.github.com/r-plus/dotfiles/master/install_theos.sh | bash && pwd && ls; fi # Building for PSP here - if [ "$BUILD_TYPE" == "PSP" ]; then export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" && export PSPSDK="$PSPDEV/psp/sdk" && export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" && wget -O sdk.lzma https://sourceforge.net/projects/minpspw/files/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma/download; fi # Building for Android here - if [ "$BUILD_TYPE" == "ANDROID" ]; then export ANDROID="/usr/local/android-sdk-linux/tools/android" && export PATH=$PATH:"/usr/local/android-sdk-linux/tools" && wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv && wget https://bitbucket.org/ewing/sdl_androidcmake/get/4e9e88c03f04.zip -nv; fi # Building for Qt here - if [ "$BUILD_TYPE" == "Qt" ] && [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install qt5 && export QMAKE="qmake -qt=qt5"; fi - if [ "$BUILD_TYPE" == "Qt" ] && [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get install -qq qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev && export QMAKE="qmake -qt=qt5"; fi # Building for SDL here - if [ "$BUILD_TYPE" == "SDL" ]; then export SDL2DIR="$TRAVIS_BUILD_DIR/thirdparty/SDL2"; fi # Building for Emscripten here - if [ "$BUILD_TYPE" == "Emscripten" ] && [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install emscripten && export LLVM=/usr/local/opt/emscripten/libexec/llvm/bin && emcc; fi install: - | if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then if [[ -z "$(ls -A ${DEPS_DIR}/cmake/bin)" ]]; then CMAKE_URL="https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.tar.gz" mkdir -p cmake && travis_retry wget --no-check-certificate --quiet -O - "${CMAKE_URL}" | tar --strip-components=1 -xz -C cmake fi export PATH="${DEPS_DIR}/cmake/bin:${PATH}" fi - if [ "$TRAVIS_OS_NAME" == "osx" ]; then if ! brew ls --version cmake &>/dev/null; then brew install cmake; fi fi - if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo pip install cpp-coveralls && sudo apt-get install --force-yes -qq libtinyxml-dev libjpeg-dev libpng-dev libgif-dev libz-dev libboost-system-dev libboost-thread-dev libboost-date-time-dev ant; fi - if [ "$BUILD_TYPE" == "PSP" ]; then tar -x --xz -f sdk.lzma; fi - if [ "$BUILD_TYPE" == "ANDROID" ]; then tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 && export ANDROID_NDK=`pwd`/android-ndk-r9 && unzip 4e9e88c03f04.zip && rm -rf thirdparty/SDL2/* && mv ewing-sdl_androidcmake-4e9e88c03f04/* thirdparty/SDL2/; fi - sudo pip install pyjavaproperties - sudo pip install github3.py env: global: # - JAVA_HOME=/usr/lib/jvm/java-7-oracle # Force set JVM version to comply with Travis Ant version (1.8.2) - secure: "EBzr1+qjQsOhn0s+tcFmXR1jP9B0xiOSXuXbRXWZ1OEHNvp8+A5/pS84LYVFlaZqmxr5dApxvPtwhgLIUbQ3EPXm8LpC3KgSD4dS+9/QMbxhe5TK4oczgFRGcDTMJQZsCzhOh7hp3tbcbJg5Gp+VT7aFjFQSHDGwhzSJXsXwh/8=" - secure: "X5dTQfofqAutnXxmu11Ep2MQ5QYnMN8m0AITRtwymhEF2UclcOudI1+skPtuhAGbWQnSO+lhunV3cvMfw2/Ml3k/VDz6VdFSKFrzAu7ja1VLJfcxr7chi0s8q30pVBb66tGydjIBac3B+RQyqgmZQW1frbRrhC/kPFQ6wPWOJdQ=" - secure: "T97NUPnxCpVZ/c5HH0zfo0FO3DPSRMSmze58ubW5EUTZOjAMtEt+OFdsrNZvUTCugUj2M1agtonZbAbczpaAL+lgZcHDgXgWMkfO0pMnsWX1yyCNqMuE/iTMpJr/xsLQeyWlftWjJLsseQU45abZsd1XVmda/G+ZhrDLF1y55SA=" script: "tools/travis-script.sh" after_success: - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_TYPE" == "Qt" ]; then coveralls -b . -e JGE/src -e JGE/include -i projects/mtg/include -i projects/mtg/src --gcov-options '\-lp'; fi - if [ "$BUILD_TYPE" == "ANDROID" ]; then python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH && python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l build_android/package/bin/Wagic_*.apk -r Wagic-android.apk -b $TRAVIS_BRANCH; fi - if [ "$TRAVIS_OS_NAME" == "linux" ] && [ "$BUILD_TYPE" == "PSP" ]; then python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l build_psp/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$BUILD_TYPE" == "iOS" ]; then python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l net.wagic_0.19.2-1_iphoneos-arm.deb -r Wagic-iOS.deb -b $TRAVIS_BRANCH; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$BUILD_TYPE" == "Qt" ]; then python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l build_qt_widget/wagic.dmg -r Wagic-macosx.dmg -b $TRAVIS_BRANCH; fi - if [ "$TRAVIS_OS_NAME" == "osx" ] && [ "$BUILD_TYPE" == "Emscripten" ]; then ./tools/deploy-emscripten.sh; fi