shake-build-system

Can shake generate dependency graph in graphviz format?


Using --profile makes shake generate a report.html file from which one can run queries and generate a dependency graph of build rules. Would it be possible to get that graph in graphviz format instead of needing a browser to display it?


Solution

  • If you run --profile=report.json then you get a JSON file containing all the data that goes into the profiling. From that, it should be quite easy to generate a GraphViz output. If there is demand, a GraphViz generation mode could be added to --profile.

    However, past experience suggests that a GraphViz file of all dependencies is just too large to be practically viewed. To make the graph view practical you either need to group/filter the graph, or use a better graph viewer.