-
Notifications
You must be signed in to change notification settings - Fork 80
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: Introduce gradle version catalog #5683
build: Introduce gradle version catalog #5683
Conversation
I tried to compare the difference between I audited the difference in runtime classpath using |
@@ -14,8 +14,8 @@ dependencies { | |||
testImplementation project(path: ':Base', configuration: 'tests') | |||
|
|||
testRuntimeOnly project(':log-to-slf4j') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
libs.XYZ
is pretty nice, in that it's based on a symbol rather a string. I wonder if we could do similarly for project dependencies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean its groovy, you can do just about anything. I believe I've seen this done on some other projects, I'll see if I can find where I saw it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few remarks, but nothing I think should hold up the merge (assuming classpaths are verified to be the same).
@@ -14,8 +14,8 @@ dependencies { | |||
testImplementation project(path: ':Base', configuration: 'tests') | |||
|
|||
testRuntimeOnly project(':log-to-slf4j') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I mean its groovy, you can do just about anything. I believe I've seen this done on some other projects, I'll see if I can find where I saw it.
} | ||
|
||
dependencies { | ||
implementation(libs.hadoop.common) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't realize this had moved to Classpaths - I don't love that it's a plugin, but better than repeating it in two places.
This is the first step in modernizing our gradle dependency management by using a gradle version catalog; this PR migrates all of our bespoke
Classpaths.groovy
versions into a standardizedlibs.versions.toml
.The biggest benefit is that dependabot will be able to submit gradle dependency version bump PRs. As developers, we should also benefit from greater standardization (IntelliJ works as you would expect with autocomplete, click-through, and find usages support).
The learning curve should be relatively small.
The intention is to continue the migration to the version catalog. Additional dependencies we declare outside of
Classpaths.groovy
should be relatively straightforward to migrate.Fixes #5177