sky-uk/kafka-topic-loader

Remove Pureconfig and Refined as Dependencies

Closed this issue · 2 comments

Both Pureconfig and Refined regularly contain breaking changes. Which makes sense as they are both still 0.x.x versions and semantic versioning allows for this. As a result refined-pureconfig module depends on specific versions of pureconfig.

The problem is when users of the kafka-topic-loader library also have dependencies on these libraries, then they cannot upgrade Pureconfig and Refined without first updating kafka-topic-loader.

Removing these shouldn't be a breaking change. The only part that they are both used in is the loading of configuration which throws on an error anyway. My thinking is the config reading can be replicated with just typesafe config.

It is worth noting that now with Scala Steward and the new build/release system in place that upgrading Kafka topic loader is much easier than it once was and therefore this is no longer as big of a problem.

Would like some other peoples thoughts on this and whether this is a good idea or not?

IMO we have seen a lot of issues keeping pureconfig and refined on compatible versions while they're both in 0.x, and removing them will get us out of dependency hell trying to keep them in sync. I'm all for using the typesafe config, as long as it provides all the features we used in pureconfig (mainly implementing something similar to refined)

Closed in #92