github.com/stackb/rules_proto@v0.0.0-20240221195024-5428336c51f1/toolchain/BUILD.bazel (about)

     1  load("//toolchain:toolchain.bzl", "protoc")
     2  
     3  toolchain_type(
     4      name = "protoc",
     5      visibility = ["//visibility:public"],
     6  )
     7  
     8  toolchain(
     9      name = "standard",
    10      toolchain = ":compiled",
    11      toolchain_type = "//toolchain:protoc",
    12  )
    13  
    14  toolchain(
    15      name = "prebuilt",
    16      toolchain = ":precompiled",
    17      toolchain_type = "//toolchain:protoc",
    18  )
    19  
    20  protoc(
    21      name = "compiled",
    22      tool = "@com_google_protobuf//:protoc",
    23  )
    24  
    25  protoc(
    26      name = "precompiled",
    27      tool = ":protoc.exe",
    28  )
    29  
    30  genrule(
    31      name = "protoc_exe",
    32      srcs = select({
    33          "@bazel_tools//src/conditions:darwin": [
    34              "@prebuilt_protoc_osx//:protoc",
    35          ],
    36          "@bazel_tools//src/conditions:windows": [
    37              "@prebuilt_protoc_windows//:protoc",
    38          ],
    39          "//conditions:default": [
    40              "@prebuilt_protoc_linux//:protoc",
    41          ],
    42      }),
    43      outs = ["protoc.exe"],
    44      cmd = "cp $< $@",
    45      executable = True,
    46      visibility = ["//visibility:public"],
    47  )
    48  
    49  filegroup(
    50      name = "all_files",
    51      testonly = True,
    52      srcs = [
    53          "BUILD.bazel",
    54          "toolchain.bzl",
    55      ],
    56      visibility = ["//:__pkg__"],
    57  )