diff --git a/.travis.yml b/.travis.yml index f7eeb9a16..428fb19ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,31 +1,58 @@ language: cpp -branches: - except: - - latest-master -before_install: -- export PSPDEV="$TRAVIS_BUILD_DIR/opt/pspsdk" -- export PSPSDK="$PSPDEV/psp/sdk" -- export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin" -- export ANDROID="android-sdk-linux/tools/android" -- sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa -- sudo apt-get update -qq -- if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch jq; fi -- sudo apt-get install -qq qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev -- export QMAKE="qmake -qt=qt5" -- wget -O sdk.lzma http://sourceforge.net/projects/minpspw/files/SDK%20%2B%20devpak/pspsdk%200.11.2/minpspw_0.11.2-amd64.tar.lzma/download -- wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv -- wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz -nv -install: -- tar -x --xz -f sdk.lzma -- tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 -- tar -zxf android-sdk_r23.0.2-linux.tgz -- $ANDROID list sdk --extended -a -- echo yes | $ANDROID update sdk --filter tools,platform-tools,build-tools-20.0.0,android-10 --no-ui --force --no-https -- sudo pip install pyjavaproperties env: global: secure: "fJgWlCFbde96OSQNGKUmowGX+ERPeqP+n1EOMf1+FJzOU4DdkTLRAlV5+5qnEX9jB/3mWN6iPpmG1qEz/SdDG3KHxJYs4ZU/Lu485O24zZ/+GdYBNsrvhPD9ckPGEMLDa1foEVTDnW0Dlkz3BCFcszjhtXGUJv7v6Pj6LRk1Mg8=" + matrix: + - BUILD_TYPE=PSP + - BUILD_TYPE=Android + - BUILD_TYPE=Qt + +branches: + except: + - latest-master + +before_install: + - sudo apt-get update -qq +# 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 http://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="android-sdk-linux/tools/android" + if [ `uname -m` = x86_64 ]; then sudo apt-get install -qq --force-yes libgd2-xpm ia32-libs ia32-libs-multiarch jq; fi + wget http://dl.google.com/android/ndk/android-ndk-r9-linux-x86_64.tar.bz2 -nv + wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz -nv + fi +# Building for Qt here + - if [ "$BUILD_TYPE" == "Qt"]; then + sudo add-apt-repository --yes ppa:ubuntu-sdk-team/ppa + sudo apt-get update -qq + sudo apt-get install -qq qt5-qmake qtbase5-dev qtdeclarative5-dev qttools5-dev qtmultimedia5-dev pulseaudio libpulse-dev + export QMAKE="qmake -qt=qt5" + fi + + +install: +# Building for PSP here + - 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 + tar -zxf android-sdk_r23.0.2-linux.tgz + $ANDROID list sdk --extended -a + echo yes | $ANDROID update sdk --filter tools,platform-tools,build-tools-20.0.0,android-10 --no-ui --force --no-https + fi + - sudo pip install pyjavaproperties script: ./travis-script.sh + +matrix: + fast_finish: true + deploy: provider: releases api-key: diff --git a/travis-script.sh b/travis-script.sh index 3cd466e71..ff04a5d07 100755 --- a/travis-script.sh +++ b/travis-script.sh @@ -1,8 +1,6 @@ #!/bin/sh -ex # let's dump some info to debug a bit -echo PSPDEV = $PSPDEV -echo psp-config = `psp-config --psp-prefix` echo ls = `ls` echo pwd = `pwd` # computing potential release name @@ -35,66 +33,74 @@ mv core_*.zip ../../../../core.zip cd ../../../.. # we're building a PSP binary here -cd JGE -make -j 8 -cd .. -cd projects/mtg -mkdir objs -make -j 8 -mkdir WTH -mkdir WTH/Res -mv EBOOT.PBP WTH/ -mv ../../JGE/exceptionHandler/prx/exception.prx WTH/ -cp ../../core.zip WTH/Res -cd WTH/Res -unzip core.zip -rm core.zip -cd .. -chmod -R 775 Res -cd .. -zip psprelease.zip -r WTH/ -cd ../.. +if [ "$BUILD_TYPE" == "PSP"]; then + # let's dump some info to debug a bit + echo PSPDEV = $PSPDEV + echo psp-config = `psp-config --psp-prefix` + cd JGE + make -j 8 + cd .. + cd projects/mtg + mkdir objs + make -j 8 + mkdir WTH + mkdir WTH/Res + mv EBOOT.PBP WTH/ + mv ../../JGE/exceptionHandler/prx/exception.prx WTH/ + cp ../../core.zip WTH/Res + cd WTH/Res + unzip core.zip + rm core.zip + cd .. + chmod -R 775 Res + cd .. + zip psprelease.zip -r WTH/ + cd ../.. +fi # we're building an Android binary here -android-ndk-r9/ndk-build -C projects/mtg/Android -j8 -$ANDROID list targets -$ANDROID update project -t 1 -p projects/mtg/Android -ant debug -f projects/mtg/Android/build.xml +if [ "$BUILD_TYPE" == "Android"]; then + android-ndk-r9/ndk-build -C projects/mtg/Android -j8 + $ANDROID list targets + $ANDROID update project -t 1 -p projects/mtg/Android + ant debug -f projects/mtg/Android/build.xml +fi -# we're building a Qt version with GUI here -mkdir qt-gui-build -cd qt-gui-build -$QMAKE ../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics -make -j 8 -cd .. +if [ "$BUILD_TYPE" == "Qt"]; then + # we're building a Qt version with GUI here + mkdir qt-gui-build + cd qt-gui-build + $QMAKE ../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics + make -j 8 + cd .. + # let's try an Intel linux binary in debug text-mode-only + $QMAKE projects/mtg/wagic-qt.pro CONFIG+=console CONFIG+=debug DEFINES+=CAPTURE_STDERR + make -j 8 -# let's try an Intel linux binary in debug text-mode-only -$QMAKE projects/mtg/wagic-qt.pro CONFIG+=console CONFIG+=debug DEFINES+=CAPTURE_STDERR -make -j 8 + # we're cross-compiling a Qt Windows version here, + # PATH is only set here to prevent colision -# we're cross-compiling a Qt Windows version here, -# PATH is only set here to prevent colision + # export PATH="$PATH:/opt/mingw32/bin" + # mkdir build + # cd build + # mkdir win-cross + # cd win-cross + # /opt/mingw32/bin/qmake ../../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics + # make -j 8 + # cd release + # cp ../../../projects/mtg/bin/fmod.dll . + # cp /opt/mingw32/bin/QtCore4.dll . + # cp /opt/mingw32/bin/QtGui4.dll . + # cp /opt/mingw32/bin/QtNetwork4.dll . + # cp /opt/mingw32/bin/QtOpenGL4.dll . + # cp ../../../projects/mtg/bin/zlib1.dll . + # cp /opt/mingw32/bin/libpng15-15.dll . + # cd .. + # zip win-cross.zip -r release/ + # cd ../.. -# export PATH="$PATH:/opt/mingw32/bin" -# mkdir build -# cd build -# mkdir win-cross -# cd win-cross -# /opt/mingw32/bin/qmake ../../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics -# make -j 8 -# cd release -# cp ../../../projects/mtg/bin/fmod.dll . -# cp /opt/mingw32/bin/QtCore4.dll . -# cp /opt/mingw32/bin/QtGui4.dll . -# cp /opt/mingw32/bin/QtNetwork4.dll . -# cp /opt/mingw32/bin/QtOpenGL4.dll . -# cp ../../../projects/mtg/bin/zlib1.dll . -# cp /opt/mingw32/bin/libpng15-15.dll . -# cd .. -# zip win-cross.zip -r release/ -# cd ../.. - -# Now we run the testsuite (Res needs to be in the working directory) -cd projects/mtg -../../wagic -cd ../.. + # Now we run the testsuite (Res needs to be in the working directory) + cd projects/mtg + ../../wagic + cd ../.. +fi