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  )