#!/usr/bin/env bash set -euo pipefail # shellcheck disable=SC1091 source "${XDG_DATA_HOME}/buddy-up/includes/utils.sh" APP=tile38 VERSION=${VERSION:-1.33.0} DEST=${XDG_DATA_HOME}/apps/releases/${APP} main() ( case $(get_os) in darwin) install_zip ;; freebsd) install_zip ;; windows) install_zip ;; linux) install_targz ;; *) echo >&2 "unsupported os $(uname -s)" exit 1 ;; esac ) install_zip() ( URL=https://github.com/tidwall/tile38/releases/download/${VERSION}/tile38-${VERSION}-$(get_os)-$(get_arch).zip extract_zip "${URL}" "${DEST}/${VERSION}" set_current_link "${DEST}" "${VERSION}" DEST_DIR=${DEST}/${VERSION}/tile38-${VERSION}-$(get_os)-$(get_arch) pushd "${DEST_DIR}" || exit 1 mv -v ./* ../ popd || exit 1 rmdir "${DEST_DIR}" set_link "${XDG_BIN_HOME}/tile38-benchmark" "${DEST}" tile38-benchmark set_link "${XDG_BIN_HOME}/tile38-cli" "${DEST}" tile38-cli set_link "${XDG_BIN_HOME}/tile38-server" "${DEST}" tile38-server ) install_targz() ( URL=https://github.com/tidwall/tile38/releases/download/${VERSION}/tile38-${VERSION}-$(get_os)-$(get_arch).tar.gz extract_tarball "${URL}" "${DEST}/${VERSION}" "--strip-component 1" set_current_link "${DEST}" "${VERSION}" set_link "${XDG_BIN_HOME}/tile38-benchmark" "${DEST}" tile38-benchmark set_link "${XDG_BIN_HOME}/tile38-cli" "${DEST}" tile38-cli set_link "${XDG_BIN_HOME}/tile38-server" "${DEST}" tile38-server ) main "${@}"