144 lines
3.9 KiB
Python
144 lines
3.9 KiB
Python
################################################################################
|
|
# Protocol Buffers Compiler - Rust code generator
|
|
################################################################################
|
|
|
|
load("@rules_cc//cc:defs.bzl", "cc_library")
|
|
load("//build_defs:cpp_opts.bzl", "COPTS")
|
|
|
|
cc_library(
|
|
name = "rust",
|
|
srcs = ["generator.cc"],
|
|
hdrs = ["generator.h"],
|
|
copts = COPTS,
|
|
include_prefix = "google/protobuf/compiler/rust",
|
|
visibility = [
|
|
"//pkg:__pkg__",
|
|
"//src/google/protobuf/compiler:__pkg__",
|
|
],
|
|
deps = [
|
|
":context",
|
|
":message",
|
|
":naming",
|
|
":relative_path",
|
|
"//src/google/protobuf:protobuf_nowkt",
|
|
"//src/google/protobuf/compiler:code_generator",
|
|
"//src/google/protobuf/compiler/cpp:names",
|
|
"@com_google_absl//absl/algorithm:container",
|
|
"@com_google_absl//absl/log:absl_check",
|
|
"@com_google_absl//absl/types:optional",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "message",
|
|
srcs = ["message.cc"],
|
|
hdrs = ["message.h"],
|
|
copts = COPTS,
|
|
include_prefix = "google/protobuf/compiler/rust",
|
|
deps = [
|
|
":accessors",
|
|
":context",
|
|
":naming",
|
|
":oneof",
|
|
"//src/google/protobuf:protobuf_nowkt",
|
|
"//src/google/protobuf/compiler/cpp:names",
|
|
"@com_google_absl//absl/log:absl_check",
|
|
"@com_google_absl//absl/log:absl_log",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "accessors",
|
|
srcs = [
|
|
"accessors/accessors.cc",
|
|
"accessors/repeated_scalar.cc",
|
|
"accessors/singular_message.cc",
|
|
"accessors/singular_scalar.cc",
|
|
"accessors/singular_string.cc",
|
|
"accessors/unsupported_field.cc",
|
|
],
|
|
hdrs = [
|
|
"accessors/accessor_generator.h",
|
|
"accessors/accessors.h",
|
|
],
|
|
copts = COPTS,
|
|
include_prefix = "google/protobuf/compiler/rust",
|
|
deps = [
|
|
":context",
|
|
":naming",
|
|
"//src/google/protobuf:protobuf_nowkt",
|
|
"//src/google/protobuf/compiler/cpp:names_internal",
|
|
"@com_google_absl//absl/log:absl_check",
|
|
"@com_google_absl//absl/strings",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "context",
|
|
srcs = ["context.cc"],
|
|
hdrs = ["context.h"],
|
|
copts = COPTS,
|
|
include_prefix = "google/protobuf/compiler/rust",
|
|
deps = [
|
|
"//src/google/protobuf/compiler:code_generator",
|
|
"//src/google/protobuf/io:printer",
|
|
"@com_google_absl//absl/algorithm:container",
|
|
"@com_google_absl//absl/log:absl_log",
|
|
"@com_google_absl//absl/status",
|
|
"@com_google_absl//absl/status:statusor",
|
|
"@com_google_absl//absl/strings",
|
|
"@com_google_absl//absl/types:span",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "naming",
|
|
srcs = ["naming.cc"],
|
|
hdrs = ["naming.h"],
|
|
copts = COPTS,
|
|
include_prefix = "google/protobuf/compiler/rust",
|
|
deps = [
|
|
":context",
|
|
"//src/google/protobuf:protobuf_nowkt",
|
|
"@com_google_absl//absl/log:absl_log",
|
|
"@com_google_absl//absl/strings",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "oneof",
|
|
srcs = ["oneof.cc"],
|
|
hdrs = ["oneof.h"],
|
|
copts = COPTS,
|
|
include_prefix = "google/protobuf/compiler/rust",
|
|
deps = [
|
|
":context",
|
|
":naming",
|
|
"//src/google/protobuf:protobuf_nowkt",
|
|
"//src/google/protobuf/compiler/cpp:names",
|
|
"@com_google_absl//absl/strings",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "relative_path",
|
|
srcs = ["relative_path.cc"],
|
|
hdrs = ["relative_path.h"],
|
|
include_prefix = "google/protobuf/compiler/rust",
|
|
deps = [
|
|
"@com_google_absl//absl/algorithm:container",
|
|
"@com_google_absl//absl/log:absl_check",
|
|
"@com_google_absl//absl/strings",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "relative_path_test",
|
|
srcs = ["relative_path_test.cc"],
|
|
deps = [
|
|
":relative_path",
|
|
"@com_google_googletest//:gtest",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|