- .claude/rules/: 팀 정책, Git 워크플로우, 코드 스타일, 네이밍, 테스트 규칙 - .claude/skills/: init-project, sync-team-workflow, create-mr, fix-issue - .claude/settings.json: deny 규칙 + hooks - .claude/workflow-version.json: v1.2.0 적용 - .githooks/: commit-msg(grep -P→-E macOS 호환), pre-commit, post-checkout - .editorconfig, .sdkmanrc, .mvn/settings.xml (Nexus 미러) - .gitignore: .claude/ 팀 파일 추적 전환 - CLAUDE.md: 프로젝트 루트로 이동 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
34 lines
1.3 KiB
Bash
Executable File
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: 컴파일 성공"
|