ruby

RuleDescription
ruby_proto_compileGenerates *.ruby protobuf artifacts
ruby_grpc_compileGenerates *.ruby protobuf+gRPC artifacts
ruby_proto_libraryGenerates *.rb protobuf library
ruby_grpc_libraryGenerates *.rb protobuf+gRPC library

ruby_proto_compile

Generates *.ruby protobuf artifacts

WORKSPACE

load("@build_stack_rules_proto//ruby:deps.bzl", "ruby_proto_compile")

ruby_proto_compile()

BUILD.bazel

load("@build_stack_rules_proto//ruby:ruby_proto_compile.bzl", "ruby_proto_compile")

ruby_proto_compile(
	name = "person_ruby_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

ruby_grpc_compile

Generates *.ruby protobuf+gRPC artifacts

WORKSPACE

load("@build_stack_rules_proto//ruby:deps.bzl", "ruby_grpc_compile")

ruby_grpc_compile()

load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")

grpc_deps()

BUILD.bazel

load("@build_stack_rules_proto//ruby:ruby_grpc_compile.bzl", "ruby_grpc_compile")

ruby_grpc_compile(
	name = "greeter_ruby_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

ruby_proto_library

Generates *.rb protobuf library

WORKSPACE


load("@build_stack_rules_proto//ruby:deps.bzl", "ruby_proto_library") ruby_proto_library() load("@com_github_yugui_rules_ruby//ruby:def.bzl", "ruby_register_toolchains") ruby_register_toolchains() load("@com_github_yugui_rules_ruby//ruby/private:bundle.bzl", "bundle_install") bundle_install( name = "routeguide_gems_bundle", gemfile = "//ruby:Gemfile", gemfile_lock = "//ruby:Gemfile.lock", )

BUILD.bazel

load("@build_stack_rules_proto//ruby:ruby_proto_library.bzl", "ruby_proto_library")

ruby_proto_library(
	name = "person_ruby_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

ruby_grpc_library

Generates *.rb protobuf+gRPC library

WORKSPACE


load("@build_stack_rules_proto//ruby:deps.bzl", "ruby_grpc_library") ruby_grpc_library() load("@com_github_yugui_rules_ruby//ruby:def.bzl", "ruby_register_toolchains") ruby_register_toolchains() load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps") grpc_deps() load("@com_github_yugui_rules_ruby//ruby/private:bundle.bzl", "bundle_install") bundle_install( name = "routeguide_gems_bundle", gemfile = "//ruby:Gemfile", gemfile_lock = "//ruby:Gemfile.lock", )

BUILD.bazel

load("@build_stack_rules_proto//ruby:ruby_grpc_library.bzl", "ruby_grpc_library")

ruby_grpc_library(
	name = "greeter_ruby_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