ktlint와 detekt #23
YiBeomSeok
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
다음은 안드로이드 프로젝트에서 코드 스타일을 관리하기 위한 ktlint와 detekt를 사용하는 Gradle 태스크를 설명하는 마크다운입니다.
안드로이드 코드 스타일 관리하기
안드로이드 프로젝트에서 코드 스타일을 관리하기 위해 ktlint와 detekt를 사용하는 Gradle 태스크를 만들 수 있습니다. 이를 이용하면 코드를 커밋하기 전에 자동으로 코드 스타일을 체크하고, 코드 스타일에 맞게 자동으로 수정할 수 있습니다.
ktlint
ktlint는 Kotlin 코드 스타일 가이드를 따르는지 검사하고, 필요하면 코드를 자동으로 포맷팅해주는 라이브러리입니다. 다음은 ktlint를 이용하여 만든 Gradle 태스크입니다.
ktlint: Check Kotlin code style
src/**/*.kt
경로에 있는 Kotlin 파일들을 대상으로 검사를 수행합니다. 검사 결과가 터미널에 출력됩니다../gradlew ktlint
ktlintFormat: Fix Kotlin code style deviations
src/**/*.kt
경로에 있는 Kotlin 파일들을 대상으로 코드 스타일을 맞춥니다. 수정된 파일은 바로 저장됩니다../gradlew ktlintFormat
detekt
detekt는 코딩 표준을 따르지 않는 코드를 검출하기 위한 정적 코드 분석 툴입니다. 다음은 detekt를 이용하여 만든 Gradle 태스크입니다.
detekt: Detect Kotlin code issues
projectDir
경로 내 모든 파일입니다.build
디렉토리와resources
디렉토리는 검사 대상에서 제외됩니다. 검출 규칙은$rootDir/detekt.yml
파일에서 정의됩니다../gradlew detekt
위 코드에서는 각 태스크에서 라이브러리의 클래스패스와 메인 클래스를 설정하고, 필요한 매개변수를 추가하여 해당 라이브러리를 실행하도록 합니다. 따라서, 각 태스크를 실행하면 ktlint와 detekt가 자동으로 코드스타일을 검사하고, 코딩 표준에 맞지 않는 문제를 검출합니다.
위 코드에서는 각각의 태스크에 대해 다음과 같은 옵션을 사용하고 있습니다.
ktlint 태스크
configurations.ktlint
를 사용하여 ktlint 라이브러리를 가져옵니다.com.pinterest.ktlint.Main
)을 지정합니다.src/**/*.kt
경로에 있는 Kotlin 파일들을 대상으로 검사를 수행하도록 설정하였습니다.ktlintFormat 태스크
configurations.ktlint
를 사용하여 ktlint 라이브러리를 가져옵니다.com.pinterest.ktlint.Main
)을 지정합니다.-F
옵션을 추가하여 자동으로 코드 스타일을 맞추도록 설정하였습니다.detekt 태스크
io.gitlab.arturbosch.detekt.cli.Main
)을 지정합니다.configurations.detekt
를 사용하여 detekt 라이브러리를 가져옵니다.$projectDir
), 제외할 경로(.*/build/.*,.*/resources/.*
), 검출 규칙 파일($rootDir/detekt.yml
)을 설정하였습니다.각 태스크는 Gradle 명령어로 실행할 수 있습니다. 다음은 실행 방법입니다.
./gradlew ktlint
./gradlew ktlintFormat
./gradlew detekt
위 코드에서는
check
태스크가ktlint
태스크에 종속되도록 설정하였습니다. 따라서./gradlew check
명령어를 실행하면, ktlint 검사와 detekt 검사가 자동으로 수행됩니다.Beta Was this translation helpful? Give feedback.
All reactions