문제
Kotlin에서 기능 개발 후, Build를 하는 데, Build Fail이 됐다.
에러 문구를 보니 ktlint 관련 Task에서 실패한듯 하다.
에러 메세지를 보면 소스 코드에서 '{' 등을 빼먹었다고 한다.
ktlint란?
Kotlin 언어에는 공식 코딩 컨벤션이 정의되어 있다. 이를 준수할수 있도록 Gradle 빌드에서 ktlint로 코드 스타일을 검사해준다.
자세한 내용은 아래 페이지 참조.
https://blog.benelog.net/ktlint.html
ktlint로 Kotlin 공식 코딩 컨벤션 맞추기 - 개발수양록
ktlint는 jar 파일로 제공되고, https://jcenter.bintray.com/ 에도 배포되어 있습니다. 따라서 별도의 Gradle plugin이 없어도 Gradle에서 task를 정의해서도 쓸 수 있습니다. 그런데 ktlint의 공식 사이트에서는 Gra
blog.benelog.net
문제 원인
내가 작성한 코드가 코딩 컨벤션을 따르고 있지 않아 ktlint가 Build Fail을 낸 것이다.
문제 해결
IntelliJ에서 일일이 에러 코드 부분을 수정해야하나 싶었는데, 포맷에 맞게 알아서 변경해주는 Gradle 명령어를 ktlin에서 지원했다.
# 코드 스타일 검사 후 틀린 부분을 자동으로 수정합니다.
$ ./gradlew ktlintFormat
# 코드 스타일 검사
$ ./gradlew ktlintCheck
실제 실행하면 아래와 같이 나온다.
ktlintFormat 명령어에서 자동으로 고쳐지지 않는 부분은, 에러 문구로 콘솔에 나오고 직접 코드를 수정해주면 된다.