#!/bin/zsh
set -euo pipefail

BIN_DIR=${0:A:h}
ROOT_DIR=${BIN_DIR:h}
COMPONENT_DIR="$ROOT_DIR/components/macos/ui-interaction"
SOURCE="$COMPONENT_DIR/ui-click.swift"
BUILD_DIR="$COMPONENT_DIR/.build"
BINARY="$BUILD_DIR/ui-click"

if [[ ! -x "$BINARY" || "$SOURCE" -nt "$BINARY" ]]; then
  mkdir -p "$BUILD_DIR"
  tmp_binary="$BINARY.$$"
  swiftc -O -framework ApplicationServices -o "$tmp_binary" "$SOURCE"
  chmod +x "$tmp_binary"
  mv "$tmp_binary" "$BINARY"
fi

case "${1:-}" in
  -h|--help|help)
    "$BINARY" --help || true
    exit 0
    ;;
esac

exec "$BINARY" "$@"
