Hi, I'm trying to use spring-configuration process...
# spring
c
Hi, I'm trying to use spring-configuration processor in a library. It does not work. The setup is gradle 5.5.1, kotlin 1.4.50, Spring Boot 2.0.0.M5 To not hog the channel I moved the question to stackoverflow https://stackoverflow.com/questions/57769464/
t
c
yes, but that does not seem to be my case, as I've stated in the question, same setup works for my standalone application
t
I saw that. did you anyway try with
lateinit var
instead of
val
? as officially
val
is not supported, it might be you hit a corner case when it actually worked
c
Yes, I tried with
lateinit var
, it didn't work either. But I have narrowed the problem down to IntelliJ. kapt seems to be doing its job properly: I see that kapt does generate metadata json in
build/tmp/kapt3/classes/main/META-INF
with all my properties inside. I'll look through intellij tracker and file the issue if there isn't one already.
s
As you can see in https://kotlinlang.org/docs/reference/kapt.html
note that kapt is still not supported for IntelliJ IDEA’s own build system
So you need to generate metadata via Gradle or Maven
And i think at some point you had to enable annotation processing explicitly in IDEA option but I can"t find the option so this is maybe automatic in latest version
I think it is supported for
val
, but default values are not since we have no way to get them
More globally on that topic, my feeling is that
kapt
is crap and will be replaced by compiler plugins in the future, with full support for any
@ConfigurationProperties
feature, but it is too early since compiler plugin APIs are not stable and unless you are Google or Jetbrains, almost impossible to maintain.
I hope that we will be able to move forward on that next year.
For now I will do a last pass on documentation before Boot 2.2 release, feel free to submit PRs if there are missing warnings or doc.
c
Sure, I'll do that. Thanks for the comment.