xref: /aosp_15_r20/external/protobuf/php/BUILD.bazel (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
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)