#!/usr/bin/env bash
# Installs a downloaded MockServer CLI bundle.
# Called by asdf/mise with ASDF_INSTALL_TYPE, ASDF_INSTALL_VERSION,
# ASDF_INSTALL_PATH, and ASDF_DOWNLOAD_PATH set.
#
# The bundle is self-contained (bin/, lib/, runtime/). We copy the whole tree
# into ASDF_INSTALL_PATH; asdf adds ASDF_INSTALL_PATH/bin to PATH, so the
# `mockserver` launcher resolves its sibling runtime/ and lib/ directories.

set -euo pipefail

if [[ "${ASDF_INSTALL_TYPE:-}" != "version" ]]; then
  echo "mockserver plugin only supports release versions, not ref installs" >&2
  exit 1
fi

if [[ -z "${ASDF_INSTALL_PATH:-}" ]]; then
  echo "ASDF_INSTALL_PATH is required" >&2
  exit 1
fi

if [[ -z "${ASDF_DOWNLOAD_PATH:-}" ]]; then
  echo "ASDF_DOWNLOAD_PATH is required" >&2
  exit 1
fi

mkdir -p "$ASDF_INSTALL_PATH"
cp -R "$ASDF_DOWNLOAD_PATH/." "$ASDF_INSTALL_PATH/"

# Ensure the POSIX launcher is executable (the .bat variant is used on Windows).
if [[ -f "$ASDF_INSTALL_PATH/bin/mockserver" ]]; then
  chmod +x "$ASDF_INSTALL_PATH/bin/mockserver"
fi

echo "MockServer CLI ${ASDF_INSTALL_VERSION} installed to ${ASDF_INSTALL_PATH}/bin"
