SKaiNET already uses kotlinx.serialization for JSON export in skainet-compile-json.
However, the project still keeps Jackson / JSON Schema validator dependencies in the Gradle version catalog.
We should check whether the remaining Jackson-based schema handling can be replaced with a Kotlin-native solution, preferably [kotlinx-schema](https://github.com/Kotlin/kotlinx-schema), using the existing @Serializable models.
Scope
- Start with the main
SKaiNET repository.
- Focus on
skainet-compile-json.
- Check the existing JSON export models and tests.
- Add a small proof of concept for generating schema from an existing
@Serializable model.
- Keep current JSON export behavior unchanged.
- Note any similar dependency usage in other public SKaiNET repositories, especially
SKaiNET-transformers, as follow-up work.
Acceptance criteria
- A Kotlin-native schema generation path exists for at least one existing JSON export model.
- Existing JSON export tests still pass.
- The PR clearly explains whether any Jackson / JSON Schema dependency can be removed now or should remain as follow-up.
- No large refactor or repo-wide migration is required.
Suggested files to check
gradle/libs.versions.toml
skainet-compile/skainet-compile-json/build.gradle.kts
Serialization.kt
SkJsonModel.kt
GoldenJsonTest.kt
Notes
kotlinx-schema is still experimental, so the goal is to validate the approach first.
If the migration looks good, we can create follow-up issues for other SKaiNET ecosystem repositories.
SKaiNET already uses
kotlinx.serializationfor JSON export inskainet-compile-json.However, the project still keeps Jackson / JSON Schema validator dependencies in the Gradle version catalog.
We should check whether the remaining Jackson-based schema handling can be replaced with a Kotlin-native solution, preferably
[kotlinx-schema](https://github.com/Kotlin/kotlinx-schema), using the existing@Serializablemodels.Scope
SKaiNETrepository.skainet-compile-json.@Serializablemodel.SKaiNET-transformers, as follow-up work.Acceptance criteria
Suggested files to check
gradle/libs.versions.tomlskainet-compile/skainet-compile-json/build.gradle.ktsSerialization.ktSkJsonModel.ktGoldenJsonTest.ktNotes
kotlinx-schemais still experimental, so the goal is to validate the approach first.If the migration looks good, we can create follow-up issues for other SKaiNET ecosystem repositories.