Opinion question: If you have a suite of libraries...
# random
j
Opinion question: If you have a suite of libraries that are almost completely modular but can be used together very effectively, do you split them up across repositories and if so, how? I've been thinking about this for a bit. You might end up with sub-libraries that give you the ability to use two of them together. For example if you have a networking library and a serialization library, then you could use a third, really small library that adds networking functions that use serialization.
l
I'd say it depends. You have to take into account versioning. If one library gets an upgrade, should the other get one too at the same time? I'll take two existing cases. Square uses separate repos for Okio, OkHttp, Retrofit and Moshi for example, but Retrofit and OkHttp have several additional artifacts with synced versions, like converters/adapters and logging interceptors for example. Kotlin also has separate versions for kotlinx.serialization and ktor. However, some other libraries have many artifacts with synced versions and one repo. So for your use case, it depends on whether you want serialization and networking closely together or not. If you follow Square and kotlinx+ktor example, you would have two repositories, and the artifact with networking functions using serialization would be in the networking library repo, as a separate artifact, with version in sync with the base networking library