#!/bin/bash

set -xe

CI_DIR="$(dirname $0)/"

BRANCH_NAME=${APPVEYOR_REPO_BRANCH:-${TRAVIS_BRANCH}}
COMMIT_HASH=${APPVEYOR_REPO_COMMIT:-${TRAVIS_COMMIT}}
SHORT_COMMIT_HASH="${COMMIT_HASH:0:7}"

VERSION="${BRANCH_NAME}-${SHORT_COMMIT_HASH}"
RELEASE="${TRAVIS_TAG:-${BRANCH_NAME}}"

OS=${APPVEYOR_OS_NAME:-${TRAVIS_OS_NAME:-linux}}

# We can deploy only when a tag is pushed, and use it as the version
if [[ $OS = "windows" ]]; then
    make -C "${CI_DIR}" release-gui-win
elif [[ $OS = "linux" ]]; then
    make -C "${CI_DIR}" cross-compile release-gui-linux
elif [[ $OS = "osx" ]]; then
    # gettext is not linked on OSX
    export PATH="$PATH:$(brew --prefix gettext)/bin"

    make -C "${CI_DIR}" release-dmg
    make -C "${CI_DIR}" clean-mac-bundle
    make -C "${CI_DIR}" release-gui
else
    echo "Unsupported OS: ${OS}" >2
    exit 1
fi

# update version on bintray conf file, preparing to send
sed -i".bak" "s <VERSION> $VERSION g" ci/bintray.json
sed -i".bak" "s <RELEASE> $RELEASE g" ci/bintray.json
