From 3adb405654372f3200d106cd0313138f1e332bd0 Mon Sep 17 00:00:00 2001 From: htlee Date: Mon, 23 Mar 2026 13:52:40 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20=ED=8C=80=20=EC=9B=8C=ED=81=AC?= =?UTF-8?q?=ED=94=8C=EB=A1=9C=EC=9A=B0=20=EB=B6=80=ED=8A=B8=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=EB=9E=A9=20-=20.githooks/pre-commit?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .githooks/pre-commit | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .githooks/pre-commit diff --git a/.githooks/pre-commit b/.githooks/pre-commit new file mode 100644 index 0000000..7a1a3ec --- /dev/null +++ b/.githooks/pre-commit @@ -0,0 +1,33 @@ +#!/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: 컴파일 성공"