goda
Go Dependency Analysis toolkit
Description
Goda is a Go dependency analysis toolkit. It contains tools to figure out what your program is using. Cool things it can do: # All of the commands should be run in the cloned repository.
git clone https://github.com/loov/goda && cd goda
# draw a graph of packages in github.com/loov/goda
goda graph "github.com/loov/goda/..." | dot -Tsvg -o graph.svg
# draw a dependency graph of github.com/loov/goda and dependencies
goda graph -cluster -short "github.com/loov/goda:all" | dot -Tsvg -o graph.svg
# list direct dependencies of github.com/loov/goda
goda list "github.com/loov/goda/...:import"
# list dependency graph that reaches flag package, including std
goda graph -std "reach(github.com/loov/goda/...:all, flag)" | dot -Tsvg -o graph.svg
# list packages shared by github.com/loov/goda/pkgset and github.com/loov/goda/cut
goda list "shared(github.com/loov/goda/pkgset:all, github.com/loov/goda/cut:all)"
# list packages that are only imported for tests
goda list "github.com/loov/goda/...:+test:all - github.com/loov/goda/...:all"
# list packages that are imported with `purego` tag
goda list -std "purego=1(github.com/loov/goda/...:all)"
# list packages that are imported for windows and not linux
goda list "goos=windows(github.com/loov/goda/...:all) - goos=linux(github.com/loov/goda/...:all)"
# list how much memory each symbol in the final binary is taking
goda weight -h $GOPATH/bin/goda
# show the impact of cutting a package
goda cut ./...:all
# print dependency tree of all sub-packages
goda tree ./...:all
# print stats while building a go program
go build -a --toolexec "goda exec" .
# list dependency graph in same format as "go mod graph"
goda graph -type edges -f '{{.ID}}{{if .Module}}{{with .Module.Version}}@{{.}}{{end}}{{end}}' ./...:all
How it differs from "go list" or "go mod"
"go list" and "go mod" are tightly integrated with Go and can answer simple
queries with compatibility. They also serves as good building blocks for
other tools.
goda is intended for more complicated queries and analysis. Some of the
features can be reproduced by format flags and scripts. However, this
library aims to make even complicated analysis fast.
Also, goda can be used together with "go list" and "go mod".Upload more screenshots
Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.
Upload a screenshotHint: upload an image here from your clipboard with Ctrl-V
Homepage
Install this software package
If the package is available for the distribution you are currently using on your computer then install the software by clicking on…
Install goda