#!/usr/bin/env bash

# shellcheck disable=SC1090
source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh"

function get_os () {
    case $(uname -s) in
        Linux*)                 echo linux;;
        Darwin*)                echo darwin-10.12;;
        *) >&2 echo "unsupported os: $(uname -s)"; exit 1;;
    esac
}

APP=gitea
DEST=/usr/local/apps/${APP}
CURRENT=${DEST}/current
VERSION=${VERSION:-1.19.0}
URL=https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-$(get_os)-$(get_arch).xz
BIN_DIR=/usr/local/bin

if [ ! -d "${DEST}/${VERSION}" ]; then
    tmp_dir="$(mktemp -d)"
    file=${tmp_dir}/gitea
    curl --silent  --retry 10 --location --output "${file}.xz" "${URL}"
    xz --decompress "${file}.xz"
    chmod 755 "${file}"
    sudo chown root:root "${file}"
    sudo mkdir -p "${DEST}/${VERSION}"
    sudo mv "${file}" "${DEST}/${VERSION}/${APP}"

    rm -rf "${tmp_dir}"
fi
set_current_link "${DEST}" "${VERSION}" "sudo"

unlink_if_set "${BIN_DIR}/${APP}" "sudo"
cd "${BIN_DIR}" || exit 1
sudo ln -s "$(relative_path "${BIN_DIR}" "${CURRENT}/${APP}")" "${APP}"
cd - &> /dev/null || exit 1