apache / apache/maven-resolver

Create a dependency visitor that can visualize cycles

Open
#1,561 1 comment 6 reactions 0 assignees View on GitHub
enhancement
Dominant language
Java
Stars
152
Forks
160
Avg merge
1d 4h
Merged PRs (30d)
49

Description

### New feature, improvement proposal

Right now we have no dependency visitor (like DependencyGraphDumper is) that is able to visualize cycles. This means that graphs in FULL verbosity mode cannot be used to be visualized (all visitors will fail with StackOverflow). To be 100% no SO happens, one must wrap existing ones with `TreeDependencyVisitor` that stops at "seen nodes".

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the existing DependencyGraphDumper and TreeDependencyVisitor implementations, focusing on how FULL verbosity graphs are traversed and where repeated nodes are stopped. Define the cycle-safe visitor behavior, then verify that cyclic dependency graphs can be visualized without a StackOverflow while preserving the expected output for non-cyclic graphs.

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
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.