forked from pingcap/tidb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBUILD.bazel
193 lines (185 loc) · 6.61 KB
/
BUILD.bazel
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
package(default_visibility = ["//visibility:public"])
load("@io_bazel_rules_go//go:def.bzl", "go_library", "nogo")
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load("//build/linter/staticcheck:def.bzl", "staticcheck_analyzers")
bool_flag(
name = "with_nogo_flag",
build_setting_default = False,
visibility = ["//visibility:public"],
)
config_setting(
name = "with_nogo",
flag_values = {
":with_nogo_flag": "true",
},
visibility = ["//visibility:public"],
)
bool_flag(
name = "with_rbe_flag",
build_setting_default = False,
visibility = ["//visibility:public"],
)
config_setting(
name = "without_rbe",
flag_values = {
":with_rbe_flag": "false",
},
visibility = ["//visibility:public"],
)
STATICHECK_ANALYZERS = [
"S1000",
"S1001",
"S1002",
"S1003",
"S1004",
"S1005",
"S1006",
"S1007",
"S1008",
"S1009",
"S1010",
"S1011",
"S1012",
"S1016",
"S1017",
"S1018",
"S1019",
"S1020",
"S1021",
"S1023",
"S1024",
"S1025",
"S1028",
"S1029",
"S1030",
"S1031",
"S1032",
"S1033",
"S1034",
"S1035",
"S1036",
"S1037",
"S1038",
"S1039",
"S1040",
"SA1019",
"SA1029",
"SA2000",
"SA2001",
"SA2003",
"SA3000",
"SA3001",
"SA4004",
"SA4009",
"SA4018",
"SA5000",
"SA5001",
"SA5002",
"SA5003",
"SA5004",
"SA5005",
"SA5007",
"SA5008",
"SA5009",
"SA5010",
#"SA5011",
"SA5012",
"SA6000",
"SA6001",
"SA6002",
"SA6005",
"QF1002",
"QF1004",
"QF1012",
"U1000",
]
nogo(
name = "tidb_nogo",
config = ":nogo_config.json",
visibility = ["//visibility:public"], # must have public visibility
deps = [
"@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/atomicalign:go_default_library",
"@org_golang_x_tools//go/analysis/passes/bools:go_default_library",
"@org_golang_x_tools//go/analysis/passes/buildssa:go_default_library",
"@org_golang_x_tools//go/analysis/passes/buildtag:go_default_library",
# https://github.com/bazelbuild/rules_go/issues/2396
# "@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/ctrlflow:go_default_library",
"@org_golang_x_tools//go/analysis/passes/deepequalerrors:go_default_library",
"@org_golang_x_tools//go/analysis/passes/errorsas:go_default_library",
"@org_golang_x_tools//go/analysis/passes/fieldalignment:go_default_library",
"@org_golang_x_tools//go/analysis/passes/findcall:go_default_library",
"@org_golang_x_tools//go/analysis/passes/httpresponse:go_default_library",
"@org_golang_x_tools//go/analysis/passes/ifaceassert:go_default_library",
"@org_golang_x_tools//go/analysis/passes/inspect: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/nilness:go_default_library",
"@org_golang_x_tools//go/analysis/passes/pkgfact: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/sortslice:go_default_library",
"@org_golang_x_tools//go/analysis/passes/stdmethods:go_default_library",
"@org_golang_x_tools//go/analysis/passes/stringintconv:go_default_library",
"@org_golang_x_tools//go/analysis/passes/structtag:go_default_library",
"@org_golang_x_tools//go/analysis/passes/testinggoroutine:go_default_library",
"@org_golang_x_tools//go/analysis/passes/tests:go_default_library",
"@org_golang_x_tools//go/analysis/passes/timeformat: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",
"//build/linter/asciicheck",
"//build/linter/bodyclose",
"//build/linter/bootstrap",
"//build/linter/constructor",
"//build/linter/deferrecover",
"//build/linter/durationcheck",
"//build/linter/etcdconfig",
"//build/linter/exportloopref",
"//build/linter/forcetypeassert",
"//build/linter/gofmt",
"//build/linter/gci",
"//build/linter/gosec",
"//build/linter/ineffassign",
"//build/linter/makezero",
"//build/linter/mirror",
"//build/linter/misspell",
"//build/linter/noloopclosure",
"//build/linter/prealloc",
"//build/linter/predeclared",
"//build/linter/unconvert",
"//build/linter/rowserrcheck",
"//build/linter/toomanytests",
] + staticcheck_analyzers(STATICHECK_ANALYZERS) +
select({
"//build:with_nogo": [
"//build/linter/allrevive",
"//build/linter/errcheck",
"//build/linter/lll",
"//build/linter/revive",
],
"//conditions:default": [],
}) +
select({
"//build:without_rbe": [
"//build/linter/filepermission",
],
"//conditions:default": [],
}),
)
go_library(
name = "build",
srcs = ["config.go"],
embedsrcs = [
"nogo_config.json",
],
importpath = "github.com/pingcap/tidb/build",
visibility = ["//visibility:public"],
)