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.
156 lines
4.7 KiB
156 lines
4.7 KiB
load("@rules_cc//cc:defs.bzl", "objc_library") |
|
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix") |
|
load("//conformance:defs.bzl", "conformance_test") |
|
|
|
objc_library( |
|
name = "objectivec", |
|
hdrs = [ |
|
"GPBAny.pbobjc.h", |
|
"GPBApi.pbobjc.h", |
|
"GPBDuration.pbobjc.h", |
|
"GPBEmpty.pbobjc.h", |
|
"GPBFieldMask.pbobjc.h", |
|
"GPBSourceContext.pbobjc.h", |
|
"GPBStruct.pbobjc.h", |
|
"GPBTimestamp.pbobjc.h", |
|
"GPBType.pbobjc.h", |
|
"GPBWrappers.pbobjc.h", |
|
"GPBArray.h", |
|
"GPBBootstrap.h", |
|
"GPBCodedInputStream.h", |
|
"GPBCodedOutputStream.h", |
|
"GPBDescriptor.h", |
|
"GPBDictionary.h", |
|
"GPBExtensionInternals.h", |
|
"GPBExtensionRegistry.h", |
|
"GPBMessage.h", |
|
"GPBProtocolBuffers.h", |
|
"GPBProtocolBuffers_RuntimeSupport.h", |
|
"GPBRootObject.h", |
|
"GPBRuntimeTypes.h", |
|
"GPBUnknownField.h", |
|
"GPBUnknownFieldSet.h", |
|
"GPBUtilities.h", |
|
"GPBWellKnownTypes.h", |
|
"GPBWireFormat.h", |
|
"google/protobuf/Any.pbobjc.h", |
|
"google/protobuf/Api.pbobjc.h", |
|
"google/protobuf/Duration.pbobjc.h", |
|
"google/protobuf/Empty.pbobjc.h", |
|
"google/protobuf/FieldMask.pbobjc.h", |
|
"google/protobuf/SourceContext.pbobjc.h", |
|
"google/protobuf/Struct.pbobjc.h", |
|
"google/protobuf/Timestamp.pbobjc.h", |
|
"google/protobuf/Type.pbobjc.h", |
|
"google/protobuf/Wrappers.pbobjc.h", |
|
# Package private headers, but exposed because the generated sources |
|
# need to use them. |
|
"GPBArray_PackagePrivate.h", |
|
"GPBCodedInputStream_PackagePrivate.h", |
|
"GPBCodedOutputStream_PackagePrivate.h", |
|
"GPBDescriptor_PackagePrivate.h", |
|
"GPBDictionary_PackagePrivate.h", |
|
"GPBMessage_PackagePrivate.h", |
|
"GPBRootObject_PackagePrivate.h", |
|
"GPBUnknownFieldSet_PackagePrivate.h", |
|
"GPBUnknownField_PackagePrivate.h", |
|
"GPBUtilities_PackagePrivate.h", |
|
], |
|
copts = [ |
|
"-Wno-vla", |
|
], |
|
includes = [ |
|
".", |
|
], |
|
non_arc_srcs = [ |
|
"GPBAny.pbobjc.m", |
|
"GPBApi.pbobjc.m", |
|
"GPBArray.m", |
|
"GPBCodedInputStream.m", |
|
"GPBCodedOutputStream.m", |
|
"GPBDescriptor.m", |
|
"GPBDictionary.m", |
|
"GPBDuration.pbobjc.m", |
|
"GPBEmpty.pbobjc.m", |
|
"GPBExtensionInternals.m", |
|
"GPBExtensionRegistry.m", |
|
"GPBFieldMask.pbobjc.m", |
|
"GPBMessage.m", |
|
"GPBRootObject.m", |
|
"GPBSourceContext.pbobjc.m", |
|
"GPBStruct.pbobjc.m", |
|
"GPBTimestamp.pbobjc.m", |
|
"GPBType.pbobjc.m", |
|
"GPBUnknownField.m", |
|
"GPBUnknownFieldSet.m", |
|
"GPBUtilities.m", |
|
"GPBWellKnownTypes.m", |
|
"GPBWireFormat.m", |
|
"GPBWrappers.pbobjc.m", |
|
], |
|
target_compatible_with = select({ |
|
"@platforms//os:macos": [], |
|
"@platforms//os:ios": [], |
|
"@platforms//os:tvos": [], |
|
"@platforms//os:watchos": [], |
|
"//conditions:default": ["@platforms//:incompatible"], |
|
}), |
|
visibility = ["//visibility:public"], |
|
) |
|
|
|
################################################################################ |
|
# Tests |
|
################################################################################ |
|
|
|
conformance_test( |
|
name = "conformance_test", |
|
failure_list = "//conformance:failure_list_objc.txt", |
|
testee = "//conformance:conformance_objc", |
|
target_compatible_with = ["@platforms//os:macos"], |
|
) |
|
|
|
# ------------------------------------------------------------------- |
|
# Current Version Check between Generator and Runtime Sources |
|
sh_test( |
|
name = "check_version_stamps", |
|
size = "small", |
|
srcs = ["DevTools/check_version_stamps.sh"], |
|
data = [ |
|
"GPBBootstrap.h", |
|
"//src/google/protobuf/compiler/objectivec:file.cc", |
|
], |
|
) |
|
|
|
################################################################################ |
|
# Distribution files |
|
################################################################################ |
|
|
|
pkg_files( |
|
name = "dist_files", |
|
srcs = glob([ |
|
"*.h", |
|
"*.m", |
|
"**/*.h", |
|
"**/*.m", |
|
"**/*.mm", |
|
"**/*.swift", |
|
"DevTools/*.sh", |
|
"DevTools/*.py", |
|
"ProtocolBuffers_iOS.xcodeproj/**/*", |
|
"ProtocolBuffers_OSX.xcodeproj/**/*", |
|
"ProtocolBuffers_tvOS.xcodeproj/**/*", |
|
"Tests/*.pddm", |
|
"Tests/*.txt", |
|
"Tests/*.plist", |
|
"Tests/*.proto", |
|
]) + [ |
|
".clang-format", |
|
"BUILD.bazel", |
|
"README.md", |
|
"Tests/golden_message", |
|
"Tests/golden_packed_fields_message", |
|
"generate_well_known_types.sh", |
|
], |
|
strip_prefix = strip_prefix.from_root(""), |
|
visibility = ["//pkg:__pkg__"], |
|
)
|
|
|