有没有方法可以生成(和查看)我的Haskell项目的模块依赖树?我看过这样的图,但无法弄清楚它是如何实现的。
lmvvr0a81#
对于Haskell堆栈,可以让stack为依存关系图编写GraphViz点文件,其中包含:
stack
stack dot --external
--external标志意味着它将包含堆栈项目中未定义的依赖项。例如,您可以使用I/O重定向将其写入文件,其中包含:
--external
stack dot --external > deps.dot
然后使用dot作为工具将其转换为图像,例如:
dot
dot -Tpng deps.dot -odeps.png
您也可以使用-Tsvg、-Tgif等来选取另一种图像格式。如需详细信息,请参阅dependency visualization section of the documentation。
-Tsvg
-Tgif
kyvafyod2#
您可以使用yav/graphmod获得项目模块的图形:
cabal install graphmod
项目中的:
~/.cabal/bin/graphmod | dot -Tpng > modules.png
您可以使用~/.cabal/bin/graphmod --help查看更多选项,使用选项将输出格式更改为dot,并查看examples here。
~/.cabal/bin/graphmod --help
2条答案
按热度按时间lmvvr0a81#
对于Haskell堆栈,可以让
stack
为依存关系图编写GraphViz点文件,其中包含:--external
标志意味着它将包含堆栈项目中未定义的依赖项。例如,您可以使用I/O重定向将其写入文件,其中包含:然后使用
dot
作为工具将其转换为图像,例如:您也可以使用
-Tsvg
、-Tgif
等来选取另一种图像格式。如需详细信息,请参阅dependency visualization section of the documentation。
kyvafyod2#
您可以使用yav/graphmod获得项目模块的图形:
项目中的:
您可以使用
~/.cabal/bin/graphmod --help
查看更多选项,使用选项将输出格式更改为dot
,并查看examples here。