Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Dependency resolver is a tool that detects circular dependencies among C/C++ project files and visually represents them in a hierarchical graph.

License

NotificationsYou must be signed in to change notification settings

d3rail0/dependency-resolver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The dependency resolver tool consists of two main parts:

  • Dependency scanner - scans all dependencies among your C/C++ project files.
  • Graph visualizer - draws a hierarchical graph of the dependencies on the screen.

The scanner is used to obtain all includes from project files which are then used to form a directed cyclic or acyclic graph. Cycle (if present) is removed by reversing certain edges and topological order is computed at the same time. Graph with the altered state (in case of cycle presence) is passed to a node layering module that assigns nodes to different vertical layers and computes alternative traversal edges in case there are long edges by adding dummy vertices. Finally, graph and layering are passed to the graph visualizer where it is then rendered onto the screen.

The tool can be used to quickly find circular dependencies.

Install instructions

Requires:Python 3.7+

Step 1

Open a terminal and navigate to where you extracted the DRT.

Example:cd "G:\dependency-resolver-master\"

Step 2

Runpip install -r requirements.txt

Step 3

Runpy main.py

How to use

Click on theSelect button to select a directory containing C/C++ project files. The dependency scanner will get all the includes from files and create a hierarchical representation of project dependencies. Warnings will show in the bottom-left corner in case a cyclic dependency was detected. Besides, at least one of the edges that are in the cycle will be highlighted.

Background

DRT is a small proof-of-concept tool developed for a semester project to show how the toposort algorithm could be practically used.

Demo

Project showcase

References

Websites:

About

Dependency resolver is a tool that detects circular dependencies among C/C++ project files and visually represents them in a hierarchical graph.

Resources

License

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp