-
Notifications
You must be signed in to change notification settings - Fork 17.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
proposal: cmd/go: mark test dependencies in go.mod and go list -m #44743
Comments
I tried implementing this sometime back as a cli at; https://github.com/komuw/ote (has bugs). I would be in favor of the go tool adding |
any update? |
I'm curious about the state of things here, given this is 3.5 years old now. Do Go users care about auditing transitive dependencies via Should we attempt to minimize the list of dependencies in This feature request would help prevent those worries, but maybe it's unnecessary if the ecosystem no longer is concerned about |
I'm split on this. I think it would definitely be helpful to see which dependencies are test dependencies (especially when doing code review of a go.mod file). But I wonder if it would be better to surface this information in other tools? I definitely don't think we should use submodules to minimize testing only dependencies. Module pruning treats tests different than other dependencies, so a test dependency in a go.mod isn't going to affect other modules that depend on your module the way a non-test dependency would. |
I created https://github.com/komuw/ote for this. Here's an example mod file rendered using that tool; https://github.com/komuw/ong/blob/main/go.mod |
There have been a number of requests for a test dependencies section in
go.mod
. These requests actually don't make sense with the way thatgo.mod
works, because it's really just a list of rules to follow for resolving dependencies, not a list of dependencies. The actual list of dependencies is per-package, not per-module, and is determined by the actualimport
statements in the code itself. Thego
tool, however, does add some extra information to thego.mod
file in the form of an// indirect
comment after dependencies that are only depended on by a dependency.I propose adding an alternate comment flag,
test
, to indicate that a dependency is only required by tests. Along with this, add an indication of this to theModule
struct used for formattinggo list -m
output.The text was updated successfully, but these errors were encountered: