A quick stab at showing how buildSrc convention plugins can be implemented after I saw your SO post :)
buildSrc convention plugins really help with reducing duplicated Gradle config. Configuration is more standardised and easier to change across a large project.
Subprojects can still override the config set in the plugins if necessary, thus improving legibility so the differences are more pronounced.
Further work:
[ ] migrate configure-crash-logger.gradle to a buildSrc plugin
[ ] add the Maven publishing properties (credentials and POM details) to the publishing convention plugin
[ ] Verify that the published modules are still the same (I've configured a local Maven repo for this - just run ./gradlew publishToLocalProjectDir
[ ] use the convention plugins in all subprojects
[ ] tidy up the commented-out code that's been migrated
A quick stab at showing how buildSrc convention plugins can be implemented after I saw your SO post :)
buildSrc convention plugins really help with reducing duplicated Gradle config. Configuration is more standardised and easier to change across a large project.
Subprojects can still override the config set in the plugins if necessary, thus improving legibility so the differences are more pronounced.
Further work:
configure-crash-logger.gradle
to a buildSrc plugin./gradlew publishToLocalProjectDir
Also bumps Gradle to 7.5.1