1*6777b538SAndroid Build Coastguard Worker# Protobuf PHP runtime 2*6777b538SAndroid Build Coastguard Worker# 3*6777b538SAndroid Build Coastguard Worker# See also code generation logic under /src/google/protobuf/compiler/php. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Workerload("@rules_pkg//:pkg.bzl", "pkg_tar") 6*6777b538SAndroid Build Coastguard Workerload("@rules_pkg//:mappings.bzl", "pkg_files", "pkg_filegroup", "strip_prefix") 7*6777b538SAndroid Build Coastguard Workerload("//:protobuf_version.bzl", "PROTOBUF_PHP_VERSION") 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Workerpkg_files( 10*6777b538SAndroid Build Coastguard Worker name = "dist_files", 11*6777b538SAndroid Build Coastguard Worker srcs = glob([ 12*6777b538SAndroid Build Coastguard Worker "ext/google/protobuf/**/*", 13*6777b538SAndroid Build Coastguard Worker "src/GPBMetadata/Google/Protobuf/**/*.php", 14*6777b538SAndroid Build Coastguard Worker "src/Google/Protobuf/**/*.php", 15*6777b538SAndroid Build Coastguard Worker "tests/*.php", 16*6777b538SAndroid Build Coastguard Worker "tests/*.sh", 17*6777b538SAndroid Build Coastguard Worker "tests/generated_previous/**/*.php", 18*6777b538SAndroid Build Coastguard Worker "tests/proto/**/*.proto", 19*6777b538SAndroid Build Coastguard Worker "tests/proto_previous/*.proto", 20*6777b538SAndroid Build Coastguard Worker ]) + [ 21*6777b538SAndroid Build Coastguard Worker "BUILD.bazel", 22*6777b538SAndroid Build Coastguard Worker "README.md", 23*6777b538SAndroid Build Coastguard Worker "REFCOUNTING.md", 24*6777b538SAndroid Build Coastguard Worker "composer.json", 25*6777b538SAndroid Build Coastguard Worker "generate_descriptor_protos.sh", 26*6777b538SAndroid Build Coastguard Worker "generate_test_protos.sh", 27*6777b538SAndroid Build Coastguard Worker "release.sh", 28*6777b538SAndroid Build Coastguard Worker "src/phpdoc.dist.xml", 29*6777b538SAndroid Build Coastguard Worker "tests/valgrind.supp", 30*6777b538SAndroid Build Coastguard Worker ], 31*6777b538SAndroid Build Coastguard Worker prefix = "php", 32*6777b538SAndroid Build Coastguard Worker strip_prefix = strip_prefix.from_pkg(""), 33*6777b538SAndroid Build Coastguard Worker visibility = ["//pkg:__pkg__"], 34*6777b538SAndroid Build Coastguard Worker) 35*6777b538SAndroid Build Coastguard Worker 36*6777b538SAndroid Build Coastguard Worker################################################################################ 37*6777b538SAndroid Build Coastguard Worker# PECL .tgz Release 38*6777b538SAndroid Build Coastguard Worker################################################################################ 39*6777b538SAndroid Build Coastguard Worker 40*6777b538SAndroid Build Coastguard Workerpkg_files( 41*6777b538SAndroid Build Coastguard Worker name = "php_ext_source_files", 42*6777b538SAndroid Build Coastguard Worker srcs = glob([ 43*6777b538SAndroid Build Coastguard Worker "ext/google/protobuf/*.h", 44*6777b538SAndroid Build Coastguard Worker "ext/google/protobuf/*.c", 45*6777b538SAndroid Build Coastguard Worker ]) + [ 46*6777b538SAndroid Build Coastguard Worker "//:LICENSE", 47*6777b538SAndroid Build Coastguard Worker "ext/google/protobuf/config.m4", 48*6777b538SAndroid Build Coastguard Worker "ext/google/protobuf/wkt.inc", 49*6777b538SAndroid Build Coastguard Worker ], 50*6777b538SAndroid Build Coastguard Worker) 51*6777b538SAndroid Build Coastguard Worker 52*6777b538SAndroid Build Coastguard Workerpkg_files( 53*6777b538SAndroid Build Coastguard Worker name = "utf8_range_files", 54*6777b538SAndroid Build Coastguard Worker srcs = [ 55*6777b538SAndroid Build Coastguard Worker "//third_party/utf8_range:utf8_range_srcs", 56*6777b538SAndroid Build Coastguard Worker "//third_party/utf8_range:LICENSE", 57*6777b538SAndroid Build Coastguard Worker 58*6777b538SAndroid Build Coastguard Worker ], 59*6777b538SAndroid Build Coastguard Worker prefix = "third_party/utf8_range", 60*6777b538SAndroid Build Coastguard Worker) 61*6777b538SAndroid Build Coastguard Worker 62*6777b538SAndroid Build Coastguard Workerpkg_filegroup( 63*6777b538SAndroid Build Coastguard Worker name = "pecl_release_files", 64*6777b538SAndroid Build Coastguard Worker srcs = [ 65*6777b538SAndroid Build Coastguard Worker ":php_ext_source_files", 66*6777b538SAndroid Build Coastguard Worker ":utf8_range_files", 67*6777b538SAndroid Build Coastguard Worker ], 68*6777b538SAndroid Build Coastguard Worker prefix = "protobuf-%s" % PROTOBUF_PHP_VERSION, 69*6777b538SAndroid Build Coastguard Worker) 70*6777b538SAndroid Build Coastguard Worker 71*6777b538SAndroid Build Coastguard Worker# PECL .tgz without package.xml 72*6777b538SAndroid Build Coastguard Workerpkg_tar( 73*6777b538SAndroid Build Coastguard Worker name = "release_without_package", 74*6777b538SAndroid Build Coastguard Worker extension = "tgz", 75*6777b538SAndroid Build Coastguard Worker srcs = [ 76*6777b538SAndroid Build Coastguard Worker ":pecl_release_files", 77*6777b538SAndroid Build Coastguard Worker ], 78*6777b538SAndroid Build Coastguard Worker out = "release_without_package.tgz", 79*6777b538SAndroid Build Coastguard Worker) 80*6777b538SAndroid Build Coastguard Worker 81*6777b538SAndroid Build Coastguard Worker# Generate PECL package.xml 82*6777b538SAndroid Build Coastguard Workergenrule( 83*6777b538SAndroid Build Coastguard Worker name = "generate_package_xml", 84*6777b538SAndroid Build Coastguard Worker srcs = [ 85*6777b538SAndroid Build Coastguard Worker ":release_without_package", 86*6777b538SAndroid Build Coastguard Worker "ext/google/protobuf/template_package.xml", 87*6777b538SAndroid Build Coastguard Worker ], 88*6777b538SAndroid Build Coastguard Worker outs = ["package.xml"], 89*6777b538SAndroid Build Coastguard Worker cmd = " ".join([ 90*6777b538SAndroid Build Coastguard Worker "$(location ext/google/protobuf/generate_package_xml.sh)", 91*6777b538SAndroid Build Coastguard Worker "$(location ext/google/protobuf/template_package.xml)", 92*6777b538SAndroid Build Coastguard Worker PROTOBUF_PHP_VERSION, 93*6777b538SAndroid Build Coastguard Worker "$$(tar -tf $(location :release_without_package) | sed -z -e 's;\\n;,;g')", 94*6777b538SAndroid Build Coastguard Worker "$(location package.xml)" 95*6777b538SAndroid Build Coastguard Worker ]), 96*6777b538SAndroid Build Coastguard Worker tools = ["ext/google/protobuf/generate_package_xml.sh"], 97*6777b538SAndroid Build Coastguard Worker) 98*6777b538SAndroid Build Coastguard Worker 99*6777b538SAndroid Build Coastguard Workerpkg_tar( 100*6777b538SAndroid Build Coastguard Worker name = "release", 101*6777b538SAndroid Build Coastguard Worker extension = "tgz", 102*6777b538SAndroid Build Coastguard Worker srcs = [ 103*6777b538SAndroid Build Coastguard Worker ":pecl_release_files", 104*6777b538SAndroid Build Coastguard Worker ":generate_package_xml", 105*6777b538SAndroid Build Coastguard Worker ], 106*6777b538SAndroid Build Coastguard Worker out = "protobuf-%s.tgz" % PROTOBUF_PHP_VERSION, 107*6777b538SAndroid Build Coastguard Worker)