#!/usr/bin/env bash # Desktop 앱 번들·런타임에 영향을 주는 경로 (frontend 공유 + backend API) # # - desktop/ Tauri 셸 # - frontend/ @frontend 번들 (desktop 과 동일 UI) # - backend/ API·비즈니스 로직 (desktop 이 exdev API 사용) # - packages/shared/ frontend·desktop 공유 모듈 set -euo pipefail # grep -E extended regex (한 줄 = OR, ^ = 경로 시작) DESKTOP_VERSION_AFFECTED_REGEX='^(desktop/|frontend/|backend/|packages/shared/|scripts/(build-desktop|jenkins-desktop|publish-desktop|bump-desktop|push-with-desktop))' desktop_version_diff_affects_app() { local range="${1:-}" [[ -n "$range" ]] || return 1 git diff --name-only "$range" 2>/dev/null | grep -Eq "$DESKTOP_VERSION_AFFECTED_REGEX" } desktop_version_list_affected_in_range() { local range="${1:-}" [[ -n "$range" ]] || return 0 git diff --name-only "$range" 2>/dev/null | grep -E "$DESKTOP_VERSION_AFFECTED_REGEX" || true } if [[ "${BASH_SOURCE[0]:-}" == "${0:-}" ]]; then case "${1:-}" in check) desktop_version_diff_affects_app "${2:-HEAD~1..HEAD}" && exit 0 || exit 1 ;; list) desktop_version_list_affected_in_range "${2:-HEAD~1..HEAD}" ;; regex) echo "$DESKTOP_VERSION_AFFECTED_REGEX" ;; *) echo "Usage: $0 check|list|regex [git-range]" >&2 exit 1 ;; esac fi