-
Notifications
You must be signed in to change notification settings - Fork 1k
Visualize vendor tree #224
Comments
The committee talked about having something like this as part of |
I'd like to help out with this one. Cloning and checking the code right now. |
@Rhymond do you have any ideas for an implementation that you might want to share? |
I would be nice to see the dependency graph output as text as to not require:
The use case I am thinking of is debugging a build issue in a container in CI where |
hi @mem, My first and a current idea is to create a string which you can pipe to
Now I'm looking how to get dependency tree for project. Any advices? I like @jasonkeene idea to create different output without |
First, a quick clarification - there are two visualizations we might generate: the project dependency graph, and the package/import graph. To this point, I was assuming we were discussing a project dependency graph, but both of these have their uses, so it's worth distinguishing between them. One reason to draw the line is because they differ in a crucial property: no valid package/import graph can contain cycles, but it's perfectly possible for project-level cycles to occur - see e.g. #171. The possibility of cycles has some implications about what graph visualization techniques are appropriate.
Agreed, I think this needs to be a different option. It also probably ought to be a tree visualization, rather than making any attempt at drawing a terminal-friendly graph (unless somebody already knows of a magical lib that has already done the work to do that). That's true whether we're talking project or package-level; while I agree with @jasonkeene's sentiment that "Simple things should be simple." graph visualization is not a simple thing. And, yes, a separate issue, too, please 😄
I think this is the right place to start.
If we were to add a field, I'd prefer it capture the "child" relationship. All the other declarations a user makes, as well as the raw data ( I can imagine that that might be enough, though - It seems like adding that field should be sufficient to allow people to create scripts that visualize the output as either a tree or a graph. The only disadvantage is that, with the way gps works right now, getting that information right now will make |
Agreed. I've looked into git's algorithm for representing the DAG and it is not trivial. I was thinking more from the perspective of the user. The points I outlined above would make for a bad user experience. |
Hi, I generated https://github.com/wallix/awless` output. |
That's generated by an implementation you wrote? Cool! Seems like it's probably pretty good, except that it lacks version numbers. |
Hi @sdboyer, Thanks, it was generated by new implementation. |
this is now merged - woot! |
In case folks are looking for instructions on how to use this, here's the place in the docs: https://golang.github.io/dep/docs/daily-dep.html#visualizing-dependencies |
It would be nice if there is a command that can generate a visualized tree of the dependencies in a project.
This would allow us to see what the dependencies of our dependencies (and so on) are.
The text was updated successfully, but these errors were encountered: