Skip to content

Make Kotlin Serialization optional/repaceable #893

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

Open
hantsy opened this issue Sep 27, 2024 · 5 comments
Open

Make Kotlin Serialization optional/repaceable #893

hantsy opened this issue Sep 27, 2024 · 5 comments
Labels
bug Something isn't working enhancement New feature or request
Milestone

Comments

@hantsy
Copy link

hantsy commented Sep 27, 2024

Upgrade to v0.14, I found kotlinx-serialization-core/json becomes a dependency of dataframe-core.

If it is for processing JSON files, it should be part of the dependencies of the dataframe json module. In our backend, we use Kotlin/Spring Boot, but we do not use Kotlin Serialization as JSON serialization/deserialization.

Or it should be replaceable with the existing popular solution, not just Kotlin serialization, should be replaced with Jackson, Jakarta JSONB, Gson, etc.

When upgrading to v0.14, it will conflict with the existing Jackson config in Spring.

@hantsy hantsy changed the title Make Kotlin Serialization optional Make Kotlin Serialization optional/repaceable Sep 27, 2024
@zaleslaw
Copy link
Collaborator

Thanks for reporting, we will discuss this issue inside the team and share the solution

@zaleslaw zaleslaw added this to the Backlog milestone Sep 30, 2024
@zaleslaw zaleslaw added the enhancement New feature or request label Sep 30, 2024
@Jolanrensen
Copy link
Collaborator

Could you explain what breaks for your project when our library has kotlinx.serialization as implementation dependency? Is it a complaint about the size of the dataframe-core dependency or do you face a clash somewhere else in your library?

Currently, our JSON support is not yet in a separate module, but we do have plans to change the infrastructure eventually.

@hantsy
Copy link
Author

hantsy commented Oct 1, 2024

There is a Jackson/Kotlinx coexisting issue in Spring Boot, but Spring Boot does not provide an autoconfig for Kotlinx Serialization, when adding Kotlinx serialization JSON in dependencies, some of our endpoint exposed enum array will pick up Kotlinx as serial/deserial tools.

see: spring-projects/spring-boot#24238 (comment)

@hantsy
Copy link
Author

hantsy commented Oct 1, 2024

Currently, our JSON support is not yet in a separate module, but we do have plans to change the #100.

It is great.

@Jolanrensen
Copy link
Collaborator

There is a Jackson/Kotlinx coexisting issue in Spring Boot, but Spring Boot does not provide an autoconfig for Kotlinx Serialization, when adding Kotlinx serialization JSON in dependencies, some of our endpoint exposed enum array will pick up Kotlinx as serial/deserial tools.

see: spring-projects/spring-boot#24238 (comment)

thanks for the explanation!

@Jolanrensen Jolanrensen added the bug Something isn't working label Oct 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants