apache / apache/maven-dependency-tree

[MSHARED-1454] Conflict Data on VerboseDependencyNode is hidden

Open
#105 0 comments 0 reactions 0 assignees View on GitHub
enhancement priority:minor
Dominant language
Java
Stars
27
Forks
31
Avg merge
5h 53m
Merged PRs (30d)
1

Description

**[Elias Lundell](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=JIRAUSER307139)** opened **[MSHARED-1454](https://issues.apache.org/jira/browse/MSHARED-1454?redirect=false)** and commented

In maven-dependency-plugin there are multiple export formats for the dependency tree, these include Json, DOT, GraphML etc. When creating the normal tree all information is there to format it nicely as e.g. Json. However, when running ``{}mvn dependency:tree -Dverbose{`}`, all nodes are included (as they are VerboseDependencyNode) but since VerboseDependencyNode is internal in maven-dependency-tree there is no (clean) way to include information of which nodes are included or not (see https://issues.apache.org/jira/browse/MDEP-962).

The only current way to include this information would be to parse the ``{}toNodeString(){`}` output (where excluded nodes are wrapped in parenthesis).

I propose to expose ConflictData on the DependencyNode and make it null for DefaultDependencyNode to allow for more detailed information in the machine-readable formats.

---

**Remote Links:**
- [GitHub Pull Request #50
](https://github.com/apache/maven-dependency-tree/pull/50)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing DependencyNode, DefaultDependencyNode, and VerboseDependencyNode, then inspect pull request #50. Trace how toNodeString exposes excluded nodes and how the JSON, DOT, and GraphML formats consume dependency nodes. Done means conflict information is available to machine-readable formats without parsing the string output.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.