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("@graknlabs_bazel_distribution//common:rules.bzl", "assemble_targz", "assemble_versioned") load("@bazel_skylib//rules:common_settings.bzl", "string_setting") prefix = "github.com/prysmaticlabs/prysm" exports_files([ "LICENSE.md", ]) # gazelle:prefix github.com/prysmaticlabs/prysm # gazelle:map_kind go_library go_library @prysm//tools/go:def.bzl # gazelle:map_kind go_repository go_repository @prysm//tools/go:def.bzl gazelle( name = "gazelle", prefix = prefix, ) # Protobuf compiler (non-gRPC) alias( name = "proto_compiler", actual = "@io_bazel_rules_go//proto:gogofast_proto", visibility = [ "//proto:__subpackages__", ], ) # Protobuf compiler (gRPC) alias( name = "grpc_proto_compiler", actual = "@io_bazel_rules_go//proto:gogofast_grpc", visibility = ["//visibility:public"], ) # Protobuf gRPC compiler without gogoproto. Required for gRPC gateway. alias( name = "grpc_nogogo_proto_compiler", actual = "@io_bazel_rules_go//proto:go_grpc", visibility = ["//visibility:public"], ) # Protobuf gRPC gateway compiler alias( name = "grpc_gateway_proto_compiler", actual = "@com_github_grpc_ecosystem_grpc_gateway//protoc-gen-grpc-gateway:go_gen_grpc_gateway", 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", ) nogo( name = "nogo", config = "nogo_config.json", visibility = ["//visibility:public"], deps = [ "@org_golang_x_tools//go/analysis/passes/unsafeptr:go_tool_library", "@org_golang_x_tools//go/analysis/passes/unreachable:go_tool_library", "@org_golang_x_tools//go/analysis/passes/unmarshal:go_tool_library", "@org_golang_x_tools//go/analysis/passes/tests:go_tool_library", "@org_golang_x_tools//go/analysis/passes/structtag:go_tool_library", "@org_golang_x_tools//go/analysis/passes/stdmethods:go_tool_library", "@org_golang_x_tools//go/analysis/passes/shift:go_tool_library", # "@org_golang_x_tools//go/analysis/passes/shadow:go_tool_library", "@org_golang_x_tools//go/analysis/passes/printf:go_tool_library", "@org_golang_x_tools//go/analysis/passes/pkgfact:go_tool_library", "@org_golang_x_tools//go/analysis/passes/nilness:go_tool_library", "@org_golang_x_tools//go/analysis/passes/nilfunc:go_tool_library", "@org_golang_x_tools//go/analysis/passes/loopclosure:go_tool_library", "@org_golang_x_tools//go/analysis/passes/httpresponse:go_tool_library", "@org_golang_x_tools//go/analysis/passes/findcall:go_tool_library", "@org_golang_x_tools//go/analysis/passes/deepequalerrors:go_tool_library", "@org_golang_x_tools//go/analysis/passes/ctrlflow:go_tool_library", "@org_golang_x_tools//go/analysis/passes/copylock:go_tool_library", # "@org_golang_x_tools//go/analysis/passes/cgocall:go_tool_library", "@org_golang_x_tools//go/analysis/passes/buildtag:go_tool_library", "@org_golang_x_tools//go/analysis/passes/buildssa:go_tool_library", "@org_golang_x_tools//go/analysis/passes/bools:go_tool_library", "@org_golang_x_tools//go/analysis/passes/atomicalign:go_tool_library", "@org_golang_x_tools//go/analysis/passes/atomic:go_tool_library", "@org_golang_x_tools//go/analysis/passes/assign:go_tool_library", "@org_golang_x_tools//go/analysis/passes/inspect:go_tool_library", "@org_golang_x_tools//go/analysis/passes/asmdecl:go_tool_library", "//tools/analyzers/maligned:go_tool_library", "//tools/analyzers/cryptorand:go_tool_library", "//tools/analyzers/errcheck:go_tool_library", "//tools/analyzers/featureconfig:go_tool_library", "//tools/analyzers/comparesame:go_tool_library", "//tools/analyzers/shadowpredecl:go_tool_library", "//tools/analyzers/nop:go_tool_library", "//tools/analyzers/slicedirect:go_tool_library", ] + select({ # nogo checks that fail with coverage enabled. ":coverage_enabled": [], "//conditions:default": [ "@org_golang_x_tools//go/analysis/passes/lostcancel:go_tool_library", "@org_golang_x_tools//go/analysis/passes/composite:go_tool_library", ], }), ) config_setting( name = "coverage_enabled", values = {"define": "coverage_enabled=1"}, ) common_files = { "//:LICENSE.md": "LICENSE.md", "//:README.md": "README.md", } toolchain( name = "built_cmake_toolchain", toolchain = "@rules_foreign_cc//tools/build_defs/native_tools:built_cmake", toolchain_type = "@rules_foreign_cc//tools/build_defs:cmake_toolchain", ) string_setting( name = "gotags", build_setting_default = "", values = [ "", "libfuzzer", ], )