blob: 7f8cf1d900014cb1a6f67f194d2297246311a312 [file] [log] [blame]
load("@io_bazel_rules_go//go:def.bzl", "nogo")
# These deps enable the analyses equivalent to running `go vet`.
# Passing vet = True enables only a tiny subset of these (the ones
# that are always correct).
# You can see the what `go vet` does by running `go doc cmd/vet`.
govet = [
"@org_golang_x_tools//go/analysis/passes/asmdecl:go_default_library",
"@org_golang_x_tools//go/analysis/passes/assign:go_default_library",
"@org_golang_x_tools//go/analysis/passes/atomic:go_default_library",
"@org_golang_x_tools//go/analysis/passes/bools:go_default_library",
"@org_golang_x_tools//go/analysis/passes/buildtag:go_default_library",
# Disable cgocall because it fails processing com_github_mattn_go_sqlite3 before exclusions are applied
#"@org_golang_x_tools//go/analysis/passes/cgocall:go_default_library",
"@org_golang_x_tools//go/analysis/passes/composite:go_default_library",
"@org_golang_x_tools//go/analysis/passes/copylock:go_default_library",
"@org_golang_x_tools//go/analysis/passes/httpresponse:go_default_library",
"@org_golang_x_tools//go/analysis/passes/loopclosure:go_default_library",
"@org_golang_x_tools//go/analysis/passes/lostcancel:go_default_library",
"@org_golang_x_tools//go/analysis/passes/nilfunc:go_default_library",
"@org_golang_x_tools//go/analysis/passes/printf:go_default_library",
"@org_golang_x_tools//go/analysis/passes/shift:go_default_library",
"@org_golang_x_tools//go/analysis/passes/stdmethods:go_default_library",
"@org_golang_x_tools//go/analysis/passes/structtag:go_default_library",
"@org_golang_x_tools//go/analysis/passes/tests:go_default_library",
"@org_golang_x_tools//go/analysis/passes/unmarshal:go_default_library",
"@org_golang_x_tools//go/analysis/passes/unreachable:go_default_library",
"@org_golang_x_tools//go/analysis/passes/unsafeptr:go_default_library",
"@org_golang_x_tools//go/analysis/passes/unusedresult:go_default_library",
]
nogo(
name = "nogo",
config = "nogo_config.json",
visibility = ["//visibility:public"],
deps = govet + [
# This analyzer ensures that all comment lines are <= 80 characters long
# in Go source. This is in line with general practices around the Go
# community, where code lines can be as long as needed (and is expected
# to be soft-reflowable by text editors), but comments are kept at a
# 'standard' 80 characters long, as prose within comment blocks does not
# soft-reflow well.
"@com_github_corverroos_commentwrap//:go_default_library",
"//build/analysis/noioutil",
"//build/analysis/importsort",
],
)