mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-01-05 03:24:14 -05:00
**What type of PR is this?** Tooling **What does this PR do? Why is it needed?** Renames `httperror` analyzer to `httpwriter` and extends it to the following functions: - `WriteError` - `WriteJson` - `WriteSsz` _**NOTE: The PR is currently red because the fix in https://github.com/OffchainLabs/prysm/pull/16175 must be merged first**_ **Acknowledgements** - [x] I have read [CONTRIBUTING.md](https://github.com/prysmaticlabs/prysm/blob/develop/CONTRIBUTING.md). - [x] I have included a uniquely named [changelog fragment file](https://github.com/prysmaticlabs/prysm/blob/develop/CONTRIBUTING.md#maintaining-changelogmd). - [x] I have added a description with sufficient context for reviewers to understand this PR. - [x] I have tested that my changes work as expected and I added a testing plan to the PR description (if applicable).
305 lines
11 KiB
Python
305 lines
11 KiB
Python
load("@bazel_gazelle//:def.bzl", "gazelle")
|
|
load("@com_github_atlassian_bazel_tools//gometalinter:def.bzl", "gometalinter")
|
|
load("@com_github_atlassian_bazel_tools//goimports:def.bzl", "goimports")
|
|
load("@io_kubernetes_build//defs:run_in_workspace.bzl", "workspace_binary")
|
|
load("@io_bazel_rules_go//go:def.bzl", "nogo")
|
|
load("@bazel_skylib//rules:common_settings.bzl", "string_setting")
|
|
load("@prysm//tools/nogo_config:def.bzl", "nogo_config_exclude")
|
|
|
|
prefix = "github.com/OffchainLabs/prysm"
|
|
|
|
exports_files([
|
|
"LICENSE.md",
|
|
])
|
|
|
|
# gazelle:prefix github.com/OffchainLabs/prysm/v7
|
|
# gazelle:map_kind go_library go_library @prysm//tools/go:def.bzl
|
|
# gazelle:map_kind go_test go_test @prysm//tools/go:def.bzl
|
|
# gazelle:map_kind go_repository go_repository @prysm//tools/go:def.bzl
|
|
# gazelle:build_tags bazel
|
|
# gazelle:exclude tools/analyzers/**/testdata/**
|
|
gazelle(
|
|
name = "gazelle",
|
|
prefix = prefix,
|
|
)
|
|
|
|
# Protobuf compiler (non-gRPC)
|
|
alias(
|
|
name = "proto_compiler",
|
|
actual = "@io_bazel_rules_go//proto:go_proto",
|
|
visibility = [
|
|
"//proto:__subpackages__",
|
|
],
|
|
)
|
|
|
|
# Cast protobuf compiler (non-gRPC)
|
|
alias(
|
|
name = "cast_proto_compiler",
|
|
actual = "@com_github_prysmaticlabs_protoc_gen_go_cast//:go_cast",
|
|
visibility = [
|
|
"//proto:__subpackages__",
|
|
],
|
|
)
|
|
|
|
# Protobuf compiler (gRPC)
|
|
alias(
|
|
name = "grpc_proto_compiler",
|
|
actual = "@io_bazel_rules_go//proto:go_grpc",
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
# Cast protobuf compiler (gRPC)
|
|
alias(
|
|
name = "cast_grpc_proto_compiler",
|
|
actual = "@com_github_prysmaticlabs_protoc_gen_go_cast//:go_cast_grpc",
|
|
visibility = ["//visibility:public"],
|
|
)
|
|
|
|
gometalinter(
|
|
name = "gometalinter",
|
|
config = "//:.gometalinter.json",
|
|
paths = [
|
|
"./...",
|
|
],
|
|
prefix = prefix,
|
|
)
|
|
|
|
goimports(
|
|
name = "goimports",
|
|
display_diffs = True,
|
|
prefix = prefix,
|
|
write = False,
|
|
)
|
|
|
|
workspace_binary(
|
|
name = "golint",
|
|
cmd = "@com_github_golang_lint//golint",
|
|
)
|
|
|
|
STATICCHECK_ANALYZERS = [
|
|
# Enabled static checks. See https://staticcheck.dev/docs/checks/
|
|
# Please. keep this list sorted. Don't be a bad person by inserting stuff randomly.
|
|
"sa1000",
|
|
"sa1001",
|
|
"sa1002",
|
|
"sa1003",
|
|
"sa1004",
|
|
"sa1005",
|
|
"sa1006",
|
|
"sa1007",
|
|
"sa1008",
|
|
"sa1010",
|
|
"sa1011",
|
|
"sa1012",
|
|
"sa1013",
|
|
"sa1014",
|
|
"sa1015",
|
|
"sa1016",
|
|
"sa1017",
|
|
"sa1018",
|
|
# "sa1019", # TODO: Fix all uses of deprecated things.
|
|
"sa1020",
|
|
"sa1021",
|
|
"sa1023",
|
|
"sa1024",
|
|
"sa1025",
|
|
"sa1026",
|
|
"sa1027",
|
|
"sa1028",
|
|
"sa1029",
|
|
"sa1030",
|
|
"sa2000",
|
|
"sa2001",
|
|
"sa2002",
|
|
"sa2003",
|
|
"sa3000",
|
|
"sa3001",
|
|
"sa4000",
|
|
"sa4001",
|
|
"sa4003",
|
|
"sa4004",
|
|
"sa4005",
|
|
"sa4006",
|
|
"sa4008",
|
|
"sa4009",
|
|
"sa4010",
|
|
"sa4011",
|
|
"sa4012",
|
|
"sa4013",
|
|
"sa4014",
|
|
"sa4015",
|
|
"sa4016",
|
|
"sa4017",
|
|
"sa4018",
|
|
"sa4019",
|
|
"sa4020",
|
|
"sa4021",
|
|
"sa4022",
|
|
"sa4023",
|
|
"sa4024",
|
|
"sa4025",
|
|
"sa4026",
|
|
"sa4027",
|
|
"sa4028",
|
|
"sa4029",
|
|
"sa4030",
|
|
"sa4031",
|
|
"sa4032",
|
|
"sa5000",
|
|
"sa5001",
|
|
"sa5002",
|
|
"sa5003",
|
|
"sa5004",
|
|
"sa5005",
|
|
"sa5007",
|
|
"sa5008",
|
|
"sa5009",
|
|
"sa5010",
|
|
"sa5011",
|
|
"sa5012",
|
|
"sa6000",
|
|
"sa6001",
|
|
"sa6002",
|
|
"sa6003",
|
|
"sa6005",
|
|
"sa6006",
|
|
"sa9001",
|
|
"sa9002",
|
|
"sa9003",
|
|
"sa9004",
|
|
"sa9005",
|
|
"sa9006",
|
|
"sa9007",
|
|
"sa9008",
|
|
]
|
|
|
|
nogo_config_exclude(
|
|
name = "nogo_config_with_excludes",
|
|
checks = [sa.upper() for sa in STATICCHECK_ANALYZERS],
|
|
exclude_files = [
|
|
"external/.*",
|
|
],
|
|
input = "nogo_config.json",
|
|
)
|
|
|
|
nogo(
|
|
name = "nogo",
|
|
config = ":nogo_config_with_excludes",
|
|
visibility = ["//visibility:public"],
|
|
deps = [
|
|
"//tools/analyzers/comparesame:go_default_library",
|
|
"//tools/analyzers/cryptorand:go_default_library",
|
|
"//tools/analyzers/errcheck:go_default_library",
|
|
"//tools/analyzers/featureconfig:go_default_library",
|
|
"//tools/analyzers/gocognit:go_default_library",
|
|
"//tools/analyzers/ineffassign:go_default_library",
|
|
"//tools/analyzers/httpwriter:go_default_library",
|
|
"//tools/analyzers/interfacechecker:go_default_library",
|
|
"//tools/analyzers/logcapitalization:go_default_library",
|
|
"//tools/analyzers/logruswitherror:go_default_library",
|
|
"//tools/analyzers/maligned:go_default_library",
|
|
"//tools/analyzers/modernize/any:go_default_library",
|
|
"//tools/analyzers/modernize/appendclipped:go_default_library",
|
|
"//tools/analyzers/modernize/bloop:go_default_library",
|
|
"//tools/analyzers/modernize/fmtappendf:go_default_library",
|
|
"//tools/analyzers/modernize/forvar:go_default_library",
|
|
"//tools/analyzers/modernize/mapsloop:go_default_library",
|
|
"//tools/analyzers/modernize/minmax:go_default_library",
|
|
#"//tools/analyzers/modernize/newexpr:go_default_library", # Disabled until go 1.26.
|
|
"//tools/analyzers/modernize/omitzero:go_default_library",
|
|
"//tools/analyzers/modernize/rangeint:go_default_library",
|
|
"//tools/analyzers/modernize/reflecttypefor:go_default_library",
|
|
"//tools/analyzers/modernize/slicescontains:go_default_library",
|
|
#"//tools/analyzers/modernize/slicesdelete:go_default_library", # Disabled, see https://go.dev/issue/73686
|
|
"//tools/analyzers/modernize/slicessort:go_default_library",
|
|
"//tools/analyzers/modernize/stringsbuilder:go_default_library",
|
|
"//tools/analyzers/modernize/stringscutprefix:go_default_library",
|
|
"//tools/analyzers/modernize/stringsseq:go_default_library",
|
|
"//tools/analyzers/modernize/testingcontext:go_default_library",
|
|
"//tools/analyzers/modernize/waitgroup:go_default_library",
|
|
"//tools/analyzers/nop:go_default_library",
|
|
"//tools/analyzers/nopanic:go_default_library",
|
|
"//tools/analyzers/properpermissions:go_default_library",
|
|
"//tools/analyzers/recursivelock:go_default_library",
|
|
"//tools/analyzers/shadowpredecl:go_default_library",
|
|
"//tools/analyzers/slicedirect:go_default_library",
|
|
"//tools/analyzers/uintcast:go_default_library",
|
|
"@org_golang_x_tools//go/analysis/passes/appends:go_default_library",
|
|
"@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",
|
|
# cgocall disabled
|
|
#"@org_golang_x_tools//go/analysis/passes/cgocall: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/defers:go_default_library",
|
|
"@org_golang_x_tools//go/analysis/passes/directive:go_default_library",
|
|
"@org_golang_x_tools//go/analysis/passes/errorsas:go_default_library",
|
|
# fieldalignment disabled
|
|
#"@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/framepointer:go_default_library",
|
|
"@org_golang_x_tools//go/analysis/passes/httpmux: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/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/reflectvaluecompare:go_default_library",
|
|
# shadow disabled
|
|
#"@org_golang_x_tools//go/analysis/passes/shadow:go_default_library",
|
|
"@org_golang_x_tools//go/analysis/passes/shift:go_default_library",
|
|
"@org_golang_x_tools//go/analysis/passes/sigchanyzer:go_default_library",
|
|
"@org_golang_x_tools//go/analysis/passes/slog: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",
|
|
"@org_golang_x_tools//go/analysis/passes/unusedwrite:go_default_library",
|
|
"@org_golang_x_tools//go/analysis/passes/usesgenerics:go_default_library",
|
|
] + select({
|
|
# nogo checks that fail with coverage enabled.
|
|
":coverage_enabled": [],
|
|
"//conditions:default": [
|
|
"@org_golang_x_tools//go/analysis/passes/composite:go_default_library",
|
|
"@org_golang_x_tools//go/analysis/passes/lostcancel:go_default_library",
|
|
],
|
|
}) + ["@co_honnef_go_tools//staticcheck/%s:go_default_library" % c for c in STATICCHECK_ANALYZERS],
|
|
)
|
|
|
|
config_setting(
|
|
name = "coverage_enabled",
|
|
values = {"define": "coverage_enabled=1"},
|
|
)
|
|
|
|
config_setting(
|
|
name = "pgo_enabled",
|
|
values = {"define": "pgo_enabled=1"},
|
|
)
|
|
|
|
common_files = {
|
|
"//:LICENSE.md": "LICENSE.md",
|
|
"//:README.md": "README.md",
|
|
}
|
|
|
|
sh_binary(
|
|
name = "prysm_sh",
|
|
srcs = ["prysm.sh"],
|
|
visibility = ["//visibility:public"],
|
|
)
|