diff --git a/.travis.yml b/.travis.yml index ece4fd393..7c3c5011d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,35 +4,57 @@ branches: - 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 + - export BUILD_PSP=YES + - export BUILD_ANDROID=YES + - export BUILD_Qt=YES + - export BUILD_MAC=YES + - sudo apt-get update -qq +# Building for PSP here + - if [ "$BUILD_PSP" == "YES" ]; 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_ANDROID" == "YES" ]; 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_r24.3.3-linux.tgz -nv; + fi +# Building for Qt here + - if [ "$BUILD_Qt" == "YES" ]; 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: -- 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-21.1.1,android-10 --no-ui --force --no-https +- if [ "$BUILD_PSP" == "YES" ]; then + tar -x --xz -f sdk.lzma; + fi +- if [ "$BUILD_ANDROID" == "YES" ]; then + tar --absolute-names -jxf android-ndk-r9-linux-x86_64.tar.bz2 && + tar -zxf android-sdk_r24.3.3-linux.tgz && + $ANDROID list sdk --extended -a && + echo yes | $ANDROID update sdk -a -t tools,platform-tools,build-tools-22.0.1,android-10 --no-ui --force --no-https; + fi - sudo pip install pyjavaproperties - sudo pip install github3.py +- sudo pip install cpp-coveralls env: global: - secure: "fJgWlCFbde96OSQNGKUmowGX+ERPeqP+n1EOMf1+FJzOU4DdkTLRAlV5+5qnEX9jB/3mWN6iPpmG1qEz/SdDG3KHxJYs4ZU/Lu485O24zZ/+GdYBNsrvhPD9ckPGEMLDa1foEVTDnW0Dlkz3BCFcszjhtXGUJv7v6Pj6LRk1Mg8=" + - 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: "./travis-script.sh" +script: "tools/travis-script.sh" after_success: -- python upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l core.zip -r Wagic-core.zip -b $TRAVIS_BRANCH -- python upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -b $TRAVIS_BRANCH -- python upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH +- coveralls -b . -e JGE/src -e JGE/include -i projects/mtg/include -i projects/mtg/src --gcov-options '\-lp' +- 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 projects/mtg/Android/bin/Wagic-debug.apk -r Wagic-android.apk -b $TRAVIS_BRANCH +- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l projects/mtg/psprelease.zip -r Wagic-psp.zip -b $TRAVIS_BRANCH diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..91fea9937 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,80 @@ +# Changelog + +## [latest-master] (https://github.com/WagicProject/wagic/tree/latest-master) +#### 08/12/14 +- *Merged pull-request:* Fix for guild_keywords Devotion, added some "Chroma" cards [\#606](https://github.com/WagicProject/wagic/pull/606) ([kevlahnota](https://github.com/kevlahnota)) + +- *Merged pull-request:* added guild keywords, added specific life cost [\#605](https://github.com/WagicProject/wagic/pull/605) ([kevlahnota](https://github.com/kevlahnota)) + +- *Merged pull-request:* Buyback issue and a fix [\#604](https://github.com/WagicProject/wagic/pull/604) ([apollovy](https://github.com/apollovy)) + +- *Merged pull-request:* Feature/ios update xcode5.1 [\#602](https://github.com/WagicProject/wagic/pull/602) ([mjnguyen](https://github.com/mjnguyen)) + +- *Merged pull-request:* Remove dead code and fix circular initialization [\#601](https://github.com/WagicProject/wagic/pull/601) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* update android build tools version [\#600](https://github.com/WagicProject/wagic/pull/600) ([Rolzad73](https://github.com/Rolzad73)) + +- *Merged pull-request:* Attempt to make android tools fetching for TravisCI explicit and futureproof [\#599](https://github.com/WagicProject/wagic/pull/599) ([Rolzad73](https://github.com/Rolzad73)) + +- *Merged pull-request:* Damager keyword [\#598](https://github.com/WagicProject/wagic/pull/598) ([bjornsnoen](https://github.com/bjornsnoen)) + +- *Merged pull-request:* Fix a rarity mistake and a grammatical error [\#596](https://github.com/WagicProject/wagic/pull/596) ([bjornsnoen](https://github.com/bjornsnoen)) + +- *Merged pull-request:* Fix bug where the phase wheel got out of sync [\#588](https://github.com/WagicProject/wagic/pull/588) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* More easing [\#586](https://github.com/WagicProject/wagic/pull/586) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Added Avatar Tokens created by Ajani Goldmane. [\#585](https://github.com/WagicProject/wagic/pull/585) ([bjornsnoen](https://github.com/bjornsnoen)) + +- *Merged pull-request:* Cleanup, usability fixes and source code documentation for DeckView.h and GridDeckView.h [\#583](https://github.com/WagicProject/wagic/pull/583) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Fixed bug:* Blight does not destroy at the end of turn but right now [\#592](https://github.com/WagicProject/wagic/issues/592) + +- *Fixed bug:* game freezes on Android when the phone returns from "sleep mode" [\#544](https://github.com/WagicProject/wagic/issues/544) + +- *Fixed bug:* Android port needs to be able to respond to attaching/detaching devices to it [\#522](https://github.com/WagicProject/wagic/issues/522) + +## [alpha-195] (https://github.com/WagicProject/wagic/tree/alpha-195) +#### 07/12/13 +- *Merged pull-request:* Reset positions and filters when reopening the editor [\#578](https://github.com/WagicProject/wagic/pull/578) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Deck viewer [\#577](https://github.com/WagicProject/wagic/pull/577) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Do not specify the system directory in JGE [\#576](https://github.com/WagicProject/wagic/pull/576) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Changed Travis build file to use Android API 10 and Android build tools 18.1.1 [\#575](https://github.com/WagicProject/wagic/pull/575) ([Rolzad73](https://github.com/Rolzad73)) + +- *Merged pull-request:* Feature/play from grave [\#574](https://github.com/WagicProject/wagic/pull/574) ([pankdm](https://github.com/pankdm)) + +- *Merged pull-request:* Fix Valgrind warnings appearing during the test suit. [\#573](https://github.com/WagicProject/wagic/pull/573) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Strings 2 [\#572](https://github.com/WagicProject/wagic/pull/572) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Android travis ci [\#570](https://github.com/WagicProject/wagic/pull/570) ([xawotihs](https://github.com/xawotihs)) + +- *Merged pull-request:* Android NDK build fix [\#569](https://github.com/WagicProject/wagic/pull/569) ([Rolzad73](https://github.com/Rolzad73)) + +- *Merged pull-request:* Add a few namespaces and fix header guards. [\#564](https://github.com/WagicProject/wagic/pull/564) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Updated deckmenu.cpp to properly render deck description and summary [\#562](https://github.com/WagicProject/wagic/pull/562) ([citiral](https://github.com/citiral)) + +- *Merged pull-request:* Fix some valgrind memcheck warnings. However there remains one... [\#561](https://github.com/WagicProject/wagic/pull/561) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Remove some dead code [\#560](https://github.com/WagicProject/wagic/pull/560) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Show output only for failing tests [\#559](https://github.com/WagicProject/wagic/pull/559) ([pankdm](https://github.com/pankdm)) + +- *Merged pull-request:* Defines/Typos [\#557](https://github.com/WagicProject/wagic/pull/557) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Simplify Damage::resolve a bit [\#556](https://github.com/WagicProject/wagic/pull/556) ([ZobyTwo](https://github.com/ZobyTwo)) + +- *Merged pull-request:* Fix cranial plating [\#555](https://github.com/WagicProject/wagic/pull/555) ([pankdm](https://github.com/pankdm)) + +- *Merged pull-request:* Android cleanup [\#1](https://github.com/WagicProject/wagic/pull/1) ([Rolzad73](https://github.com/Rolzad73)) + +- *Fixed bug:* Iona and Nin don't work [\#527](https://github.com/WagicProject/wagic/issues/527) + +- *Closed issue:* Less verbose output of tests at Travis [\#558](https://github.com/WagicProject/wagic/issues/558) + +## [wagic-0.19.2] (https://github.com/WagicProject/wagic/tree/wagic-v0.19.2) +#### 28/10/13 diff --git a/README.md b/README.md index f3eea73d2..83459c59f 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ [![Build Status](https://travis-ci.org/WagicProject/wagic.png?branch=master)](https://travis-ci.org/WagicProject/wagic) [![Build status](https://ci.appveyor.com/api/projects/status/7j4fbr6m62aqej59/branch/master)](https://ci.appveyor.com/project/xawotihs/wagic/branch/master) - +[![Coverage Status](https://coveralls.io/repos/WagicProject/wagic/badge.png?branch=master)](https://coveralls.io/r/WagicProject/wagic?branch=master) ## Description diff --git a/appveyor.yml b/appveyor.yml index a0802bbc0..f084c4475 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,6 +4,11 @@ # - All section names are case-sensitive. # - Section names should be unique on each level. +# branches to build +branches: + # blacklist + except: + - travis_mac_osx #---------------------------------# # environment configuration # #---------------------------------# @@ -61,7 +66,7 @@ after_deploy: # to run your custom scripts instead of provider deployments deploy_script: - - "C:/Python27/python.exe upload-binaries.py -t %GH_TOKEN% -s %APPVEYOR_REPO_COMMIT% -l projects/mtg/bin/Wagic-windows.zip -r Wagic-windows.zip -b %APPVEYOR_REPO_BRANCH%" + - "C:/Python27/python.exe tools/upload-binaries.py -t %GH_TOKEN% -s %APPVEYOR_REPO_COMMIT% -l projects/mtg/bin/Wagic-windows.zip -r Wagic-windows.zip -b %APPVEYOR_REPO_BRANCH%" # to disable deployment #deploy: off diff --git a/projects/mtg/MacOS/Info.plist b/projects/mtg/MacOS/Info.plist new file mode 100644 index 000000000..3f2c494ee --- /dev/null +++ b/projects/mtg/MacOS/Info.plist @@ -0,0 +1,20 @@ + + + + + NSPrincipalClass + NSApplication + CFBundlePackageType + APPL + CFBundleGetInfoString + Created by Qt/QMake + CFBundleSignature + ???? + CFBundleExecutable + wagic.launcher + CFBundleIdentifier + wagic.wagic + NOTE + This file was generated by Qt/QMake. + + diff --git a/projects/mtg/MacOS/wagic.icns b/projects/mtg/MacOS/wagic.icns new file mode 100644 index 000000000..a5cf7d686 Binary files /dev/null and b/projects/mtg/MacOS/wagic.icns differ diff --git a/projects/mtg/MacOS/wagic.launcher b/projects/mtg/MacOS/wagic.launcher new file mode 100755 index 000000000..09a36f175 --- /dev/null +++ b/projects/mtg/MacOS/wagic.launcher @@ -0,0 +1,5 @@ +#!/bin/bash + +cd ${0%/*/*}/Resources +#cd ../Resources +exec ../MacOS/wagic -platformpluginpath ../PlugIns >> ../logs/out.log 2> ../logs/err.log diff --git a/projects/mtg/wagic-qt.pro b/projects/mtg/wagic-qt.pro index 9c547d11a..1aec3a977 100644 --- a/projects/mtg/wagic-qt.pro +++ b/projects/mtg/wagic-qt.pro @@ -12,6 +12,10 @@ CONFIG(console, graphics|console){ CONFIG += console CONFIG -= app_bundle DEFINES += TESTSUITE + + QMAKE_CXXFLAGS += -g -fprofile-arcs -ftest-coverage + QMAKE_LDFLAGS += -g -fprofile-arcs -ftest-coverage + LIBS += -lgcov } else:CONFIG(graphics, graphics|console){ folder_01.source = qml/QmlWagic @@ -19,13 +23,8 @@ else:CONFIG(graphics, graphics|console){ DEPLOYMENTFOLDERS = folder_01 QT += core gui opengl network multimedia QT -= declarative quick qml - #maemo5:DEFINES += QT_WIDGET DEFINES += QT_WIDGET unix:!symbian:INCLUDEPATH += /usr/include/GL - - # Please do not modify the following two lines. Required for deployment. -# !maemo5:include(qml/qmlapplicationviewer/qmlapplicationviewer.pri) -# !maemo5:qtcAddDeployment() } #!android:!symbian:QT += phonon @@ -134,6 +133,28 @@ maemo5: { USERDIR = /sdcard/Wagic/Res DEFINES += RESDIR=\\\"$$RESDIR\\\" DEFINES += USERDIR=\\\"$$USERDIR\\\" +} else:macx { + # Copy the custom Info.plist to the app bundle + QMAKE_INFO_PLIST = MacOS/Info.plist + # Icon is mandatory for submission + ICON = MacOS/wagic.icns + + #Move resource file + res.commands = cd $$_PRO_FILE_PWD_/bin/Res; python createResourceZip.py; + res.depends = all + QMAKE_EXTRA_TARGETS += res + + # Create a dmg file + dmg.commands = mkdir wagic.app/Contents/logs; mkdir wagic.app/Contents/Resources/Res; mv $$_PRO_FILE_PWD_/bin/Res/core*.zip wagic.app/Contents/Resources/Res; cp $$_PRO_FILE_PWD_/MacOS/wagic.launcher wagic.app/Contents/MacOS; $$dirname(QMAKE_QMAKE)/macdeployqt wagic.app -dmg + dmg.depends = res + QMAKE_EXTRA_TARGETS += dmg + + QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.9 + QMAKE_MAC_SDK = macosx + + # Only Intel binaries are accepted so force this + CONFIG += x86 + } else:unix { # Variables BINDIR = /usr/bin diff --git a/tools/build-macos-script.sh b/tools/build-macos-script.sh new file mode 100755 index 000000000..41bf6ebd4 --- /dev/null +++ b/tools/build-macos-script.sh @@ -0,0 +1,34 @@ +#!/bin/sh -e + +## New of branch to use +TRAVIS_MAC_BRANCH=travis_mac_osx + +## Only cross-compile on Mac the master branch +test "$TRAVIS_BRANCH" != "master" && exit 0 + +## Configure Git to use OAuth token +git config credential.helper "store --file=.git/credentials" +echo "https://${GH_TOKEN}:@github.com" > .git/credentials +git config --global user.name $GH_USER +git config --global user.email $GH_EMAIL +git remote set-url origin "https://${GH_TOKEN}@github.com/WagicProject/wagic.git" + +## Delete remote Travis-Mac branch (if any) +export REMOTE=$(git branch -r | grep "origin/$TRAVIS_MAC_BRANCH\$") +if test -n "$REMOTE" ; then + # Delete remote branch + git branch -r -D "origin/$TRAVIS_MAC_BRANCH" + # Push (delete) remote branch on temote server (e.g. github) + git push origin ":$TRAVIS_MAC_BRANCH" +fi + +## Create a new branch +git checkout -q -b "$TRAVIS_MAC_BRANCH" "$TRAVIS_BRANCH" + +## Write a new Travis-CI configuration file +cp tools/macos.travis.yml .travis.yml +git add .travis.yml +git rm appveyor.yml +git commit -m "Auto-Updated Travis-CI configuration for Mac" +## Push new branch to remote server +git push -q origin $TRAVIS_MAC_BRANCH:$TRAVIS_MAC_BRANCH 2> /dev/null > /dev/null diff --git a/tools/macos.travis.yml b/tools/macos.travis.yml new file mode 100644 index 000000000..3858e7193 --- /dev/null +++ b/tools/macos.travis.yml @@ -0,0 +1,15 @@ +language: objective-c +before_install: +- brew update +- brew install qt5 +- sudo pip install pyjavaproperties +- sudo pip install github3.py + +env: + global: + secure: "EBzr1+qjQsOhn0s+tcFmXR1jP9B0xiOSXuXbRXWZ1OEHNvp8+A5/pS84LYVFlaZqmxr5dApxvPtwhgLIUbQ3EPXm8LpC3KgSD4dS+9/QMbxhe5TK4oczgFRGcDTMJQZsCzhOh7hp3tbcbJg5Gp+VT7aFjFQSHDGwhzSJXsXwh/8=" +script: +- /usr/local/opt/qt5/bin/qmake projects/mtg/wagic-qt.pro CONFIG+=graphics +- make -j 4 dmg +after_success: +- python tools/upload-binaries.py -t $GH_TOKEN -s $TRAVIS_COMMIT -l wagic.dmg -r Wagic-macosx.dmg -b $TRAVIS_BRANCH diff --git a/tools/travis-script.sh b/tools/travis-script.sh new file mode 100755 index 000000000..01fa2ec0e --- /dev/null +++ b/tools/travis-script.sh @@ -0,0 +1,87 @@ +#!/bin/sh -e + +# let's dump some info to debug a bit +echo ls = `ls` +echo pwd = `pwd` +# computing potential release name +echo TRAVIS_PULL_REQUEST = $TRAVIS_PULL_REQUEST +echo TRAVIS_BRANCH = $TRAVIS_BRANCH + +if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then +if [ "$TRAVIS_BRANCH" = "alphas" ]; then + export RELEASE_NAME="alpha-${TRAVIS_BUILD_NUMBER}" +else if [ "$TRAVIS_BRANCH" = "master" ]; then + export RELEASE_NAME="latest-master" +fi +fi +fi + +echo RELEASE_NAME = $RELEASE_NAME + + +# updating versions with the TRAVIS build numbers +cd projects/mtg/ +ant update > error.txt +cd ../.. + +# we create resource package +cd projects/mtg/bin/Res +python createResourceZip.py +# if we let the zip here, Wagic will use it in the testsuite +# and we'll get 51 failed test cases +mv core_*.zip ../../../../core.zip +cd ../../../.. + +# we're building a PSP binary here +if [ "$BUILD_PSP" = "YES" ]; then + echo PSPDEV = $PSPDEV + echo psp-config = `psp-config --psp-prefix` + cd JGE + make -j 4 + cd .. + cd projects/mtg + mkdir objs + make -j 4 + 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 +if [ "$BUILD_ANDROID" = "YES" ]; then + android-ndk-r9/ndk-build -C projects/mtg/Android -j4 + $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 +if [ "$BUILD_Qt" = "YES" ]; then + mkdir qt-gui-build + cd qt-gui-build + $QMAKE ../projects/mtg/wagic-qt.pro CONFIG+=release CONFIG+=graphics + make -j 4 + 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 4 + # Now we run the testsuite (Res needs to be in the working directory) + cd projects/mtg + ../../wagic + cd ../.. +fi + +# Let's launch de Mac cross-compilation +if [ "$BUILD_MAC" = "YES" ]; then + ./tools/build-macos-script.sh +fi diff --git a/upload-binaries.py b/tools/upload-binaries.py similarity index 90% rename from upload-binaries.py rename to tools/upload-binaries.py index 01508f6d5..d09c651a6 100644 --- a/upload-binaries.py +++ b/tools/upload-binaries.py @@ -49,7 +49,7 @@ def main(): (options, args) = parser.parse_args() - if (options.token and options.sha and options.local and options.remote and options.branch == 'master'): + if (options.token and options.sha and options.local and options.remote and (options.branch == 'master' or options.branch == 'travis_mac_osx')): gh = login(token = options.token) else: parser.print_help() @@ -59,8 +59,9 @@ def main(): r = checkRelease(repository, options.remote) filename = options.remote with open(options.local, 'rb') as fd: - r.upload_asset('application/zip', filename , fd) - + asset = r.upload_asset('application/zip', filename , fd) + s = 'File ' + options.local + ' has been uploaded as ' + asset.name + '.' + print s if __name__ == "__main__": main() diff --git a/travis-script.sh b/travis-script.sh deleted file mode 100755 index 3cd466e71..000000000 --- a/travis-script.sh +++ /dev/null @@ -1,100 +0,0 @@ -#!/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 -echo TRAVIS_PULL_REQUEST = $TRAVIS_PULL_REQUEST -echo TRAVIS_BRANCH = $TRAVIS_BRANCH - -if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then -if [ "$TRAVIS_BRANCH" = "alphas" ]; then - export RELEASE_NAME="alpha-${TRAVIS_BUILD_NUMBER}" -else if [ "$TRAVIS_BRANCH" = "master" ]; then - export RELEASE_NAME="latest-master" -fi -fi -fi - -echo RELEASE_NAME = $RELEASE_NAME - - -# updating versions with the TRAVIS build numbers -cd projects/mtg/ -ant update > error.txt -cd ../.. - -# we create resource package -cd projects/mtg/bin/Res -python createResourceZip.py -# if we let the zip here, Wagic will use it in the testsuite -# and we'll get 51 failed test cases -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 ../.. - -# 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 - -# 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 - -# 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 ../.. - -# Now we run the testsuite (Res needs to be in the working directory) -cd projects/mtg -../../wagic -cd ../.. diff --git a/upload-binaries.sh b/upload-binaries.sh deleted file mode 100755 index 272b4771d..000000000 --- a/upload-binaries.sh +++ /dev/null @@ -1,99 +0,0 @@ -if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then -if [ "$TRAVIS_BRANCH" == "alphas" ]; then - echo -e "Creating a release\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -d '{"tag_name": "alpha-'${TRAVIS_BUILD_NUMBER}'", "target_commitish": "master", "name": "Alpha release number '${TRAVIS_BUILD_NUMBER}'", "body": "Automatic alpha release generated by Travis CI", "draft": false, "prerelease": true}' "https://api.github.com/repos/WagicProject/wagic/releases" > json.txt - IDDI=`cat json.txt | jq '.id'` - - echo -e "Uploading Core resources\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @core.zip \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-core.zip" - - echo -e "Uploading android package\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @projects/mtg/Android/bin/Wagic-debug.apk \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-android.apk" - - echo -e "Uploading PSP package\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @projects/mtg/psprelease.zip \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-psp.zip" - -# echo -e "Uploading Windows package\n" -# curl -X POST -H "Authorization: token ${GH_TOKEN}" \ -# -H "Accept: application/vnd.github.manifold-preview" \ -# -H "Content-Type: application/zip" \ -# --data-binary @build/win-cross/win-cross.zip \ -# "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-windows.zip" - - echo -e "Done uploading\n" -fi -fi - -if [ "$TRAVIS_PULL_REQUEST" == "false" ]; then -if [ "$TRAVIS_BRANCH" == "master" ]; then - - # get info about all releases - echo -e "Getting info about previous releases" - curl -X GET -H "Authorization: token ${GH_TOKEN}" \ - "https://api.github.com/repos/WagicProject/wagic/releases" > json.txt - - # extract info only about only "latest-release" tag - cat json.txt |jq 'map(select (.tag_name == "latest-master"))' > latest.txt - - # get id of release - ID_TO_DELETE=`cat latest.txt |jq '.[0].id'` - - # delete previous release - echo -e "Deleting release number ${ID_TO_DELETE}" - curl -X DELETE -H "Authorization: token ${GH_TOKEN}" \ - "https://api.github.com/repos/WagicProject/wagic/releases/${ID_TO_DELETE}" - - # delete previous tag - curl -X DELETE -H "Authorization: token ${GH_TOKEN}" \ - "https://api.github.com/repos/WagicProject/wagic/git/refs/tags/latest-master" - - - echo -e "Creating a release\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -d '{"tag_name": "latest-master", "target_commitish": "master", "name": "master-'${TRAVIS_BUILD_NUMBER}'", "body": "Automatic release based on latest commit to master branch generated by Travis CI", "draft": false, "prerelease": true}' "https://api.github.com/repos/WagicProject/wagic/releases" > json.txt - IDDI=`cat json.txt | jq '.id'` - - echo -e "Uploading Core resources\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @core.zip \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-core.zip" - - echo -e "Uploading android package\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @projects/mtg/Android/bin/Wagic-debug.apk \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-android.apk" - - echo -e "Uploading PSP package\n" - curl -X POST -H "Authorization: token ${GH_TOKEN}" \ - -H "Accept: application/vnd.github.manifold-preview" \ - -H "Content-Type: application/zip" \ - --data-binary @projects/mtg/psprelease.zip \ - "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-psp.zip" - -# echo -e "Uploading Windows package\n" -# curl -X POST -H "Authorization: token ${GH_TOKEN}" \ -# -H "Accept: application/vnd.github.manifold-preview" \ -# -H "Content-Type: application/zip" \ -# --data-binary @build/win-cross/win-cross.zip \ -# "https://uploads.github.com/repos/WagicProject/wagic/releases/${IDDI}/assets?name=Wagic-windows.zip" - - echo -e "Done uploading\n" -fi -fi