#!/usr/bin/env bash

set -euo pipefail

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

APP=pulumi
VERSION=${VERSION:-3.53.1}
DEST=${XDG_DATA_HOME}/apps/releases/${APP}

main() (
	URL=https://get.pulumi.com/releases/sdk/pulumi-v${VERSION}-$(get_os)-$(get_arch).tar.gz

	extract_tarball "${URL}" "${DEST}/${VERSION}" "--strip-components 1"
	set_current_link "${DEST}" "${VERSION}"

	for PULUMI_APP in $(find "${DEST}/${VERSION}" -type f -exec basename "{}" \; | sort); do
		set_link "${XDG_BIN_HOME}/${PULUMI_APP}" "${DEST}" "${PULUMI_APP}"
	done
)

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

get_arch() (
	case $(uname -m) in
	x86_64) echo x64 ;;
	arm64) echo arm64 ;;
	aarch64) echo arm64 ;;
	*)
		echo >&2 "unsupported arch: $(uname -m)"
		exit 1
		;;
	esac
)

main "${@}"