# 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 = """
        mkdir -p php/ext/google/protobuf
        cp -f $(location generated/ext/google/protobuf/wkt.inc) php/ext/google/protobuf
        cp -f $(location generated/ext/google/protobuf/php-upb.h) php/ext/google/protobuf
        cp -f $(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",
        ],
        exclude = [
            "*/php-upb.*",
            "*/wkt.inc",
        ],
    ) + [
        "ext/google/protobuf/config.m4",
        "ext/google/protobuf/config.w32",
        "//: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_files(
    name = "generated_files",
    srcs = [
        "ext/google/protobuf/php-upb.c",
        "ext/google/protobuf/php-upb.h",
        "ext/google/protobuf/wkt.inc",
    ],
    prefix = "third_party/utf8_range",
)

pkg_filegroup(
    name = "pecl_release_files",
    srcs = [
        ":generated_files",
        ":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",
)
