snp-sync-batch/.githooks/pre-commit
HYOJIN a8135dbf89 chore: 팀 워크플로우 초기화 및 CLAUDE.md 프로젝트 특화
- CLAUDE.md: 프로젝트 실제 구조(com.snp.batch) 및 기술 스택 반영
- settings.json: hooks 섹션 추가 (SessionStart, PreCompact, PostToolUse)
- settings.json: chmod, scripts 실행 권한 추가
- workflow-version.json: v1.6.1 초기 생성
- .githooks: 서버 최신 버전으로 동기화 (commit-msg, post-checkout, pre-commit)
- frontend/.gitignore: 프론트엔드 빌드 산출물 제외 패턴

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 14:18:34 +09:00

34 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
#==============================================================================
# pre-commit hook (Java Maven)
# Maven 컴파일 검증 — 컴파일 실패 시 커밋 차단
#==============================================================================
echo "pre-commit: Maven 컴파일 검증 중..."
# Maven Wrapper 사용 (없으면 mvn 사용)
if [ -f "./mvnw" ]; then
MVN="./mvnw"
elif command -v mvn &>/dev/null; then
MVN="mvn"
else
echo "경고: Maven이 설치되지 않았습니다. 컴파일 검증을 건너뜁니다."
exit 0
fi
# 컴파일 검증 (테스트 제외, 오프라인 가능)
$MVN compile -q -DskipTests 2>&1
RESULT=$?
if [ $RESULT -ne 0 ]; then
echo ""
echo "╔══════════════════════════════════════════════════════════╗"
echo "║ 컴파일 실패! 커밋이 차단되었습니다. ║"
echo "║ 컴파일 오류를 수정한 후 다시 커밋해주세요. ║"
echo "╚══════════════════════════════════════════════════════════╝"
echo ""
exit 1
fi
echo "pre-commit: 컴파일 성공"