Protocol Buffers - Google's data interchange format (grpc依赖)
https://developers.google.com/protocol-buffers/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.4 KiB
66 lines
2.4 KiB
################################################################################ |
|
# Protocol Buffers: C++ Runtime |
|
################################################################################ |
|
|
|
# Most rules are under google/protobuf. This package exists for convenience. |
|
load("@rules_pkg//:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix") |
|
load("//conformance:defs.bzl", "conformance_test") |
|
load("//upb/cmake:build_defs.bzl", "staleness_test") |
|
|
|
pkg_files( |
|
name = "dist_files", |
|
srcs = glob(["**"]), |
|
strip_prefix = strip_prefix.from_root(""), |
|
visibility = ["//src:__pkg__"], |
|
) |
|
|
|
pkg_filegroup( |
|
name = "all_dist_files", |
|
srcs = [ |
|
":dist_files", |
|
"//src/google/protobuf:dist_files", |
|
"//src/google/protobuf/compiler: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", |
|
"//src/google/protobuf/io:dist_files", |
|
"//src/google/protobuf/stubs:dist_files", |
|
"//src/google/protobuf/testing:dist_files", |
|
"//src/google/protobuf/util:dist_files", |
|
], |
|
visibility = ["//pkg:__pkg__"], |
|
) |
|
|
|
conformance_test( |
|
name = "conformance_test", |
|
failure_list = "//conformance:failure_list_cpp.txt", |
|
maximum_edition = "2023", |
|
testee = "//conformance:conformance_cpp", |
|
text_format_failure_list = "//conformance:text_format_failure_list_cpp.txt", |
|
) |
|
|
|
# Copy the generated file_lists.cmake into a place where the staleness test |
|
# below can use it. |
|
genrule( |
|
name = "copy_cmake_lists", |
|
srcs = ["//pkg:gen_src_file_lists"], |
|
outs = ["cmake_copy/file_lists.cmake"], |
|
cmd = "cp $< $@", |
|
tags = ["manual"], |
|
visibility = ["//visibility:private"], |
|
) |
|
|
|
staleness_test( |
|
name = "cmake_lists_staleness_test", |
|
outs = ["file_lists.cmake"], |
|
generated_pattern = "cmake_copy/%s", |
|
# Only run this test if it is explicitly specified on the command line (not |
|
# via //src:all or ...). This file will be automatically updated in a |
|
# GitHub action, so developers should not worry about failures from this |
|
# test. |
|
tags = ["manual"], |
|
)
|
|
|