tree: f6751acb96957269c038361389d2184b907e9476
  1. example/
  2. BUILD.bazel
  3. deps.bzl
  4. README.md
  5. rust_grpc_compile.bzl
  6. rust_grpc_library.bzl
  7. rust_proto_compile.bzl
  8. rust_proto_lib.bzl
  9. rust_proto_library.bzl
rust/README.md

rust

RuleDescription
rust_proto_compileGenerates rust protobuf artifacts
rust_grpc_compileGenerates rust protobuf+gRPC artifacts
rust_proto_libraryGenerates rust protobuf library
rust_grpc_libraryGenerates rust protobuf+gRPC library

rust_proto_compile

Generates rust protobuf artifacts

WORKSPACE

load("@build_stack_rules_proto//rust:deps.bzl", "rust_proto_compile")

rust_proto_compile()

load("@io_bazel_rules_rust//rust:repositories.bzl", "rust_repositories")

rust_repositories()

load("@io_bazel_rules_rust//:workspace.bzl", "bazel_version")

bazel_version(name = "bazel_version")

load("@io_bazel_rules_rust//proto/raze:crates.bzl", "raze_fetch_remote_crates")

raze_fetch_remote_crates()

BUILD.bazel

load("@build_stack_rules_proto//rust:rust_proto_compile.bzl", "rust_proto_compile")

rust_proto_compile(
    name = "person_rust_proto",
    deps = ["@build_stack_rules_proto//example/proto:person_proto"],
)

Mandatory Attributes

NameTypeDefaultDescription
depslist<ProtoInfo>[]List of labels that provide a ProtoInfo (native.proto_library)

Optional Attributes

NameTypeDefaultDescription
pluginslist<ProtoPluginInfo>[]List of labels that provide a ProtoPluginInfo
plugin_optionslist<string>[]List of additional ‘global’ plugin options (applies to all plugins)
outputslist<generated file>[]List of additional expected generated file outputs
has_servicesboolFalseIf the proto files(s) have a service rpc, generate grpc outputs
protocexecutable file@com_google_protobuf//:protocThe protocol compiler tool
verboseint01: show command, 2: show sandbox after, 3: show sandbox before
include_importsboolTruePass the --include_imports argument to the protoc_plugin
include_source_infoboolTruePass the --include_source_info argument to the protoc_plugin
transitiveboolFalseGenerated outputs for *.proto directly named in deps AND all transitive proto_library dependencies

rust_grpc_compile

Generates rust protobuf+gRPC artifacts

WORKSPACE

load("@build_stack_rules_proto//rust:deps.bzl", "rust_grpc_compile")

rust_grpc_compile()

load("@io_bazel_rules_rust//rust:repositories.bzl", "rust_repositories")

rust_repositories()

load("@io_bazel_rules_rust//:workspace.bzl", "bazel_version")

bazel_version(name = "bazel_version")

load("@io_bazel_rules_rust//proto/raze:crates.bzl", "raze_fetch_remote_crates")

raze_fetch_remote_crates()

BUILD.bazel

load("@build_stack_rules_proto//rust:rust_grpc_compile.bzl", "rust_grpc_compile")

rust_grpc_compile(
    name = "greeter_rust_grpc",
    deps = ["@build_stack_rules_proto//example/proto:greeter_grpc"],
)

Mandatory Attributes

NameTypeDefaultDescription
depslist<ProtoInfo>[]List of labels that provide a ProtoInfo (native.proto_library)

Optional Attributes

NameTypeDefaultDescription
pluginslist<ProtoPluginInfo>[]List of labels that provide a ProtoPluginInfo
plugin_optionslist<string>[]List of additional ‘global’ plugin options (applies to all plugins)
outputslist<generated file>[]List of additional expected generated file outputs
has_servicesboolFalseIf the proto files(s) have a service rpc, generate grpc outputs
protocexecutable file@com_google_protobuf//:protocThe protocol compiler tool
verboseint01: show command, 2: show sandbox after, 3: show sandbox before
include_importsboolTruePass the --include_imports argument to the protoc_plugin
include_source_infoboolTruePass the --include_source_info argument to the protoc_plugin
transitiveboolFalseGenerated outputs for *.proto directly named in deps AND all transitive proto_library dependencies

rust_proto_library

Generates rust protobuf library

WORKSPACE

load("@build_stack_rules_proto//rust:deps.bzl", "rust_proto_library")

rust_proto_library()

load("@io_bazel_rules_rust//rust:repositories.bzl", "rust_repositories")

rust_repositories()

load("@io_bazel_rules_rust//:workspace.bzl", "bazel_version")

bazel_version(name = "bazel_version")

load("@io_bazel_rules_rust//proto/raze:crates.bzl", "raze_fetch_remote_crates")

raze_fetch_remote_crates()

BUILD.bazel

load("@build_stack_rules_proto//rust:rust_proto_library.bzl", "rust_proto_library")

rust_proto_library(
    name = "person_rust_library",
    deps = ["@build_stack_rules_proto//example/proto:person_proto"],
)

Mandatory Attributes

NameTypeDefaultDescription
depslist<ProtoInfo>[]List of labels that provide a ProtoInfo (native.proto_library)

Optional Attributes

NameTypeDefaultDescription
pluginslist<ProtoPluginInfo>[]List of labels that provide a ProtoPluginInfo
plugin_optionslist<string>[]List of additional ‘global’ plugin options (applies to all plugins)
outputslist<generated file>[]List of additional expected generated file outputs
has_servicesboolFalseIf the proto files(s) have a service rpc, generate grpc outputs
protocexecutable file@com_google_protobuf//:protocThe protocol compiler tool
verboseint01: show command, 2: show sandbox after, 3: show sandbox before
include_importsboolTruePass the --include_imports argument to the protoc_plugin
include_source_infoboolTruePass the --include_source_info argument to the protoc_plugin
transitiveboolFalseGenerated outputs for *.proto directly named in deps AND all transitive proto_library dependencies

rust_grpc_library

Generates rust protobuf+gRPC library

WORKSPACE

load("@build_stack_rules_proto//rust:deps.bzl", "rust_grpc_library")

rust_grpc_library()

load("@io_bazel_rules_rust//rust:repositories.bzl", "rust_repositories")

rust_repositories()

load("@io_bazel_rules_rust//:workspace.bzl", "bazel_version")

bazel_version(name = "bazel_version")

load("@io_bazel_rules_rust//proto/raze:crates.bzl", "raze_fetch_remote_crates")

raze_fetch_remote_crates()

BUILD.bazel

load("@build_stack_rules_proto//rust:rust_grpc_library.bzl", "rust_grpc_library")

rust_grpc_library(
    name = "greeter_rust_library",
    deps = ["@build_stack_rules_proto//example/proto:greeter_grpc"],
)

Mandatory Attributes

NameTypeDefaultDescription
depslist<ProtoInfo>[]List of labels that provide a ProtoInfo (native.proto_library)

Optional Attributes

NameTypeDefaultDescription
pluginslist<ProtoPluginInfo>[]List of labels that provide a ProtoPluginInfo
plugin_optionslist<string>[]List of additional ‘global’ plugin options (applies to all plugins)
outputslist<generated file>[]List of additional expected generated file outputs
has_servicesboolFalseIf the proto files(s) have a service rpc, generate grpc outputs
protocexecutable file@com_google_protobuf//:protocThe protocol compiler tool
verboseint01: show command, 2: show sandbox after, 3: show sandbox before
include_importsboolTruePass the --include_imports argument to the protoc_plugin
include_source_infoboolTruePass the --include_source_info argument to the protoc_plugin
transitiveboolFalseGenerated outputs for *.proto directly named in deps AND all transitive proto_library dependencies