srclib is a polyglot code analysis library, built for hackability. It consists of language analysis toolchains (currently for Go and Java, with Python, JavaScript, and Ruby in beta) with a common output format, and a CLI tool for running the analysis.
% go get -u -v sourcegraph.com/sourcegraph/srclib/cmd/src
Fetching https://sourcegraph.com/sourcegraph/srclib/cmd/src?go-get=1
Parsing meta tags from https://sourcegraph.com/sourcegraph/srclib/cmd/src?go-get=1 (status code 200)
get "sourcegraph.com/sourcegraph/srclib/cmd/src": found meta tag main.metaImport{Prefix:"sourcegraph.com/sourcegraph/srclib", VCS:"git", RepoRoot:"https://github.com/sourcegraph/srclib"} at https://sourcegraph.com/sourcegraph/srclib/cmd/src?go-get=1
get "sourcegraph.com/sourcegraph/srclib/cmd/src": verifying non-authoritative meta tag
Fetching https://sourcegraph.com/sourcegraph/srclib?go-get=1
Parsing meta tags from https://sourcegraph.com/sourcegraph/srclib?go-get=1 (status code 200)
sourcegraph.com/sourcegraph/srclib (download)
# cd /home/dfc/src/sourcegraph.com/sourcegraph/srclib; git submodule update --init --recursive
No submodule mapping found in .gitmodules for path 'testdata/go-cached'
package sourcegraph.com/sourcegraph/srclib/cmd/src: exit status 1