language: c
sudo: false

os:
  - linux

env:
  global:
    - DEVKITPRO=$HOME/devkitPro
    - DEVKITPPC=${DEVKITPRO}/devkitPPC
    - DEVKITARM=${DEVKITPRO}/devkitARM

addons:
  apt:
    packages:
    - p7zip-full

before_install:
  - mkdir -p "${DEVKITPRO}"
  - wget https://downloads.devkitpro.org/devkitPPC_r29-1-x86_64-linux.tar.bz2 -O devkitPPC-linux.tar.bz2
  - wget https://downloads.devkitpro.org/devkitARM_r47-x86_64-linux.tar.bz2 -O devkitARM-linux.tar.bz2
  - wget https://github.com/Maschell/dynamic_libs/archive/lib.tar.gz -O dynamic_libs.tar.gz
  - wget https://github.com/Maschell/libutils/archive/master.tar.gz -O libutils.tar.gz
  - wget https://github.com/Maschell/libgui/archive/master.tar.gz -O libgui.tar.gz
  - wget https://github.com/aliaspider/libfat/archive/master.tar.gz -O libfat.tar.gz
  - wget https://github.com/dimok789/libiosuhax/archive/master.tar.gz -O libiosuhax.tar.gz
  - wget https://github.com/Maschell/libntfs-wiiu/archive/master.tar.gz -O libntfs.tar.gz
  - wget https://github.com/Maschell/controller_patcher/archive/master.tar.gz -O controller_patcher.tar.gz
  - wget https://github.com/Maschell/fs_wrapper/archive/master.tar.gz -O fs_wrapper.tar.gz

install:
  - tar -xjf devkitPPC-linux.tar.bz2 -C ${DEVKITPRO}/
  - tar -xjf devkitARM-linux.tar.bz2 -C ${DEVKITPRO}/
  - tar -xzvf dynamic_libs.tar.gz
  - tar -xzvf libutils.tar.gz
  - tar -xzvf libgui.tar.gz
  - tar -xzvf libfat.tar.gz
  - tar -xzvf libiosuhax.tar.gz
  - tar -xzvf libntfs.tar.gz
  - tar -xzvf libiosuhax.tar.gz
  - tar -xzvf fs_wrapper.tar.gz
  - tar -xzvf controller_patcher.tar.gz
  - 7z x -y ./loader/libs/portlibs.zip -o${DEVKITPRO}
  - 7z x -y ./dynamic_libs-lib/libs/portlibs.zip -o${DEVKITPRO}
  - 7z x -y ./libgui-master/libs/portlibs.zip -o${DEVKITPRO}
  - (cd libiosuhax-master && make -j8 && make install)
  - (cd libfat-master && make wiiu-release && make wiiu-install)
  - (cd libntfs-wiiu-master && make wiiu-install)
  - (cd dynamic_libs-lib && make -j8 && make install)
  - (cd libutils-master && make -j8 && make install)
  - (cd libgui-master && make -j8 && make install)
  - (cd fs_wrapper-master && make -j8 && make install)
  - (cd controller_patcher-master && make -j8 && make install)

script:
- make && make install
- (cd loader && make)
- (cd plugins && make)

before_deploy:
- mkdir -p "wiiu/apps/wiiupluginloader"
- mkdir -p "wiiu/plugins"
- commit="$(git rev-parse --short=7 HEAD)"
- chmod +x gitrev.sh
- versiontag="$(./gitrev.sh)"
- (cd loader && make)
- find plugins -type f -name "*.mod" | xargs -i cp {} wiiu/plugins
- cp loader/meta/* wiiu/apps/wiiupluginloader
- cp loader/wiiupluginloader.elf wiiu/apps/wiiupluginloader
- zip -r WiiUPluginLoader_$versiontag.zip wiiu
- git config --global user.email "builds@travis-ci.com"
- git config --global user.name "Travis CI"
- export GIT_TAG=WiiUPluginLoader-$versiontag
- commitLog="$(git log -1 --pretty=%B)"
- commitMessage="$(echo -e "-\n" && echo "WiiUPluginLoader nightly build. Not a stable release. Expect bugs!\n Only use the plugins with the bundled loaded as they may not work on others." && echo -e "\nCommitlog:\n")"
- git tag $GIT_TAG -a -m "$commitMessage" -m "$commitLog"
- git push --quiet https://$GITHUBKEY@github.com/Maschell/WiiUPluginSystem $GIT_TAG > /dev/null 2>&1

deploy:
  provider: releases
  skip_cleanup: true
  prerelease: true
  api_key:
    secure: "BdoeihqS+jQGq98cPyF22iCKx68stGSWa3t5ZotLcp8z9EYBODjGLOITbDxm1WsuVbC17dq4ESLogVhLSs1I3Kjfb+oESRTAh6X5tsRpxVWkvpiqk9pkMOQPLq1t1QDAKagm6BtEJ2lkMWD9a0G+Z8d7Fc6BE3TqqTf+DxVsX04ArxA9znLgOtJZxgIbSFhCPGU2PXueiWLcOzLL6u2Bp6FmPcGYOkM3K8BD45+9CjYqv+/SIv7ckJW8KI1CaNOIyrvLGv8VyQ18dAB9DRScB6kIAyInAStwQbvGbU6E+fKSJcdoqGuZIxMgBObo4KIN98pVckMsacXXuEk7BYc9lsdQkB9WhJWfJbmDoXF7Ur4pno/3rGSVD8RC96sCO7mrjKnlbACu4ybvVJvxSq6F4DRG6vpamh03AiiMHaQZG4kOC1CuOA26UG+k0kE9ErlkKa1IcfF/l0G+6UN2Ahx8UNXSu3WJR7IVj6jwVDWKnJnPwKcYjHq7Gn3UnIt+h/j1qN2KuYPZujnuaB/RCHNt0VmHylpmOeQPU4aWHq/KZHj3eSpecSXV9G7Xb9BjbK+cNft+vnmJBqQTyKJG1cWwty38bjJnAwsS249KdBWBowzZmeZoLPvdZaPrLBEfb2+p/ty2aMqKFj66ev/aQBSMkiOnIaVjFzl7UtCutm0FEAo="
  file: WiiUPluginLoader_$versiontag.zip
  on:
    repo: Maschell/WiiUPluginSystem
    tags: false
    all_branches: true