#!/usr/bin/env bash

set -euo pipefail

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

get_os () (
    case $(uname -s) in
        Linux*)         echo linux;;
        Darwin*)        echo macos;;
        Windows_NT*)    echo win;;
        CYGWIN_NT*)     echo win;;
        *)          >&2 echo "unsupported os"; exit 1;
    esac
)

get_arch () (
    case $(uname -m) in
        x86_64*)    echo 64;;
        amd64*)     echo 64;;
        i386*)      echo 32;;
        i686*)      echo 32;;
        aarch64*)   echo aarch64;;
        *)          >&2 echo "unsupported architecture: $(uname -m)"; exit 1;;
    esac
)

APP=geckodriver
VERSION=${VERSION:-0.31.0}
DEST=${XDG_DATA_HOME}/apps/releases/${APP}
URL=https://github.com/mozilla/geckodriver/releases/download/v${VERSION}/geckodriver-v${VERSION}-$(get_os)$(get_arch).tar.gz

extract_tarball  "${URL}"  "${DEST}/${VERSION}"
set_current_link "${DEST}" "${VERSION}"
set_link "${XDG_BIN_HOME}/${APP}" "${DEST}" ${APP}