#!/usr/bin/env bash

set -e

cd "$(dirname "$0")/.."

if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ] && [ -t 0 ]; then
  brew bundle check >/dev/null 2>&1 || {
    echo -n "==> Install Homebrew dependencies? (y/N): "
    read -r response
    case "$response" in
      [yY][eE][sS]|[yY])
        brew bundle
        ;;
      *)
        ;;
    esac
    echo
  }
fi

echo "==> Installing Python…"
uv python install

echo "==> Installing Python dependencies…"
uv sync --all-extras

echo "==> Exporting Python dependencies…"
# note: `--no-hashes` is required because of https://github.com/pypa/pip/issues/4995
uv export -o requirements-dev.lock --no-hashes
