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