x/mod: allow for aggressively conslidating requires This change adds a new function `SetRequireSimplify` that will aggressively consolidate all go.mod requirements into at most two blocks (one direct, one indirect). For golang/go#56471. Change-Id: If71e124725cbd9b1d9e6fc5ad0a4cf33f34cb3ae Reviewed-on: https://go-review.googlesource.com/c/mod/+/739221 LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Pratt <mpratt@google.com>
This repository holds packages for writing tools that work directly with Go module mechanics. That is, it is for direct manipulation of Go modules themselves.
It is NOT about supporting general development tools that need to do things like load packages in module mode. That use case, where modules are incidental rather than the focus, should remain in x/tools, specifically x/tools/go/packages.
The specific case of loading packages should still be done by invoking the go command, which remains the single point of truth for package loading algorithms.