This PR implements a Reader/Writer public API for the RSS parser and writer. In addition, the internal delegation chain in PodcastRssParser#parse and PodcastRssWriter#write have been streamlined — now they all delegate to a "main" implementation, making the other overloads just conveniences on top of that. This simplifies the code and exceptions handling, and ensures consistent behaviour.
On top of that, this PR makes some minor changes to make the tests pass under Windows — for whatever reason it dislikes reading resources the way we were doing before.
Lastly, I now ensure we run Detekt's type-aware detektMain task on any run of :check. The CI is now set up to run checks on Windows, as well as on Linux, to avoid further issues in the future. I am not adding macOS because we don't really need it for now.
This PR implements a
Reader
/Writer
public API for the RSS parser and writer. In addition, the internal delegation chain inPodcastRssParser#parse
andPodcastRssWriter#write
have been streamlined — now they all delegate to a "main" implementation, making the other overloads just conveniences on top of that. This simplifies the code and exceptions handling, and ensures consistent behaviour.On top of that, this PR makes some minor changes to make the tests pass under Windows — for whatever reason it dislikes reading resources the way we were doing before.
Lastly, I now ensure we run Detekt's type-aware
detektMain
task on any run of:check
. The CI is now set up to run checks on Windows, as well as on Linux, to avoid further issues in the future. I am not adding macOS because we don't really need it for now.Once this is merged, it'll unblock the #56 PR.