我想设置一个CI系统,当未按照goimports
正确格式化代码时,它会失败。
我如何列出我的目录:
go list -f {{.Dir}} ./...
/Users/felix/gocode/src/github.com/XXXX/YYY
/Users/felix/gocode/src/github.com/XXXX/YYY/cmd/foo
/Users/felix/gocode/src/github.com/XXXX/YYY/cmd/dev
/Users/felix/gocode/src/github.com/XXXX/YYY/pkg/monitoring/top
最后我如何运行goimports
:
goimports -l $(go list -f {{.Dir}} ./...)
/Users/felix/gocode/src/github.com/XXX/YYY/config.go
/Users/felix/gocode/src/github.com/XXX/YYY/raid_test.go
/Users/felix/gocode/src/github.com/XXX/YYY/vendor/github.com/shirou/gopsutil/disk/disk_freebsd.go
/Users/felix/gocode/src/github.com/XXX/YYY/vendor/github.com/shirou/gopsutil/disk/disk_linux.go
/Users/felix/gocode/src/github.com/XXX/YYY/vendor/golang.org/x/crypto/ssh/terminal/util_solaris.go
如您所见,它还会列出vendor
中的文件。执行过程还需要花费一些时间,所以我想它实际上是在检查所有文件。
我真的只是关心vendor
之外的文件。
答案 0 :(得分:0)
我认为您使用的是<1.9 Go版本。从1.9开始,。/ ...不应与供应商目录匹配。参见https://golang.org/doc/go1.9#vendor-dotdotdot。