nebula-plugins / nebula-plugins/gradle-dependency-lock-plugin
Add the option to ignore version locks on the transitive dependencies of an overridden dependency.
Nobody has claimed this yet.
- Dominant language
- Groovy
- Stars
- 303
- Forks
- 46
- PR merge metrics
- No merged PRs in 30d
Description
Here's the scenario:
A project has a direct dependency and a transitive dependency. They are both locked to a specific version in the project's lock file. I run gradle with dependencyLock.override=directDependency:[new version].
What currently happens:
The direct dependency version is overridden but the transitive dependency version stays locked, regardless of what version the new direct dependency requests.
What I want an option for:
The direct dependency version is overridden and the lock on the transitive dependency is ignored, so the transitive version will be resolved properly in relation to the new direct dependency.
My proposal is that we add an alternative to the 'override' option like 'overrideAndIgnoreTransitiveLocks'. Another option would be that when the existing 'override' parameter is used with includeTransitives=true , then we ignore the transitive locks. But that seems like overloading includeTransitives.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how dependencyLock.override and includeTransitives are parsed and applied during dependency resolution. Compare the proposed separate option with the includeTransitives alternative, then inspect existing tests for override behavior. Done means the selected option allows transitive locks to be ignored while resolving versions required by the overridden direct dependency.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- groovy
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100