editorconfig-gradle-plugin 에 대해 알아보자
- 정의)
.editorconfig파일에 정의된 형식 규칙을 준수하는지 여부를 확인하고, 위반 사항을 수정하기 위한 Gradle 플러그인
- 기본 사용)
- 전제조건) Java 8+ 과 Gradle 4.1+ 에 사용 가능
- 플러그인 추가
- https://plugins.gradle.org/plugin/org.ec4j.editorconfig 에서 최신버전 확인 가능
- 소스 파일이 .editorconfig 규칙을 준수하는지 확인 (.editorconfig 파일 있어야 함)
- 또는 editorconfigCheck task를 프로젝트의 다른 task에 바인딩
- ex. Java 플러그인이 있다면 check 작업에 바인딩하는 것이 자연스러움
- 추가 설정)
.editorconfig확장 객체 이용해 설정
- 동작 과정)
editorconfig-gradle-plugin은org.ec4j.maven:ec4j-lint-api와org.ec4j.maven:ec4j-linters라이브러를 사용함- 두 라이브러리는
Linter인터페이스를 중심으로 설계됨 Linter는 특정 파일 형식(YAML 또는 XML 등)에 대해 .editorconfig 속성이 만족되는지 여부를 감지하고, 필요한 경우 자동으로 적용 가능한 수정을 제안하는 프로세서임
자바 파일에 대해 .editorconfig 규칙 설정하기
.editorconfig파일에서 자바 파일에 대한 형식 규칙을 정의- ex 1_간단 버전) naver/hackday-conventions-java 그대로 사용
- ex 2_커스텀 버전) intellij-java-wooteco-style.xml 을 editorconfig로 변환한 결과
- intellij-java-wooteco-style.xml을 적용한 후 추출함
- Settings > Editor > Code Style > 톱니바퀴 > Import Schema > IntelliJ IDEA code style XML > 다운로드해둔 WootecoStyle 파일 선택해 적용 > OK
- Settings > Editor > Code Style > 톱니바퀴 > Export > EditorConfig
- 위 방식과 같이 인텔리제이의 export 기능을 이용해 어떤 코드 스타일이든 쉽게 EditorConfig 파일로 생성 가능함
- 주의할 점으론 빈 값이 들어간 건 오류를 일으키기에 수동으로 해당 라인을 지워줘야 한단 점이 있음
- ex.
Property 'ij_visual_guides' has no value at 14:20 (318)
- 자바 프로젝트에 .editorconfig 규칙 검사를 추가하고,
check작업에 의존하도록 설정
Reference
editorconfig-gradle-plugin
ec4j • Updated Aug 2, 2024
