[swift] SwiftLint를 사용하여 커밋 전 코드 검사를 자동화하는 방법은 무엇인가요?
SwiftLint는 Swift 코드 스타일과 관련된 문제를 식별하여 개발자에게 알려주는 도구입니다. 이는 코드의 일관성과 가독성을 향상시키고, 팀 내에서 일관된 코딩 스타일을 유지하기 위해 매우 유용합니다.
커밋 전에 SwiftLint를 사용하여 코드를 자동으로 검사하려면 다음 단계를 수행해야 합니다:
- SwiftLint 설치하기:
- SwiftLint를 사용하기 위해 우선 Swift Package Manager(SPM)를 사용하여 SwiftLint를 프로젝트에 추가해야 합니다.
Package.swift
파일을 열고,dependencies
배열에 다음 코드를 추가합니다:.package(url: "https://github.com/realm/SwiftLint.git", from: "0.43.1")
- 그런 다음, 프로젝트의
targets
배열 안에 있는target
에 다음 코드를 추가합니다:.target( name: "YourTarget", dependencies: ["SwiftLint"], ... ),
- 터미널에서 프로젝트 디렉토리로 이동한 다음 다음 명령어를 실행하여 SwiftLint를 설치합니다:
swift run swiftlint
- SwiftLint 설정하기:
- 프로젝트의 루트 디렉토리에
.swiftlint.yml
파일을 생성합니다. - 이 파일에서 SwiftLint 규칙을 수정하여 프로젝트에 맞게 설정할 수 있습니다.
.swiftlint.yml
파일 예시: ```yml disabled_rules:- line_length included:
- Sources/** # SwiftLint로 검사할 대상 소스 코드 경로 ```
- 프로젝트의 루트 디렉토리에
- 커밋 전에 SwiftLint 실행 설정하기:
-
Git 훅(pre-commit 훅 등)을 사용하여 커밋이 이루어지기 전에 SwiftLint를 실행하도록 설정할 수 있습니다.
- 프로젝트의
.git/hooks
디렉토리로 이동합니다:cd .git/hooks
pre-commit
파일을 생성하고, 다음 스크립트를 추가합니다:#!/bin/sh # Pre-commit hook to run SwiftLint before every commit. # Get the path to the SwiftLint executable. SWIFTLINT=/usr/local/bin/swiftlint # Run SwiftLint. $SWIFTLINT
- 스크립트 파일을 저장하고 실행 가능하게 만듭니다:
chmod +x pre-commit
-
이제, 코드를 수정하고 커밋할 때마다 pre-commit
훅이 실행되어 SwiftLint가 코드를 검사하게 됩니다. 검사가 완료되면 발견된 문제점에 대한 경고 및 에러를 확인할 수 있습니다. 이렇게 자동화된 코드 검사로 프로젝트의 코드 품질을 유지할 수 있습니다.
추가적으로, SwiftLint를 Xcode 빌드 단계에 통합하여 개발 중에도 실시간으로 코드를 검사하고 싶다면, Xcode 설정에서 Build Phases
를 엽니다. New Run Script Phase
를 추가하고 다음 코드를 입력합니다:
if which swiftlint >/dev/null; then
swiftlint
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi
이렇게 하면 Xcode 빌드 시마다 SwiftLint가 실행되어 코드를 자동으로 검사하게 됩니다.