github.com/prysmaticlabs/prysm@v1.4.4/proto/prysm/v2/BUILD.bazel (about) 1 ############################################################################## 2 # Common 3 ############################################################################## 4 5 load("@rules_proto//proto:defs.bzl", "proto_library") 6 7 ############################################################################## 8 # Go 9 ############################################################################## 10 # gazelle:ignore 11 load("@io_bazel_rules_go//go:def.bzl", "go_library") 12 load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") 13 load("//proto:ssz_proto_library.bzl", "ssz_proto_files") 14 load("//tools:ssz.bzl", "SSZ_DEPS", "ssz_gen_marshal") 15 16 ############################################################################## 17 # OpenAPI (Swagger) V2 18 ############################################################################## 19 load("@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2:defs.bzl", "protoc_gen_openapiv2") 20 21 proto_library( 22 name = "proto", 23 srcs = [ 24 ":ssz_proto_files", 25 "validator.proto", 26 ], 27 visibility = ["//visibility:public"], 28 deps = [ 29 "//proto/eth/ext:proto", 30 "//proto/eth/v1alpha1:proto", 31 "@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2/options:options_proto", 32 "@com_google_protobuf//:any_proto", 33 "@com_google_protobuf//:descriptor_proto", 34 "@com_google_protobuf//:empty_proto", 35 "@com_google_protobuf//:timestamp_proto", 36 "@go_googleapis//google/api:annotations_proto", 37 ], 38 ) 39 40 ############################################################################## 41 # Go 42 ############################################################################## 43 ssz_gen_marshal( 44 name = "ssz_generated_files", 45 go_proto = ":go_proto", 46 includes = [ 47 "@com_github_prysmaticlabs_eth2_types//:go_default_library", 48 "@com_github_prysmaticlabs_go_bitfield//:go_default_library", 49 "//proto/eth/v1alpha1:go_default_library", 50 ], 51 objs = [ 52 "BeaconBlockAltair", 53 "BeaconBlockBodyAltair", 54 "SignedBeaconBlockAltair", 55 "SyncAggregate", 56 "SyncCommitteeMessage", 57 "SyncCommitteeContribution", 58 "ContributionAndProof", 59 "SignedContributionAndProof", 60 ], 61 ) 62 63 go_proto_library( 64 name = "go_proto", 65 compilers = [ 66 "@com_github_prysmaticlabs_protoc_gen_go_cast//:go_cast_grpc", 67 ], 68 importpath = "github.com/prysmaticlabs/prysm/proto/prysm/v2", 69 proto = ":proto", 70 visibility = ["//visibility:public"], 71 deps = [ 72 "//proto/eth/ext:go_default_library", 73 "//proto/eth/v1alpha1:go_default_library", 74 "@io_bazel_rules_go//proto/wkt:descriptor_go_proto", 75 "@com_github_golang_protobuf//proto:go_default_library", 76 "@io_bazel_rules_go//proto/wkt:empty_go_proto", 77 "@io_bazel_rules_go//proto/wkt:timestamp_go_proto", 78 "@org_golang_google_protobuf//types/known/timestamppb:go_default_library", 79 "@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2/options:options_go_proto", 80 "@com_github_prysmaticlabs_go_bitfield//:go_default_library", 81 "@com_github_prysmaticlabs_eth2_types//:go_default_library", 82 "@go_googleapis//google/api:annotations_go_proto", 83 "@org_golang_google_protobuf//reflect/protoreflect:go_default_library", 84 "@org_golang_google_protobuf//runtime/protoimpl:go_default_library", 85 ], 86 ) 87 88 go_proto_library( 89 name = "go_grpc_gateway_library", 90 compilers = [ 91 "@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-grpc-gateway:go_gen_grpc_gateway", 92 ], 93 embed = [":go_proto"], 94 importpath = "github.com/prysmaticlabs/prysm/proto/prysm/v2", 95 protos = [":proto"], 96 visibility = ["//visibility:private"], 97 deps = [ 98 "//proto/eth/ext:go_default_library", 99 "//proto/eth/v1alpha1:go_default_library", 100 "@io_bazel_rules_go//proto/wkt:empty_go_proto", 101 "@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2/options:options_go_proto", 102 "@com_github_prysmaticlabs_go_bitfield//:go_default_library", 103 "@go_googleapis//google/api:annotations_go_proto", 104 "@io_bazel_rules_go//proto/wkt:timestamp_go_proto", 105 "@io_bazel_rules_go//proto/wkt:descriptor_go_proto", 106 ], 107 ) 108 109 go_library( 110 name = "go_default_library", 111 srcs = [ 112 "aliases.go", 113 "sync_committee_mainnet.go", 114 "sync_committee_minimal.go", 115 ":ssz_generated_files", # keep 116 ], 117 embed = [ 118 ":go_grpc_gateway_library", 119 ], 120 importpath = "github.com/prysmaticlabs/prysm/proto/prysm/v2", 121 visibility = ["//visibility:public"], 122 deps = SSZ_DEPS + [ 123 "//proto/eth/ext:go_default_library", 124 "//proto/eth/v1alpha1:go_default_library", 125 "@com_github_grpc_ecosystem_grpc_gateway_v2//runtime:go_default_library", 126 "@com_github_grpc_ecosystem_grpc_gateway_v2//utilities:go_default_library", 127 "@io_bazel_rules_go//proto/wkt:empty_go_proto", 128 "@org_golang_google_grpc//:go_default_library", 129 "@org_golang_google_grpc//codes:go_default_library", 130 "@org_golang_google_grpc//grpclog:go_default_library", 131 "@org_golang_google_grpc//metadata:go_default_library", 132 "@org_golang_google_grpc//status:go_default_library", 133 "@io_bazel_rules_go//proto/wkt:descriptor_go_proto", 134 "@com_github_golang_protobuf//proto:go_default_library", 135 "@io_bazel_rules_go//proto/wkt:timestamp_go_proto", 136 "@com_github_prysmaticlabs_go_bitfield//:go_default_library", # keep 137 "@go_googleapis//google/api:annotations_go_proto", 138 "@org_golang_google_protobuf//reflect/protoreflect:go_default_library", 139 "@org_golang_google_protobuf//runtime/protoimpl:go_default_library", 140 "@com_github_grpc_ecosystem_grpc_gateway_v2//protoc-gen-openapiv2/options:options_go_proto", 141 ], # keep 142 ) 143 144 ssz_proto_files( 145 name = "ssz_proto_files", 146 srcs = [ 147 "beacon_block.proto", 148 "sync_committee.proto", 149 ], 150 config = select({ 151 "//conditions:default": "mainnet", 152 "//proto:ssz_mainnet": "mainnet", 153 "//proto:ssz_minimal": "minimal", 154 }), 155 )