Skip to content

Conversation

@rezib
Copy link
Collaborator

@rezib rezib commented Nov 20, 2025

This commit adds rift graph command to generate graphviz representation of packages dependency graph in a project. The graph is printed on standard output. It can be redirected to graphviz dot command to generate an image in multiple formats.

For example, it is possible to run this command to generate the dependency graph as PNG image:

$ rift graph | dot -Tpng -orift.png

With the option --with-external, external dependencies are represented as additional nodes in the graph with relations between project packages and these external dependencies.

It is also possible to represent a subset of the project graph by specifying a list of packages or a module name in argument. In this case, only these packages in argument with their recursive dependencies are represented in the graph.

Unit test are added to verify content of the representation in graphviz format and validate packages selection based on the arguments.

This commit adds rift graph command to generate graphviz representation
of packages dependency graph in a project. The graph is printed on
standard output. It can be redirected to graphviz `dot` command to
generate an image in multiple formats.

For example, it is possible to run this command to generate the
dependency graph as PNG image:

  $ rift graph | dot -Tpng -orift.png

With the option --with-external, external dependencies are represented
as additional nodes in the graph with relations between project packages
and these external dependencies.

It is also possible to represent a subset of the project graph by
specifying a list of packages or a module name in argument. In this
case, only these packages in argument with their recursive dependencies
are represented in the graph.

Unit test are added to verify content of the representation in graphviz
format and validate packages selection based on the arguments.
@rezib rezib requested review from qa-cea and valeriyoann and removed request for valeriyoann November 20, 2025 10:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant