42 lines
1.3 KiB
Bash
Executable File
42 lines
1.3 KiB
Bash
Executable File
#!/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
|