manager(gradle): do not bump dependency constraints #31853
Replies: 2 comments 1 reply
|
You always have the option to disable renovate updates for certain dependencies via package rules.
|
But the end goal is to reduce manual work, having to handle constraints and ignores actually increases it.
That's fine, but then we lose the documentation side of the constraint that refers to the actual reason for that version. Plus, eventually, the bump won't be necessary as direct dependencies catch up, but we'll still be getting PRs that require attention. For context, we run heavy pipelines that run on multiple environments and take hours. Being able to reduce PRs that are not necessary is a big deal.
We use that in some cases, but it cannot be applied as a general solution. Due to other policies, and especially not being supported in
This is maybe another conversation, but I think any security consideration should be picked by a security scanner. |
Uh oh!
There was an error while loading. Please reload this page.
Tell us more.
For context:
Currently running self-hosted GitHub.
Gradle offers two ways to handle transitive dependencies:
Both offer a clean way to bump a version and document the reason. For example, when dealing with CVEs one can have something like this and make sure all modules in the project use that version.
constraints { implementation("com.squareup.okio:okio:3.4.0") { because 'patch CVE-2023-3635' } }Later, as part of maintenance, one can check when a contains is no longer necessary and remove it.
However, Renovate also bumps those dependencies, which means:
a) user needs to close the PR (if it's not merged automatically)
b) the "code as documentation" no longer applies since the version won't match the actual containing the fix
c) simply accept it and keep track of the original fix some other way. That makes maintenance and removal harder.
That's why I think such dependent definitions should not be bumped automatically. At least a way to avoid it should be provided.
And dreaming, if Renovate could even remove then when not necessary that would be amazing.
All reactions