we moved our annotation processing from kapt to ks...
# ksp
y
we moved our annotation processing from kapt to ksp recently, and it seems it broke compat with allOpen ( https://github.com/micronaut-projects/micronaut-core/issues/9426 ). the issue is that a class that should be covered by allOpen does not show up as
KSDeclaration.isOpen()
. i tried debugging it, having a hard time because of intellij issues, but as i understand it, ksp runs in a completely different (earlier) phase than allOpen. Is there a workaround for this?
j
You can try to set
blockOtherCompilerPlugins
to false to see if it helps. But chances are it might not work depending on which compiler phase is
allOpen
hooked into.
y
yea it doesnt help. allopen uses a FirStatusTransformerExtension, i assume that runs later.
do you think this can be fixed either in allopen or with ksp? or will we need to change our processor to disregard
KSDeclaration.isOpen()
j
are you using the K2 version of allopen given the extension you said? In that case KSP won’t work because KSP currently works only on non-K2 compiler. It is not fixable at the moment to make these 2 plugins work together, a solution is still WIP and please wait for a few months before any updates.
y
oh i didnt realize the Fir stuff was k2. we are not using k2. but i will make a workaround to ignore isOpen for now, then.