Sharing Dependencies and Gradle Plugins between Kotlin/SpringBoot Services
Blog post from StackHawk
StackHawk faced challenges in managing dependencies across multiple repositories without using a mono-repo, which resulted in issues of drift among various projects, particularly concerning versions of plugins and dependencies. To address this, they developed a custom plugin and platform approach that allows for consistent management of shared dependencies across projects. This method involves creating a custom plugin to share common configurations and a custom platform for managing dependencies, both of which are published to a Maven repository for easy integration into dependent projects. By implementing this solution, StackHawk has achieved more consistent and manageable build files across their services, aligning dependency versions and reducing the risk of errors due to version mismatches, despite introducing a bit of additional complexity in their build system.