https://kotlinlang.org logo
#multiplatform
Title
# multiplatform
c

Chrys

11/06/2023, 8:13 AM
Can an annotation processor find classes from another module in a KMP multimodule project? I have my models defined in a shared module where I actual/expect their implementation for each platform ( android, web, jvm). The jvm actual model uses an annotation from the querydsl library (@Embeddable). On another backend module ( springboot powered), I import that jvm model. I have the Query Dsl annotation processor that's supposed to generate QClazz for any Clazz annotated with Embeddable:
Copy code
kapt {
    keepJavacAnnotationProcessors = true
    annotationProcessor("org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor")
}
I was expecting querydsl to generate the QClazz for my jvm model. But it doesn't seem to find it. Could it be because it's on a separate module? When I create a class l in the backend module and annotate it with Embeddable, it works fine. But I can't move all jvmMain models from my shared module to the backend module because of that: I'd loose the benefit of expect/actual for one platform (jvm). I hope I'm missing something. I can't use Kapt in the shared module because android and jvm targets would conflict. See: https://slack-chats.kotlinlang.org/t/15718471/hi-i-am-trying-to-make-a-multiplatform-project-with-jvm-and-
4 Views