Здравствуйте, наш golang проект использует no go для анализа кода stati c. У нас также есть файл go -config. json, чтобы исключить определенные пути для некоторых правил. Я обнаружил, что bazel build //...
и bazel test //...
все используют конфигурацию (потому что они не жалуются на ошибку теневой переменной, настроенную в nogo_config. json), однако bazel coverage //...
сообщит об ошибке переменной тени для кода в foo/bar
, который означает, что bazel coverage
не подчиняется nogo_config. json. Почему? (Я использую bazel 2.2.0, golang go1.13.6 darwin / amd64)
Файл WORKSPACE
go_register_toolchains(nogo = "@//:my_nogo")
Файл BUILD.bazel
load("@io_bazel_rules_go//go:def.bzl", "nogo")
nogo(
name = "my_nogo",
config = "nogo-config.json", # Exclude analysis of 3rd party libraries
visibility = ["//visibility:public"],
deps = [
"@org_golang_x_tools//go/analysis/passes/shadow:go_tool_library",
],
)
nogo_config . json
{
"shadow": {
"exclude_files": {
"external/*": "",
"foo/bar/*": "Some generated model files don't behave by these go rules"
}
},
}