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.
107 lines
2.6 KiB
107 lines
2.6 KiB
# Protobuf PHP runtime |
|
# |
|
# See also code generation logic under /src/google/protobuf/compiler/php. |
|
|
|
load("@rules_pkg//:pkg.bzl", "pkg_tar") |
|
load("@rules_pkg//:mappings.bzl", "pkg_files", "pkg_filegroup", "strip_prefix") |
|
load("//:protobuf_version.bzl", "PROTOBUF_PHP_VERSION") |
|
|
|
pkg_files( |
|
name = "dist_files", |
|
srcs = glob([ |
|
"ext/google/protobuf/**/*", |
|
"src/GPBMetadata/Google/Protobuf/**/*.php", |
|
"src/Google/Protobuf/**/*.php", |
|
"tests/*.php", |
|
"tests/*.sh", |
|
"tests/generated_previous/**/*.php", |
|
"tests/proto/**/*.proto", |
|
"tests/proto_previous/*.proto", |
|
]) + [ |
|
"BUILD.bazel", |
|
"README.md", |
|
"REFCOUNTING.md", |
|
"composer.json", |
|
"generate_descriptor_protos.sh", |
|
"generate_test_protos.sh", |
|
"release.sh", |
|
"src/phpdoc.dist.xml", |
|
"tests/valgrind.supp", |
|
], |
|
prefix = "php", |
|
strip_prefix = strip_prefix.from_pkg(""), |
|
visibility = ["//pkg:__pkg__"], |
|
) |
|
|
|
################################################################################ |
|
# PECL .tgz Release |
|
################################################################################ |
|
|
|
pkg_files( |
|
name = "php_ext_source_files", |
|
srcs = glob([ |
|
"ext/google/protobuf/*.h", |
|
"ext/google/protobuf/*.c", |
|
]) + [ |
|
"//:LICENSE", |
|
"ext/google/protobuf/config.m4", |
|
"ext/google/protobuf/wkt.inc", |
|
], |
|
) |
|
|
|
pkg_files( |
|
name = "utf8_range_files", |
|
srcs = [ |
|
"//third_party/utf8_range:utf8_range_srcs", |
|
"//third_party/utf8_range:LICENSE", |
|
|
|
], |
|
prefix = "third_party/utf8_range", |
|
) |
|
|
|
pkg_filegroup( |
|
name = "pecl_release_files", |
|
srcs = [ |
|
":php_ext_source_files", |
|
":utf8_range_files", |
|
], |
|
prefix = "protobuf-%s" % PROTOBUF_PHP_VERSION, |
|
) |
|
|
|
# PECL .tgz without package.xml |
|
pkg_tar( |
|
name = "release_without_package", |
|
extension = "tgz", |
|
srcs = [ |
|
":pecl_release_files", |
|
], |
|
out = "release_without_package.tgz", |
|
) |
|
|
|
# Generate PECL package.xml |
|
genrule( |
|
name = "generate_package_xml", |
|
srcs = [ |
|
":release_without_package", |
|
"ext/google/protobuf/template_package.xml", |
|
], |
|
outs = ["package.xml"], |
|
cmd = " ".join([ |
|
"$(location ext/google/protobuf/generate_package_xml.sh)", |
|
"$(location ext/google/protobuf/template_package.xml)", |
|
PROTOBUF_PHP_VERSION, |
|
"$$(tar -tf $(location :release_without_package) | sed -z -e 's;\\n;,;g')", |
|
"$(location package.xml)" |
|
]), |
|
tools = ["ext/google/protobuf/generate_package_xml.sh"], |
|
) |
|
|
|
pkg_tar( |
|
name = "release", |
|
extension = "tgz", |
|
srcs = [ |
|
":pecl_release_files", |
|
":generate_package_xml", |
|
], |
|
out = "protobuf-%s.tgz" % PROTOBUF_PHP_VERSION, |
|
) |