Golang module dependency graph, with directories.
The image_packages console utility is designed to display all packages (modules) of any repository in the Golang language in the form of a scheme diagram(graph) in .graphml format, which can be converted to a .jpg image, etc. It is necessary to understand the structure of the source code of the repository, to study or better understand the call structure of the source code. Displayed:
- directory names
- package names
- number of functions and lines in the package
- go goroutine call arrows (blue)
- function call arrows (black)
- package relationship arrows (dashed)
Sample execution (pictures) can be found in the examples directory
Installation order:
-
Install the .graphml file editor yEd (free) https://www.yworks.com/products/yed/download
-
Compile this repository
make build
image_packages file will appear in the bin folder
- Run the image_packages file with parameters:
image_packages <your_repository_directory> <filename.graphml>
- Open the resulting .graphml file in the yEd editor (all elements will be in the center of the screen first) and select from the menu: Layout - BPMN
- The yEd editor will arrange all the elements of the circuit in an optimal way. You can also select a different Layout type to change the display.
- Export the scheme to a picture. Select from the menu: File-Export
Source code in Golang language. Tested on Linux Ubuntu Readme from 10.07.2023
Made by Aleksandr Nikitin https://github.com/ManyakRus/image_packages