chore: consolidate gradle config and publishing#470
Merged
Conversation
- Add gradle/libs.versions.toml for plugin/dependency versions - Move common Android library/application config (compileSdk, minSdk, JVM 17, compose, testOptions) to subprojects blocks in the root build script - Extract shared Maven Central publishing into gradle/publishing.gradle.kts (parameterized by artifactId, name, description) - Extract Robolectric + standard exclusion list into gradle/robolectric.gradle.kts Net: -529 lines across module build files. Closes #113, #114
a62359b to
afd0389
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
Cleans up redundancy across the per-module gradle files. Each module previously
duplicated Android library setup, the Maven Central publishing block, and the
Robolectric exclusion list. This consolidates them into shared locations:
gradle/libs.versions.toml— version catalog for all plugin and dependency versions.testOptions) moved to
subprojectsblocks in the root build script, appliedvia
plugins.withId(...).gradle/publishing.gradle.kts— Maven Central publishing, parameterized byartifactId/name/description and consumed via
apply(from = ...).gradle/robolectric.gradle.kts— Robolectric dependency with the standardexclusion list, consumed via
apply(from = ...).Net: -529 lines across module build files. Behavior preserved (verified via
make allandpublishToMavenLocalwith identical POMs).Closes #113
Closes #114
UI
Not applicable.
Review checklist