xref: /aosp_15_r20/external/cronet/third_party/protobuf/php/BUILD.bazel (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
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)