kotools / types

Explicit types for Kotlin Multiplatform.
https://types.kotools.org
MIT License
89 stars 5 forks source link

🏗️ Reducing Kotools Types to a single Gradle project #702

Closed LVMVRQUXL closed 1 month ago

LVMVRQUXL commented 1 month ago

📝 Description

Currently, Kotools Types is shipped through 3 interdependent subprojects:

These subprojects don't need to scale or ship independently, and their version increments together whenever a new release of Kotools Types drops.

So, instead of having multiple modules to manage for one product, we want to merge all these subprojects into a single Gradle project (like in Kotools Types 4.5.0).

While maintaining a single project for Kotools Types is the goal, we want to preserve backward compatibility for projects depending on the types-kotlinx-serialization subproject. For this case, we will copy its declarations into the types subproject and deprecate the original ones with an error level, because they are experimental. These declarations will be removed altogether with the types-kotlinx-serialization subproject in the next incremental release.

A note on its stability should be documented in this subproject's README for versions 4.5.1 and 4.5.2.

LVMVRQUXL commented 1 month ago

Support of Kotlin Serialization should be an optional feature for consumers of Kotools Types, so we have an interest for keeping the types and the types-kotlinx-serialization subprojects separated.