-
Notifications
You must be signed in to change notification settings - Fork 175
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove kotlin-reflect
and replace it with kotlinx-metadata-jvm
#450
Comments
Interesting. This would mean that all reflection would be gone and Jackson's work would happen purely at compile time? that doesn't sound like it would work with databind, would this alter just the Kotlin module? Mainly, I want to know more, this is new to me. |
The This means that only the |
Got it, so this would reduce the amount of reflection required when dealing with Kotlin objects? |
I don't have a clear comparison, but it probably is. I think the explanation of |
I don't know this well enough to give much input but explanation for moshi-metadata does sound compelling. I assume that trying to allow either one dynamically would not make much sense (since kotlin-reflect would still be added as a dependency). An alternative for solely reducing jar size could be to use shading to include parts needed here. But if wholesale replacement is possible, sure, why not? |
I don't think it's possible to implement this in 2.13.
I'm also surprised. |
I'll take another look at #439 this week… |
I am very interested if Jackson could stop depending on |
Note that although I hope to speed up progress towards 2.13, that is not to say there isn't time to do bigger things just due to that timeline. I try to accommodate release timings to get in important useful fixes, if a bit of extra time is needed. |
@dinomite @cowtowncoder I apologize for the many reviews I have already asked for. |
The project that solved this problem is now available. |
Very interested on this since we would like to migrate Spring as well. I will give it a try on Spring side and provide a feedback. |
As per my note on Spring issue: I would be interested in this. Perhaps this could proceed for Jackson 2.15? |
I think it would be a very complicated PR. First of all, not only are there many changes to be made, but there are also some things (especially around error messages) that have not been done because they are too time-consuming to implement. Secondly, I have not confirmed that there are no unintended destructive changes in Finally, as I mentioned in my comment here, if we are only considering In conclusion, I personally feel that it is better to wait until 2.16.x or later for the migration process. |
@k163377 that sounds reasonable. Looking at Kogera I like the idea of trying out how it works, and perhaps (but only perhaps) its ideas could eventually replace current I have only one concern. README states:
I think it is a bad idea to do either of these, and I would suggest you change this; especially module name. |
|
Sorry, I forgot to reply. |
Great @k163377! This sounds like a good new module and lets you experiment much faster than with existing Jackson Kotlin module. Plus change behavior in incompatible ways where it makes sense too (fix problems) |
I apologize for the delay in responding due to my busy schedule. |
Use case
It makes it easier to use
jackson-module-kotlin
in resource-limited environments.Describe the solution you'd like
Remove
kotlin-reflect
and replace it withkotlinx-metadata-jvm
.Additional context
The reason for creating this issue is that, as mentioned in this
spring-framework
issue,kotlin-reflect
consumes a lot of resources, and there is a topic to replace it withkotlinx-metadata-jvm
.I've started prototyping it, and I'd be happy to discuss how to implement it in this issue if it seems to work.
Also, if you are interested in this change, please send me a 👍 (I would personally like to know if there is any demand for this change).
The text was updated successfully, but these errors were encountered: