# Protobuf PHP runtime
#
# See also code generation logic under /src/google/protobuf/compiler/php.

load("@rules_pkg//pkg:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix")
load("@rules_pkg//pkg:tar.bzl", "pkg_tar")
load("//:protobuf_version.bzl", "PROTOBUF_PHP_VERSION", "PROTOC_VERSION")
load("//build_defs:internal_shell.bzl", "inline_sh_binary")
load("//conformance:defs.bzl", "conformance_test")
load("//php:internal_generated_files.bzl", "DESCRIPTOR_GENERATED_FILES", "WKT_GENERATED_FILES")
load("//upb/cmake:build_defs.bzl", "staleness_test")

# We must explicitly classify every checked-in php file because we can't
# distinguish gencode from hand-written code.  The former must be kept
# up-to-date though, using our staleness infrastructure.

_RUNTIME_SOURCES = [
    "src/Google/Protobuf/Descriptor.php",
    "src/Google/Protobuf/DescriptorPool.php",
    "src/Google/Protobuf/EnumDescriptor.php",
    "src/Google/Protobuf/EnumValueDescriptor.php",
    "src/Google/Protobuf/Field_Cardinality.php",
    "src/Google/Protobuf/Field_Kind.php",
    "src/Google/Protobuf/FieldDescriptor.php",
    "src/Google/Protobuf/Internal/AnyBase.php",
    "src/Google/Protobuf/Internal/CodedInputStream.php",
    "src/Google/Protobuf/Internal/CodedOutputStream.php",
    "src/Google/Protobuf/Internal/Descriptor.php",
    "src/Google/Protobuf/Internal/DescriptorPool.php",
    "src/Google/Protobuf/Internal/EnumBuilderContext.php",
    "src/Google/Protobuf/Internal/EnumDescriptor.php",
    "src/Google/Protobuf/Internal/FieldDescriptor.php",
    "src/Google/Protobuf/Internal/FileDescriptor.php",
    "src/Google/Protobuf/Internal/GetPublicDescriptorTrait.php",
    "src/Google/Protobuf/Internal/GPBDecodeException.php",
    "src/Google/Protobuf/Internal/GPBJsonWire.php",
    "src/Google/Protobuf/Internal/GPBLabel.php",
    "src/Google/Protobuf/Internal/GPBType.php",
    "src/Google/Protobuf/Internal/GPBUtil.php",
    "src/Google/Protobuf/Internal/GPBWire.php",
    "src/Google/Protobuf/Internal/GPBWireType.php",
    "src/Google/Protobuf/Internal/HasPublicDescriptorTrait.php",
    "src/Google/Protobuf/Internal/MapEntry.php",
    "src/Google/Protobuf/Internal/MapField.php",
    "src/Google/Protobuf/Internal/MapFieldIter.php",
    "src/Google/Protobuf/Internal/Message.php",
    "src/Google/Protobuf/Internal/MessageBuilderContext.php",
    "src/Google/Protobuf/Internal/OneofDescriptor.php",
    "src/Google/Protobuf/Internal/OneofField.php",
    "src/Google/Protobuf/Internal/RawInputStream.php",
    "src/Google/Protobuf/Internal/RepeatedField.php",
    "src/Google/Protobuf/Internal/RepeatedFieldIter.php",
    "src/Google/Protobuf/Internal/TimestampBase.php",
    "src/Google/Protobuf/OneofDescriptor.php",
]

filegroup(
    name = "source_files",
    srcs = _RUNTIME_SOURCES +
           ["generated/" + f for f in DESCRIPTOR_GENERATED_FILES + WKT_GENERATED_FILES] + [
        "composer.json",
        ":php_ext_source_files",
    ],
    visibility = [
        "//conformance:__pkg__",
        "//php:__pkg__",
    ],
)

################################################################################
# PHP Extension
################################################################################

inline_sh_binary(
    name = "build_extension",
    cmd = """
        mkdir -p php/ext/google/protobuf/third_party/utf8_range
        cp third_party/utf8_range/* php/ext/google/protobuf/third_party/utf8_range

        pushd  php/ext/google/protobuf
        phpize
        ./configure --with-php-config=$$(which php-config)
        make
        popd
    """,
)

genrule(
    name = "extension",
    srcs = [
        ":source_files",
        "//third_party/utf8_range:utf8_range_srcs",
        "generated/ext/google/protobuf/wkt.inc",
        "generated/ext/google/protobuf/php-upb.h",
        "generated/ext/google/protobuf/php-upb.c",
    ],
    outs = ["protobuf.so"],
    cmd = """
        rm php/ext/google/protobuf/wkt.inc php/ext/google/protobuf/php-upb.h php/ext/google/protobuf/php-upb.c
        cp $(location generated/ext/google/protobuf/wkt.inc) php/ext/google/protobuf
        cp $(location generated/ext/google/protobuf/php-upb.h) php/ext/google/protobuf
        cp $(location generated/ext/google/protobuf/php-upb.c) php/ext/google/protobuf
        ./$(execpath :build_extension) $@
        cp php/ext/google/protobuf/modules/protobuf.so $(OUTS)
    """,
    tools = [":build_extension"],
    visibility = ["//visibility:public"],
)

################################################################################
# Tests
################################################################################

conformance_test(
    name = "conformance_test",
    failure_list = "//conformance:failure_list_php.txt",
    maximum_edition = "2023",
    testee = "//conformance:conformance_php",
    text_format_failure_list = "//conformance:text_format_failure_list_php.txt",
)

conformance_test(
    name = "conformance_test_c",
    failure_list = "//conformance:failure_list_php_c.txt",
    maximum_edition = "2023",
    testee = "//conformance:conformance_php_c",
    text_format_failure_list = "//conformance:text_format_failure_list_php.txt",
)

genrule(
    name = "copy_php_amalgamation_h",
    srcs = ["//upb:php-upb.h"],
    outs = ["generated/ext/google/protobuf/php-upb.h"],
    cmd = "cp $< $@",
)

genrule(
    name = "copy_php_amalgamation_c",
    srcs = ["//upb:php-upb.c"],
    outs = ["generated/ext/google/protobuf/php-upb.c"],
    cmd = "cp $< $@",
)

staleness_test(
    name = "test_amalgamation_staleness",
    outs = [
        "ext/google/protobuf/php-upb.c",
        "ext/google/protobuf/php-upb.h",
        "ext/google/protobuf/wkt.inc",
    ],
    generated_pattern = "generated/%s",
    tags = ["manual"],
)

# The WKTs have to be checked in to support the Composer builds. This
# generule and test ensure the source are current.

# Make sure we error if new files start showing up, since that may go unnoticed.
_CHECK_GENCODE = """
for f in $$(find $(@D) -name "*.php"); do
    local=$$(echo $$f | sed "s:bazel-out.*.bin.php.::g");
    if [[ "$(OUTS)" != *$$local* ]]; then
        echo "Extra generated file $$local!  Please update the lists in php/internal_generated_files.bzl" && exit 1;
    fi
done
"""

# These must be combined due to windows sandbox isolation issues.
genrule(
    name = "gen_wkt_sources",
    srcs = [
        "//src/google/protobuf:well_known_type_protos",
        "//src/google/protobuf:descriptor_proto_srcs",
    ],
    outs = ["generated/" + wkt for wkt in WKT_GENERATED_FILES + DESCRIPTOR_GENERATED_FILES] + [
        "generated/ext/google/protobuf/wkt.inc",
    ],
    cmd = """
        $(execpath //:protoc) --php_out=internal_generate_c_wkt:$(RULEDIR)/generated/src --proto_path=src $(locations //src/google/protobuf:well_known_type_protos);
        $(execpath //:protoc) --php_out=internal:$(RULEDIR)/generated/src --proto_path=src $(location //src/google/protobuf:descriptor_proto_srcs);
    """ + _CHECK_GENCODE,
    tags = ["manual"],
    tools = ["//:protoc"],
)

staleness_test(
    name = "proto_staleness_test",
    outs = glob(
        ["src/**/*.php"],
        allow_empty = True,
        exclude = _RUNTIME_SOURCES + WKT_GENERATED_FILES + DESCRIPTOR_GENERATED_FILES,
    ) + WKT_GENERATED_FILES + DESCRIPTOR_GENERATED_FILES,
    generated_pattern = "generated/%s",
    tags = ["manual"],
)

################################################################################
# Distribution files
################################################################################

pkg_files(
    name = "dist_files",
    srcs = glob([
        "ext/google/protobuf/**/*",
        "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",
        ":source_files",
    ],
    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",
    ]) + [
        "ext/google/protobuf/config.m4",
        "ext/google/protobuf/config.w32",
        "ext/google/protobuf/wkt.inc",
        "//:LICENSE",
    ],
)

pkg_files(
    name = "utf8_range_files",
    srcs = [
        "//third_party/utf8_range:LICENSE",
        "//third_party/utf8_range:utf8_range_srcs",
    ],
    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",
    srcs = [
        ":pecl_release_files",
    ],
    out = "release_without_package.tgz",
    extension = "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,
        PROTOC_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",
    srcs = [
        ":generate_package_xml",
        ":pecl_release_files",
    ],
    out = "protobuf-%s.tgz" % PROTOBUF_PHP_VERSION,
    extension = "tgz",
)
