d2fffb4b84
Since a user's module cache is generally going to be much bigger than their main module, one would expect that caching just information about the module cache would be sufficient. It turns out that's not correct. When we discover something in the module cache, we have to make sure that a different version of it isn't already in scope. Doing that can require information about the main module or replace targets, so that needs to be cached too. Concretely, when I'm working in x/tools, if a scan discovers a version of x/tools in the module cache, it should usually ignore that version. But that might not be true in more complicated cases, especially those involving nested modules whose boundaries change. So, cache everything except GOROOT. Since the new data is mutable, we store it separately from the module cache data so that it can be discarded easily between runs. Change-Id: I47364f6c0270fee03af8898fec6c85d1b9c8d780 Reviewed-on: https://go-review.googlesource.com/c/tools/+/202045 Reviewed-by: Rebecca Stambler <rstambler@golang.org> |
||
---|---|---|
benchmark/parse | ||
blog | ||
cmd | ||
container/intsets | ||
cover | ||
go | ||
godoc | ||
gopls | ||
imports | ||
internal | ||
playground | ||
present | ||
refactor | ||
.gitattributes | ||
.gitignore | ||
AUTHORS | ||
CONTRIBUTING.md | ||
CONTRIBUTORS | ||
LICENSE | ||
PATENTS | ||
README.md | ||
codereview.cfg | ||
go.mod | ||
go.sum |
README.md
Go Tools
This subrepository holds the source for various packages and tools that support the Go programming language.
Some of the tools, godoc
and vet
for example, are included in binary Go
distributions.
Others, including the Go guru
and the test coverage tool, can be fetched with
go get
.
Packages include a type-checker for Go and an implementation of the Static Single Assignment form (SSA) representation for Go programs.
Download/Install
The easiest way to install is to run go get -u golang.org/x/tools/...
. You can
also manually git clone the repository to $GOPATH/src/golang.org/x/tools
.
Report Issues / Send Patches
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the tools repository is located at https://github.com/golang/go/issues. Prefix your issue with "x/tools/(your subdir):" in the subject line, so it is easy to find.