apache / apache/maven-resolver

[MRESOLVER-9] DefaultDependencyCollector does not correctly handle dependency management

Open
#808 4 comments 0 reactions 0 assignees View on GitHub
bug priority:critical
Dominant language
Java
Stars
152
Forks
160
Avg merge
1d 4h
Merged PRs (30d)
49

Description

**[Christian Schulte](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=schulte77)** opened **[MRESOLVER-9](https://issues.apache.org/jira/browse/MRESOLVER-9?redirect=false)** and commented

During dependency processing the `DependencySelector` is called to decide if a dependency is to be selected. The call to `DependencySelector.selectDependency()` is performed with the unmanaged dependency, but needs to be performed with the managed dependency. With the fix applied, the result no longer contains dependencies whose scope or optionality has been managed to not be part of the result (correct behaviour). Without the fix applied, the result contains dependencies with a managed scope or optionality not filtered out by the `DependencySelector` in use (incorrect behaviour).

---

**Issue Links:**
- [MNG-6135](https://issues.apache.org/jira/browse/MNG-6135) Maven plugins and core extensions are not dependencies, they should be resolved the same way as projects.
(_**"blocks"**_)
- [MNG-5935](https://issues.apache.org/jira/browse/MNG-5935) Optional true getting lost in managed dependencies when transitive
(_**"blocks"**_)
- [MNG-7003](https://issues.apache.org/jira/browse/MNG-7003) Inconsistent dependency tree
(_**"blocks"**_)
- [MNG-5227](https://issues.apache.org/jira/browse/MNG-5227) The 'optional' flag of a dependency should be manageable.
(_**"blocks"**_)
- [MRESOLVER-235](https://issues.apache.org/jira/browse/MRESOLVER-235) Managed dependencies are not honoured when resolving a dependency graph

- [MNG-6139](https://issues.apache.org/jira/browse/MNG-6139) Addition of command line option 'legacy-dependency-management'.
(_**"is required by"**_)
- [MRESOLVER-12](https://issues.apache.org/jira/browse/MRESOLVER-12) Addition of unit tests for DependencySelector implementations
(_**"is depended upon by"**_)

**Remote Links:**
- [GitHub Pull Request #145
](https://github.com/apache/maven-resolver/pull/145)
- [Original bug report.
](https://bugs.eclipse.org/bugs/show_bug.cgi?id=486740)

1 votes, 5 watchers

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the linked GitHub pull request #145 and the DefaultDependencyCollector and DependencySelector behavior described in the issue. Verify that selection uses the managed dependency and that dependencies excluded by managed scope or optionality no longer appear in the resolved result.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.