Почему никакая конфигурация go не учитывается при использовании покрытия Bazel - PullRequest
0 голосов
/ 20 марта 2020

Здравствуйте, наш 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"
        }
    },
}
...