Replaced the buildSrc plugin with discrete build files #2107
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goal
Break up the build plugin moving the majority of the build logic back into the
build.gradle.kts
files.The build plugin within
buildSrc
created a Gradle classpath structure and plugin application order that has blocked various upgrades (AGP and Kotlin mostly). By splitting up the build plugin and moving to simpler utility functions, we can upgrade components and then migrate more of the build logic back into utilities when/if we can.Design
The common version details have been rearranged within the
Versions
object, which now includes aModuleWithVersion
utility class. This serves a similar purpose to a Gradle Version catalog, but can easily be used from within the build sources (buildSrc
) and therefore used within utility functions (such asaddCommonModuleDependencies()
andloadDefaultPlugins()
).Testing
The existing build steps all still work without change. Manually published to Sonatype staging repository.