[Bazel/C++] Factor out compiler packages. (#9985)
This change adds packages for protoc sources under src/google/protobuf/compiler (this is similar to what was done in #9980).pull/9992/head
parent
f868799366
commit
cbd1adc6cf
13 changed files with 1037 additions and 164 deletions
@ -0,0 +1,308 @@ |
||||
################################################################################ |
||||
# Protocol Buffers Compiler |
||||
################################################################################ |
||||
|
||||
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test") |
||||
load( |
||||
"@rules_pkg//:mappings.bzl", |
||||
"pkg_attributes", |
||||
"pkg_filegroup", |
||||
"pkg_files", |
||||
"strip_prefix", |
||||
) |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
load("//build_defs:cpp_opts.bzl", "COPTS") |
||||
|
||||
proto_library( |
||||
name = "plugin_proto", |
||||
srcs = ["plugin.proto"], |
||||
visibility = ["//:__pkg__"], |
||||
deps = ["//:descriptor_proto"], |
||||
) |
||||
|
||||
cc_library( |
||||
name = "importer", |
||||
srcs = [ |
||||
"importer.cc", |
||||
"parser.cc", |
||||
], |
||||
hdrs = [ |
||||
"importer.h", |
||||
"parser.h", |
||||
], |
||||
copts = COPTS, |
||||
include_prefix = "google/protobuf/compiler", |
||||
visibility = ["//visibility:public"], |
||||
deps = ["//:internal_protobuf_full"], |
||||
) |
||||
|
||||
cc_library( |
||||
name = "code_generator", |
||||
srcs = [ |
||||
"code_generator.cc", |
||||
"plugin.cc", |
||||
"plugin.pb.cc", |
||||
], |
||||
hdrs = [ |
||||
"code_generator.h", |
||||
"plugin.h", |
||||
"plugin.pb.h", |
||||
"scc.h", |
||||
], |
||||
copts = COPTS, |
||||
include_prefix = "google/protobuf/compiler", |
||||
visibility = ["//visibility:public"], |
||||
deps = [ |
||||
"//:protobuf", |
||||
], |
||||
) |
||||
|
||||
cc_library( |
||||
name = "command_line_interface", |
||||
srcs = [ |
||||
"command_line_interface.cc", |
||||
"subprocess.cc", |
||||
"zip_writer.cc", |
||||
], |
||||
hdrs = [ |
||||
"command_line_interface.h", |
||||
"subprocess.h", |
||||
"zip_writer.h", |
||||
], |
||||
copts = COPTS, |
||||
include_prefix = "google/protobuf/compiler", |
||||
visibility = ["//visibility:public"], |
||||
deps = [ |
||||
":code_generator", |
||||
":importer", |
||||
"//:protobuf", |
||||
], |
||||
) |
||||
|
||||
cc_library( |
||||
name = "protoc_lib", |
||||
srcs = [ |
||||
"main.cc", |
||||
], |
||||
copts = COPTS, |
||||
visibility = [ |
||||
"//:__pkg__", |
||||
"//pkg:__pkg__", |
||||
], |
||||
deps = [ |
||||
":code_generator", |
||||
":command_line_interface", |
||||
":importer", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler/cpp", |
||||
"//src/google/protobuf/compiler/csharp", |
||||
"//src/google/protobuf/compiler/java", |
||||
"//src/google/protobuf/compiler/objectivec", |
||||
"//src/google/protobuf/compiler/php", |
||||
"//src/google/protobuf/compiler/python", |
||||
"//src/google/protobuf/compiler/ruby", |
||||
], |
||||
) |
||||
|
||||
# Note: this is an alias for now. In the future, this rule will become the |
||||
# cc_binary for protoc, and //:protoc will become an alias. |
||||
alias( |
||||
name = "protoc", |
||||
actual = "//:protoc", |
||||
visibility = ["//visibility:public"], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Tests and support libraries |
||||
################################################################################ |
||||
|
||||
cc_library( |
||||
name = "annotation_test_util", |
||||
testonly = 1, |
||||
srcs = ["annotation_test_util.cc"], |
||||
hdrs = ["annotation_test_util.h"], |
||||
copts = COPTS, |
||||
visibility = ["//visibility:public"], |
||||
deps = [ |
||||
":code_generator", |
||||
":command_line_interface", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/testing", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Tests |
||||
################################################################################ |
||||
|
||||
filegroup( |
||||
name = "plugin_proto_srcs", |
||||
testonly = 1, |
||||
srcs = [ |
||||
"plugin.pb.cc", |
||||
"plugin.pb.h", |
||||
"plugin.proto", |
||||
], |
||||
visibility = [ |
||||
"//src/google/protobuf/compiler/cpp:__pkg__", |
||||
], |
||||
) |
||||
|
||||
cc_library( |
||||
name = "mock_code_generator", |
||||
testonly = 1, |
||||
srcs = ["mock_code_generator.cc"], |
||||
hdrs = ["mock_code_generator.h"], |
||||
copts = COPTS, |
||||
deps = [ |
||||
":code_generator", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/stubs", |
||||
"//src/google/protobuf/testing", |
||||
], |
||||
) |
||||
|
||||
cc_binary( |
||||
name = "test_plugin", |
||||
testonly = 1, |
||||
srcs = ["test_plugin.cc"], |
||||
copts = COPTS, |
||||
deps = [ |
||||
":code_generator", |
||||
":mock_code_generator", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "command_line_interface_unittest", |
||||
srcs = ["command_line_interface_unittest.cc"], |
||||
copts = COPTS + select({ |
||||
"//build_defs:config_msvc": [], |
||||
"//conditions:default": [ |
||||
"-Wno-deprecated", |
||||
"-Wno-deprecated-declarations", |
||||
], |
||||
}) + [ |
||||
"-DGOOGLE_PROTOBUF_TEST_PLUGIN_PATH=\\\"src/google/protobuf/compiler/test_plugin\\\"", |
||||
], |
||||
data = [ |
||||
":test_plugin", |
||||
"//:test_proto_srcs", |
||||
"//:testdata", |
||||
], |
||||
deps = [ |
||||
":code_generator", |
||||
":command_line_interface", |
||||
":mock_code_generator", |
||||
"//:cc_test_protos", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/stubs", |
||||
"//src/google/protobuf/testing", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "importer_unittest", |
||||
srcs = ["importer_unittest.cc"], |
||||
copts = COPTS, |
||||
deps = [ |
||||
":importer", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/stubs", |
||||
"//src/google/protobuf/testing", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "parser_unittest", |
||||
srcs = ["parser_unittest.cc"], |
||||
copts = COPTS + select({ |
||||
"//build_defs:config_msvc": [], |
||||
"//conditions:default": [ |
||||
"-Wno-deprecated", |
||||
"-Wno-deprecated-declarations", |
||||
], |
||||
}), |
||||
deps = [ |
||||
":importer", |
||||
"//:cc_test_protos", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/stubs", |
||||
"//src/google/protobuf/testing", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Generates protoc release artifacts. |
||||
################################################################################ |
||||
|
||||
genrule( |
||||
name = "protoc_readme", |
||||
outs = ["readme.txt"], |
||||
cmd = """ |
||||
echo "Protocol Buffers - Google's data interchange format |
||||
Copyright 2008 Google Inc. |
||||
https://developers.google.com/protocol-buffers/ |
||||
This package contains a precompiled binary version of the protocol buffer |
||||
compiler (protoc). This binary is intended for users who want to use Protocol |
||||
Buffers in languages other than C++ but do not want to compile protoc |
||||
themselves. To install, simply place this binary somewhere in your PATH. |
||||
If you intend to use the included well known types then don't forget to |
||||
copy the contents of the 'include' directory somewhere as well, for example |
||||
into '/usr/local/include/'. |
||||
Please refer to our official github site for more installation instructions: |
||||
https://github.com/protocolbuffers/protobuf" > $@ |
||||
""", |
||||
visibility = ["//:__pkg__"], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "compiler_plugin_protos_files", |
||||
srcs = ["plugin.proto"], |
||||
prefix = "include/google/protobuf/compiler", |
||||
visibility = ["//pkg:__pkg__"], |
||||
) |
||||
|
||||
pkg_files( |
||||
name = "protoc_files", |
||||
srcs = [":protoc"], |
||||
attributes = pkg_attributes(mode = "0555"), |
||||
prefix = "bin/", |
||||
visibility = ["//:__pkg__"], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Distribution packaging |
||||
################################################################################ |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["**/*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
) |
||||
|
||||
# Convenience pkg_filegroup: includes all code generators. |
||||
pkg_filegroup( |
||||
name = "all_dist_files", |
||||
srcs = [ |
||||
":dist_files", |
||||
"//src/google/protobuf/compiler/cpp:dist_files", |
||||
"//src/google/protobuf/compiler/csharp:dist_files", |
||||
"//src/google/protobuf/compiler/java:dist_files", |
||||
"//src/google/protobuf/compiler/objectivec:dist_files", |
||||
"//src/google/protobuf/compiler/php:dist_files", |
||||
"//src/google/protobuf/compiler/python:dist_files", |
||||
"//src/google/protobuf/compiler/ruby:dist_files", |
||||
], |
||||
visibility = ["//pkg:__pkg__"], |
||||
) |
@ -0,0 +1,190 @@ |
||||
################################################################################ |
||||
# Protocol Buffers Compiler - C++ code generator |
||||
################################################################################ |
||||
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library", "cc_proto_library", "cc_test") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("@rules_proto//proto:defs.bzl", "proto_library") |
||||
load("//build_defs:cpp_opts.bzl", "COPTS") |
||||
|
||||
cc_library( |
||||
name = "cpp", |
||||
srcs = [ |
||||
"enum.cc", |
||||
"enum_field.cc", |
||||
"extension.cc", |
||||
"field.cc", |
||||
"file.cc", |
||||
"generator.cc", |
||||
"helpers.cc", |
||||
"map_field.cc", |
||||
"message.cc", |
||||
"message_field.cc", |
||||
"padding_optimizer.cc", |
||||
"parse_function_generator.cc", |
||||
"primitive_field.cc", |
||||
"service.cc", |
||||
"string_field.cc", |
||||
], |
||||
hdrs = [ |
||||
"enum.h", |
||||
"enum_field.h", |
||||
"extension.h", |
||||
"field.h", |
||||
"file.h", |
||||
"generator.h", |
||||
"helpers.h", |
||||
"map_field.h", |
||||
"message.h", |
||||
"message_field.h", |
||||
"message_layout_helper.h", |
||||
"names.h", |
||||
"options.h", |
||||
"padding_optimizer.h", |
||||
"parse_function_generator.h", |
||||
"primitive_field.h", |
||||
"service.h", |
||||
"string_field.h", |
||||
], |
||||
copts = COPTS, |
||||
include_prefix = "google/protobuf/compiler/cpp", |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:code_generator", |
||||
], |
||||
) |
||||
|
||||
proto_library( |
||||
name = "test_bad_identifiers_proto", |
||||
testonly = 1, |
||||
srcs = ["test_bad_identifiers.proto"], |
||||
strip_import_prefix = "/src", |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "test_bad_identifiers_cc_proto", |
||||
testonly = 1, |
||||
deps = [":test_bad_identifiers_proto"], |
||||
) |
||||
|
||||
proto_library( |
||||
name = "test_large_enum_value_proto", |
||||
testonly = 1, |
||||
srcs = ["test_large_enum_value.proto"], |
||||
strip_import_prefix = "/src", |
||||
) |
||||
|
||||
cc_proto_library( |
||||
name = "test_large_enum_value_cc_proto", |
||||
testonly = 1, |
||||
deps = [":test_large_enum_value_proto"], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "unittest", |
||||
srcs = [ |
||||
"unittest.cc", |
||||
"unittest.h", |
||||
"unittest.inc", |
||||
], |
||||
data = [ |
||||
"//:test_proto_srcs", |
||||
"//:testdata", |
||||
], |
||||
deps = [ |
||||
":cpp", |
||||
":test_bad_identifiers_cc_proto", |
||||
"//:cc_test_protos", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:importer", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/stubs", |
||||
"//src/google/protobuf/testing", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "bootstrap_unittest", |
||||
srcs = ["bootstrap_unittest.cc"], |
||||
data = [ |
||||
"//:built_in_runtime_protos", |
||||
"//:descriptor_cc_srcs", |
||||
"//:testdata", |
||||
"//:well_known_type_protos", |
||||
"//src/google/protobuf/compiler:plugin_proto_srcs", |
||||
], |
||||
deps = [ |
||||
":cpp", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:importer", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/stubs", |
||||
"//src/google/protobuf/testing", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "message_size_unittest", |
||||
srcs = ["message_size_unittest.cc"], |
||||
deps = [ |
||||
"//:cc_test_protos", |
||||
"//:protobuf", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "metadata_test", |
||||
srcs = ["metadata_test.cc"], |
||||
deps = [ |
||||
":cpp", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:annotation_test_util", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "move_unittest", |
||||
srcs = ["move_unittest.cc"], |
||||
deps = [ |
||||
"//:cc_test_protos", |
||||
"//:protobuf", |
||||
"//:test_util", |
||||
"//src/google/protobuf/stubs:lite", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "plugin_unittest", |
||||
srcs = ["plugin_unittest.cc"], |
||||
deps = [ |
||||
":cpp", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:command_line_interface", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/testing", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Distribution packaging |
||||
################################################################################ |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["**/*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
) |
@ -0,0 +1,106 @@ |
||||
################################################################################ |
||||
# Protocol Buffers Compiler - C# code generator |
||||
################################################################################ |
||||
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("//build_defs:cpp_opts.bzl", "COPTS") |
||||
|
||||
cc_library( |
||||
name = "csharp", |
||||
srcs = [ |
||||
"csharp_doc_comment.cc", |
||||
"csharp_enum.cc", |
||||
"csharp_enum_field.cc", |
||||
"csharp_field_base.cc", |
||||
"csharp_generator.cc", |
||||
"csharp_helpers.cc", |
||||
"csharp_map_field.cc", |
||||
"csharp_message.cc", |
||||
"csharp_message_field.cc", |
||||
"csharp_primitive_field.cc", |
||||
"csharp_reflection_class.cc", |
||||
"csharp_repeated_enum_field.cc", |
||||
"csharp_repeated_message_field.cc", |
||||
"csharp_repeated_primitive_field.cc", |
||||
"csharp_source_generator_base.cc", |
||||
"csharp_wrapper_field.cc", |
||||
], |
||||
hdrs = [ |
||||
"csharp_doc_comment.h", |
||||
"csharp_enum.h", |
||||
"csharp_enum_field.h", |
||||
"csharp_field_base.h", |
||||
"csharp_generator.h", |
||||
"csharp_helpers.h", |
||||
"csharp_map_field.h", |
||||
"csharp_message.h", |
||||
"csharp_message_field.h", |
||||
"csharp_names.h", |
||||
"csharp_options.h", |
||||
"csharp_primitive_field.h", |
||||
"csharp_reflection_class.h", |
||||
"csharp_repeated_enum_field.h", |
||||
"csharp_repeated_message_field.h", |
||||
"csharp_repeated_primitive_field.h", |
||||
"csharp_source_generator_base.h", |
||||
"csharp_wrapper_field.h", |
||||
], |
||||
copts = COPTS + select({ |
||||
"//build_defs:config_msvc": [], |
||||
"//conditions:default": ["-Wno-overloaded-virtual"], |
||||
}), |
||||
include_prefix = "google/protobuf/compiler/csharp", |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:code_generator", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "bootstrap_unittest", |
||||
srcs = ["csharp_bootstrap_unittest.cc"], |
||||
data = [ |
||||
"//:built_in_runtime_protos", |
||||
"//:testdata", |
||||
"//:well_known_type_protos", |
||||
"//conformance:all_files", |
||||
"//conformance:conformance_proto", |
||||
"//csharp:wkt_cs_srcs", |
||||
], |
||||
deps = [ |
||||
":csharp", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:importer", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/stubs", |
||||
"//src/google/protobuf/testing", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "generator_unittest", |
||||
srcs = ["csharp_generator_unittest.cc"], |
||||
deps = [ |
||||
":csharp", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:command_line_interface", |
||||
"//src/google/protobuf/io", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Distribution packaging |
||||
################################################################################ |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["**/*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
) |
@ -0,0 +1,123 @@ |
||||
################################################################################ |
||||
# Protocol Buffers Compiler - Java code generator |
||||
################################################################################ |
||||
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("//build_defs:cpp_opts.bzl", "COPTS") |
||||
|
||||
cc_library( |
||||
name = "java", |
||||
srcs = [ |
||||
"context.cc", |
||||
"doc_comment.cc", |
||||
"enum.cc", |
||||
"enum_field.cc", |
||||
"enum_field_lite.cc", |
||||
"enum_lite.cc", |
||||
"extension.cc", |
||||
"extension_lite.cc", |
||||
"field.cc", |
||||
"file.cc", |
||||
"generator.cc", |
||||
"generator_factory.cc", |
||||
"helpers.cc", |
||||
"kotlin_generator.cc", |
||||
"map_field.cc", |
||||
"map_field_lite.cc", |
||||
"message.cc", |
||||
"message_builder.cc", |
||||
"message_builder_lite.cc", |
||||
"message_field.cc", |
||||
"message_field_lite.cc", |
||||
"message_lite.cc", |
||||
"name_resolver.cc", |
||||
"primitive_field.cc", |
||||
"primitive_field_lite.cc", |
||||
"service.cc", |
||||
"shared_code_generator.cc", |
||||
"string_field.cc", |
||||
"string_field_lite.cc", |
||||
], |
||||
hdrs = [ |
||||
"context.h", |
||||
"doc_comment.h", |
||||
"enum.h", |
||||
"enum_field.h", |
||||
"enum_field_lite.h", |
||||
"enum_lite.h", |
||||
"extension.h", |
||||
"extension_lite.h", |
||||
"field.h", |
||||
"file.h", |
||||
"generator.h", |
||||
"generator_factory.h", |
||||
"helpers.h", |
||||
"kotlin_generator.h", |
||||
"map_field.h", |
||||
"map_field_lite.h", |
||||
"message.h", |
||||
"message_builder.h", |
||||
"message_builder_lite.h", |
||||
"message_field.h", |
||||
"message_field_lite.h", |
||||
"message_lite.h", |
||||
"name_resolver.h", |
||||
"names.h", |
||||
"options.h", |
||||
"primitive_field.h", |
||||
"primitive_field_lite.h", |
||||
"service.h", |
||||
"shared_code_generator.h", |
||||
"string_field.h", |
||||
"string_field_lite.h", |
||||
], |
||||
copts = COPTS, |
||||
include_prefix = "google/protobuf/compiler/java", |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:code_generator", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "doc_comment_unittest", |
||||
srcs = ["doc_comment_unittest.cc"], |
||||
data = [ |
||||
"//:built_in_runtime_protos", |
||||
"//:well_known_type_protos", |
||||
"//conformance:conformance_proto", |
||||
], |
||||
deps = [ |
||||
":java", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "plugin_unittest", |
||||
srcs = ["plugin_unittest.cc"], |
||||
deps = [ |
||||
":java", |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:command_line_interface", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/stubs:lite", |
||||
"//src/google/protobuf/testing", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Distribution packaging |
||||
################################################################################ |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["**/*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
) |
@ -0,0 +1,69 @@ |
||||
################################################################################ |
||||
# Protocol Buffers Compiler - ObjC code generator |
||||
################################################################################ |
||||
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("//build_defs:cpp_opts.bzl", "COPTS") |
||||
|
||||
cc_library( |
||||
name = "objectivec", |
||||
srcs = [ |
||||
"objectivec_enum.cc", |
||||
"objectivec_enum_field.cc", |
||||
"objectivec_extension.cc", |
||||
"objectivec_field.cc", |
||||
"objectivec_file.cc", |
||||
"objectivec_generator.cc", |
||||
"objectivec_helpers.cc", |
||||
"objectivec_map_field.cc", |
||||
"objectivec_message.cc", |
||||
"objectivec_message_field.cc", |
||||
"objectivec_oneof.cc", |
||||
"objectivec_primitive_field.cc", |
||||
], |
||||
hdrs = [ |
||||
"objectivec_enum.h", |
||||
"objectivec_enum_field.h", |
||||
"objectivec_extension.h", |
||||
"objectivec_field.h", |
||||
"objectivec_file.h", |
||||
"objectivec_generator.h", |
||||
"objectivec_helpers.h", |
||||
"objectivec_map_field.h", |
||||
"objectivec_message.h", |
||||
"objectivec_message_field.h", |
||||
"objectivec_nsobject_methods.h", |
||||
"objectivec_oneof.h", |
||||
"objectivec_primitive_field.h", |
||||
], |
||||
copts = COPTS, |
||||
include_prefix = "google/protobuf/compiler/objectivec", |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:code_generator", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "helpers_unittest", |
||||
srcs = ["objectivec_helpers_unittest.cc"], |
||||
deps = [ |
||||
":objectivec", |
||||
"//src/google/protobuf/io", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Distribution packaging |
||||
################################################################################ |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["**/*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
) |
@ -0,0 +1,31 @@ |
||||
################################################################################ |
||||
# Protocol Buffers Compiler - PHP code generator |
||||
################################################################################ |
||||
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("//build_defs:cpp_opts.bzl", "COPTS") |
||||
|
||||
cc_library( |
||||
name = "php", |
||||
srcs = ["php_generator.cc"], |
||||
hdrs = ["php_generator.h"], |
||||
copts = COPTS, |
||||
include_prefix = "google/protobuf/compiler/php", |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:code_generator", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Distribution packaging |
||||
################################################################################ |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["**/*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
) |
@ -0,0 +1,53 @@ |
||||
################################################################################ |
||||
# Protocol Buffers Compiler - Python code generator |
||||
################################################################################ |
||||
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("//build_defs:cpp_opts.bzl", "COPTS") |
||||
|
||||
cc_library( |
||||
name = "python", |
||||
srcs = [ |
||||
"generator.cc", |
||||
"helpers.cc", |
||||
"pyi_generator.cc", |
||||
], |
||||
hdrs = [ |
||||
"generator.h", |
||||
"helpers.h", |
||||
"pyi_generator.h", |
||||
], |
||||
copts = COPTS, |
||||
include_prefix = "google/protobuf/compiler/python", |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:code_generator", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "plugin_unittest", |
||||
srcs = ["plugin_unittest.cc"], |
||||
copts = COPTS, |
||||
deps = [ |
||||
":python", |
||||
"//src/google/protobuf/compiler:command_line_interface", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/testing", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Distribution packaging |
||||
################################################################################ |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["**/*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
) |
@ -0,0 +1,58 @@ |
||||
################################################################################ |
||||
# Protocol Buffers Compiler - Ruby code generator |
||||
################################################################################ |
||||
|
||||
load("@rules_cc//cc:defs.bzl", "cc_library", "cc_test") |
||||
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
||||
load("//build_defs:cpp_opts.bzl", "COPTS") |
||||
|
||||
cc_library( |
||||
name = "ruby", |
||||
srcs = ["ruby_generator.cc"], |
||||
hdrs = ["ruby_generator.h"], |
||||
copts = COPTS, |
||||
include_prefix = "google/protobuf/compiler/ruby", |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
deps = [ |
||||
"//:protobuf", |
||||
"//src/google/protobuf/compiler:code_generator", |
||||
], |
||||
) |
||||
|
||||
cc_test( |
||||
name = "generator_unittest", |
||||
srcs = ["ruby_generator_unittest.cc"], |
||||
data = [ |
||||
"ruby_generated_code.proto", |
||||
"ruby_generated_code_pb.rb", |
||||
"ruby_generated_code_proto2.proto", |
||||
"ruby_generated_code_proto2_import.proto", |
||||
"ruby_generated_code_proto2_pb.rb", |
||||
"ruby_generated_pkg_explicit.proto", |
||||
"ruby_generated_pkg_explicit_legacy.proto", |
||||
"ruby_generated_pkg_explicit_legacy_pb.rb", |
||||
"ruby_generated_pkg_explicit_pb.rb", |
||||
"ruby_generated_pkg_implicit.proto", |
||||
"ruby_generated_pkg_implicit_pb.rb", |
||||
"//:testdata", |
||||
], |
||||
deps = [ |
||||
":ruby", |
||||
"//src/google/protobuf/compiler:command_line_interface", |
||||
"//src/google/protobuf/io", |
||||
"//src/google/protobuf/testing", |
||||
"@com_google_googletest//:gtest", |
||||
"@com_google_googletest//:gtest_main", |
||||
], |
||||
) |
||||
|
||||
################################################################################ |
||||
# Distribution packaging |
||||
################################################################################ |
||||
|
||||
pkg_files( |
||||
name = "dist_files", |
||||
srcs = glob(["**/*"]), |
||||
strip_prefix = strip_prefix.from_root(""), |
||||
visibility = ["//src/google/protobuf/compiler:__pkg__"], |
||||
) |
Loading…
Reference in new issue