KSP(Kotlin Symbol Processing) 는 코틀린에서 경량화 된 컴파일러 플러그인을 개발할 수 있는 API다. 학습곡선을 최소한으로 줄이고, 코틀린의 기능을 활용할 수 있는 단순화된 API를 제공한다. KSP는 KAPT와 비슷한 기능을 제공하지만, 속도가 최대 2배 더 빠르고 Kotlin 컴파일러 기능에 직접 액세스할 수 있으며 여러 플랫폼과의 호환성을 염두에 두고 개발 중인 도구이다. KSP는 Kotlin 1.4.30 버전 이상과 호환된다.(2021년 8월 7일 기준 KSP는 베타버전이다.)
KAPT와 KSP 사용 시 유일한 차이점은 다음의 사진과 같이 두 줄에 불과하다. 따라서 기존의 kapt에서 ksp로의 migration은 어렵지 않을 것이다.
Library | Status | Tracking issue for KSP |
---|---|---|
Room | Experimentally supported | |
Moshi | Experimentally supported | |
Kotshi | Experimentally supported | |
Lyricist | Experimentally supported | |
Auto Factory | Not yet supported | Link |
Dagger | Not yet supported | Link |
Hilt | Not yet supported | Link |
Glide | Not yet supported | Link |
DeeplinkDispatch | Not yet supported | Link |
[2021.08.07 기준]
https://developers-kr.googleblog.com/2021/02/announcing-kotlin-symbol-processing-ksp.html