There's a difference in the way KSP handles @GlideModule annotation in comparison to KAPT.
KSP: the exact class which is annotated with @GlideModule must extend AppGlideModule or LibraryGlideModule
KAPT: a parent class of the one annotated with @GlideModule can extend AppGlideModule or LibraryGlideModule
Glide Version: 4.16.0
Issue details / Repro steps / Use case background:
open class BaseGlideAppModule : AppGlideModule() {
override fun registerComponents(context: Context, glide: Glide, registry: Registry) {
// ... some common behavior (e.g. reused across build variants of an android app)
}
}
☝️ this compiles fine when using the compiler with KAPT (kapt("com.github.bumptech.glide:compiler:4.16.0")), but fails when using KSP (ksp("com.github.bumptech.glide:ksp:4.16.0")) with 👇
Stack trace / LogCat:
[ksp] @GlideModule annotated classes must implement AppGlideModule or LibraryGlideModule
There's a difference in the way KSP handles
@GlideModule
annotation in comparison to KAPT.@GlideModule
must extendAppGlideModule
orLibraryGlideModule
@GlideModule
can extendAppGlideModule
orLibraryGlideModule
Glide Version:
4.16.0
Issue details / Repro steps / Use case background:
☝️ this compiles fine when using the compiler with KAPT (
kapt("com.github.bumptech.glide:compiler:4.16.0")
), but fails when using KSP (ksp("com.github.bumptech.glide:ksp:4.16.0")
) with 👇Stack trace / LogCat: