allprojects {
tasks.matching { it.name.contains("kapt") }.configureEach {
enabled = false
}
}
해결은 아니고, 일단 이걸 추가하면 빌드할 때 kapt가 포함된 task는 빌드를 안하고 건너뛴다. 근데, 왜인지 이걸 추가하니까 빌드가 안되던 원인이 출력됐다.(왜지...?)
나 같은 경우에는 kotlin 버전과 kapt 버전이 호환이 안되서 발생한 문제였다.
한번 맞춰주고 다시 빌드해본다..
이 문제가 딱 발생했었을 때는 얼렁뚱땅 넘어갔었는데 나중에 다시 발생해서 보니까 그 원인을 파악할 수 있었다. Kapt를 사용해서 어노테이션을 해석하고 자바 스텁을 만드는 경우(hilt, room 등의 라이브러리) 이 스텁을 만드는 과정에서 문제가 생기면 빌드에서 문제가 생기게 된다. 빌드중에 계속해서 "cannot load module" 과 같은 오류가 생겨서, 뭔가 이 태스크를 수행하는 와중에 불러오는 모듈이 있나, 생각했었는데 의존성 주입과정에서 주입하려는 모듈이 없거나, 바인딩 하는 과정에서 뭔가 문제가 생긴 경우(주입체가 없거나 주입받는게 없거나..) 제대로 stub을 생성하지 못하기 때문에 빌드 과정에서 문제가 생긴 것이었다. 근데 여기서 로그가 제대로 출력도 안되서 정확한 문제 파악도 못하고 뱅뱅 돌았는데, ksp로 바꾸고 나서는 제대로 출력이 되어서 문제 파악을 할 수 있었다!