blob: 7f8cf1d900014cb1a6f67f194d2297246311a312 [file] [log] [blame]
Serge Bazanski0ef96292021-05-21 15:41:32 +02001load("@io_bazel_rules_go//go:def.bzl", "nogo")
2
3# These deps enable the analyses equivalent to running `go vet`.
4# Passing vet = True enables only a tiny subset of these (the ones
5# that are always correct).
6# You can see the what `go vet` does by running `go doc cmd/vet`.
7govet = [
Lorenz Brunc2e3b1b2021-11-11 11:06:41 +01008 "@org_golang_x_tools//go/analysis/passes/asmdecl:go_default_library",
9 "@org_golang_x_tools//go/analysis/passes/assign:go_default_library",
10 "@org_golang_x_tools//go/analysis/passes/atomic:go_default_library",
11 "@org_golang_x_tools//go/analysis/passes/bools:go_default_library",
12 "@org_golang_x_tools//go/analysis/passes/buildtag:go_default_library",
Serge Bazanski0ef96292021-05-21 15:41:32 +020013 # Disable cgocall because it fails processing com_github_mattn_go_sqlite3 before exclusions are applied
Lorenz Brunc2e3b1b2021-11-11 11:06:41 +010014 #"@org_golang_x_tools//go/analysis/passes/cgocall:go_default_library",
15 "@org_golang_x_tools//go/analysis/passes/composite:go_default_library",
16 "@org_golang_x_tools//go/analysis/passes/copylock:go_default_library",
17 "@org_golang_x_tools//go/analysis/passes/httpresponse:go_default_library",
18 "@org_golang_x_tools//go/analysis/passes/loopclosure:go_default_library",
19 "@org_golang_x_tools//go/analysis/passes/lostcancel:go_default_library",
20 "@org_golang_x_tools//go/analysis/passes/nilfunc:go_default_library",
21 "@org_golang_x_tools//go/analysis/passes/printf:go_default_library",
22 "@org_golang_x_tools//go/analysis/passes/shift:go_default_library",
23 "@org_golang_x_tools//go/analysis/passes/stdmethods:go_default_library",
24 "@org_golang_x_tools//go/analysis/passes/structtag:go_default_library",
25 "@org_golang_x_tools//go/analysis/passes/tests:go_default_library",
26 "@org_golang_x_tools//go/analysis/passes/unmarshal:go_default_library",
27 "@org_golang_x_tools//go/analysis/passes/unreachable:go_default_library",
28 "@org_golang_x_tools//go/analysis/passes/unsafeptr:go_default_library",
29 "@org_golang_x_tools//go/analysis/passes/unusedresult:go_default_library",
Serge Bazanski0ef96292021-05-21 15:41:32 +020030]
31
32nogo(
33 name = "nogo",
34 config = "nogo_config.json",
35 visibility = ["//visibility:public"],
Serge Bazanski6ebdc412021-05-21 16:25:55 +020036 deps = govet + [
37 # This analyzer ensures that all comment lines are <= 80 characters long
38 # in Go source. This is in line with general practices around the Go
39 # community, where code lines can be as long as needed (and is expected
40 # to be soft-reflowable by text editors), but comments are kept at a
41 # 'standard' 80 characters long, as prose within comment blocks does not
42 # soft-reflow well.
Lorenz Brunc2e3b1b2021-11-11 11:06:41 +010043 "@com_github_corverroos_commentwrap//:go_default_library",
Lorenz Brund13c1c62022-03-30 19:58:58 +020044 "//build/analysis/noioutil",
45 "//build/analysis/importsort",
Serge Bazanski6ebdc412021-05-21 16:25:55 +020046 ],
Serge Bazanski0ef96292021-05-21 15:41:32 +020047)