goimports需要忽略供应商包

时间:2017-11-28 10:45:48

标签: go continuous-integration go-toolchain

我正在尝试在我的项目中实现{ "rules": { "users": { // users is readable by anyone ".read": true, // users is writable by anyone ".write": true } } "important_table": { // important_table is readable by anyone ".read": true, // important_table is NOT writable by anyone ".write": false } } } 。这一切都运行良好,但它也添加了供应商目录。我现在需要更新我的工具以忽略此目录,否则我的销售包将被修改或我得到警告的误报。我目前正在使用以下工具:

  • goimports -w
  • 去兽医
  • 去lint

这些工具也用于CI。我确实希望使用goimports保持autoformatting,但我愿意开始使用gometalinter。我并不是在寻找使用grep的解决方案并找到魔法。

如何使这些工具忽略dep

1 个答案:

答案 0 :(得分:4)

gometalinter有一个" - 供应商" flag忽略供应商文件夹。该标志将所需的参数传递给底层工具以忽略该文件夹。

所以一个解决方案就是只使用govet,golint和goimports与gometalinter

gometalinter --disable-all --enable=vet --enable=golint --enable=goimports --vendor ./...

另一个解决方案可能是(从gist复制):

goimports -d $(find . -type f -name '*.go' -not -path "./vendor/*")

imho我更喜欢第一种解决方案。这样你可以根据需要轻松添加其他短裤。