我们如何制作go vet,gofmt和其他Go linter工具忽略第三方文件vendor/,最好具有准确的累积退出状态?
例如,是否会find . -name vendor -prune -o -name '*.go' -exec gofmt -s -w {} \;提供有意义的退出状态?
我经常这样做
go fmt $(go list ./... | grep -v /vendor/)
go test $(go list ./... | grep -v /vendor/)
Run Code Online (Sandbox Code Playgroud)
但是,自从我开始使用govendor发现后,我可以使用较少打字的govendor来做同样的事情
govendor fmt +l // +l is shorthand for local
Run Code Online (Sandbox Code Playgroud)
您可以将所有源代码放入子目录中(例如internal或lib)。或者,您可以这样做:
go vet ./... | grep -v vendor/ && exit 1 || exit 0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4814 次 |
| 最近记录: |