load(
    "@rules_pkg//:mappings.bzl",
    "pkg_attributes",
    "pkg_files",
)
load("@rules_pkg//:pkg.bzl", "pkg_zip")
load("//:protobuf_release.bzl", "package_naming")
load(":build_systems.bzl", "gen_file_lists")
load(":cc_dist_library.bzl", "cc_dist_library")

package_naming(
    name = "protobuf_pkg_naming",
)

pkg_files(
    name = "wkt_protos_files",
    srcs = [
        "//:well_known_type_protos",
        "//src/google/protobuf:descriptor_proto_srcs",
    ],
    prefix = "include/google/protobuf",
    visibility = ["//visibility:private"],
)

pkg_files(
    name = "compiler_plugin_protos_files",
    srcs = [
        "//src/google/protobuf/compiler:compiler_plugin_protos_files",
    ],
    prefix = "include/google/protobuf/compiler",
    visibility = ["//visibility:private"],
)

################################################################################
# Generates protoc release artifacts.
################################################################################

genrule(
    name = "protoc_readme",
    outs = ["readme.txt"],
    cmd = """
echo "Protocol Buffers - Google's data interchange format
Copyright 2008 Google Inc.
https://developers.google.com/protocol-buffers/
This package contains a precompiled binary version of the protocol buffer
compiler (protoc). This binary is intended for users who want to use Protocol
Buffers in languages other than C++ but do not want to compile protoc
themselves. To install, simply place this binary somewhere in your PATH.
If you intend to use the included well known types then don't forget to
copy the contents of the 'include' directory somewhere as well, for example
into '/usr/local/include/'.
Please refer to our official github site for more installation instructions:
  https://github.com/protocolbuffers/protobuf" > $@
    """,
    visibility = ["//visibility:private"],
)

genrule(
    name = "rename_protoc",
    srcs = ["//:protoc_static"],
    outs = ["bin/protoc"],
    cmd = "cp $< $@",
    tags = ["manual"],
)

genrule(
    name = "rename_protoc_exe",
    srcs = ["//:protoc_static"],
    outs = ["bin/protoc.exe"],
    cmd = "cp $< $@",
    tags = ["manual"],
)

pkg_files(
    name = "protoc_files",
    srcs = select({
        "//build_defs:config_win": ["bin/protoc.exe"],
        "//conditions:default": ["bin/protoc"],
    }),
    attributes = pkg_attributes(mode = "0555"),
    prefix = "bin/",
    visibility = ["//visibility:private"],
)

pkg_zip(
    name = "protoc_release",
    srcs = [
        ":compiler_plugin_protos_files",
        ":protoc_files",
        ":protoc_readme",
        ":wkt_protos_files",
    ],
    package_file_name = "protoc-{version}-{platform}.zip",
    package_variables = ":protobuf_pkg_naming",
)

################################################################################
# Generated file lists for build systems
################################################################################

gen_file_lists(
    name = "gen_src_file_lists",
    testonly = 1,
    out_stem = "src_file_lists",
    src_libs = {
        # {[source rule]: [name in generated file]}
        # Libraries:
        ":protobuf": "libprotobuf",
        ":protobuf_lite": "libprotobuf_lite",
        ":protoc": "libprotoc",
        # Protos:
        "//src/google/protobuf:well_known_type_protos": "wkt_protos",
        "//src/google/protobuf:cpp_features_proto": "cpp_features_proto",
        "//src/google/protobuf:descriptor_proto": "descriptor_proto",
        "//src/google/protobuf/compiler:plugin_proto": "plugin_proto",
        "//java/core:java_features_proto": "java_features_proto,src/google/protobuf/compiler/java/",

        # Test libraries:
        ":common_test": "common_test",
        ":lite_test_util": "lite_test_util",
        ":test_util": "test_util",
        # Tests and test-only protos:
        "//src/google/protobuf:full_test_srcs": "protobuf_test",
        "//src/google/protobuf:test_proto_all_srcs": "protobuf_test_protos",
        "//src/google/protobuf:lite_test_srcs": "protobuf_lite_test",
        "//src/google/protobuf:lite_test_proto_srcs": "protobuf_lite_test_protos",
        "//src/google/protobuf/compiler:fake_plugin_srcs": "fake_plugin",
        "//src/google/protobuf/compiler:test_srcs": "compiler_test",
        "//src/google/protobuf/compiler:test_proto_srcs": "compiler_test_protos",
        "//src/google/protobuf/compiler:test_plugin_srcs": "test_plugin",
        "//src/google/protobuf/io:test_srcs": "io_test",
        "//src/google/protobuf/util:test_srcs": "util_test",
        "//src/google/protobuf/util:test_proto_srcs": "util_test_protos",
        "//src/google/protobuf/stubs:test_srcs": "stubs_test",
    },
)

################################################################################
# Protobuf runtime libraries.
################################################################################

cc_dist_library(
    name = "protobuf_lite",
    linkopts = select({
        "//build_defs:config_msvc": [],
        "//conditions:default": ["-lpthread"],
    }),
    tags = ["manual"],
    deps = [
        "//src/google/protobuf:arena_align",
        "//src/google/protobuf:protobuf_lite",
    ],
)

cc_dist_library(
    name = "protobuf",
    linkopts = select({
        "//build_defs:config_msvc": [],
        "//conditions:default": [
            "-lz",
            "-lpthread",
        ],
    }),
    tags = ["manual"],
    deps = [
        "//src/google/protobuf",
        "//src/google/protobuf:arena_align",
        "//src/google/protobuf:cmake_wkt_cc_proto",
        "//src/google/protobuf/compiler:importer",
        "//src/google/protobuf/json",
        "//src/google/protobuf/util:delimited_message_util",
        "//src/google/protobuf/util:differencer",
        "//src/google/protobuf/util:field_mask_util",
        "//src/google/protobuf/util:json_util",
        "//src/google/protobuf/util:time_util",
        "//src/google/protobuf/util:type_resolver_util",
    ],
)

cc_dist_library(
    name = "protoc",
    dist_deps = [
        ":protobuf",
        ":protobuf_lite",
    ],
    tags = ["manual"],
    deps = [
        "//src/google/protobuf/compiler:command_line_interface",
        "//src/google/protobuf/compiler/cpp",
        "//src/google/protobuf/compiler/csharp",
        "//src/google/protobuf/compiler/java",
        "//src/google/protobuf/compiler/objectivec",
        "//src/google/protobuf/compiler/php",
        "//src/google/protobuf/compiler/python",
        "//src/google/protobuf/compiler/ruby",
        "//src/google/protobuf/compiler/rust",
    ],
)

cc_dist_library(
    name = "lite_test_util",
    testonly = 1,
    dist_deps = [":protobuf"],
    tags = ["manual"],
    deps = ["//src/google/protobuf:lite_test_util"],
)

cc_dist_library(
    name = "test_util",
    testonly = 1,
    dist_deps = [
        ":common_test",
        ":lite_test_util",
        ":protoc",
        ":protobuf",
        ":protobuf_lite",
    ],
    tags = ["manual"],
    deps = [
        "//src/google/protobuf:lite_test_util",
        "//src/google/protobuf:test_util",
        "//src/google/protobuf:test_util2",
        "//src/google/protobuf:unredacted_debug_format_for_test",
        "//src/google/protobuf/compiler:annotation_test_util",
        "//src/google/protobuf/compiler/cpp:unittest_lib",
        "//src/google/protobuf/io:test_zero_copy_stream",
    ],
)

cc_dist_library(
    name = "common_test",
    testonly = 1,
    dist_deps = [
        ":protobuf",
        ":protobuf_lite",
        ":protoc",
    ],
    tags = ["manual"],
    deps = [
        "//src/google/protobuf:internal_visibility_for_testing",
        "//src/google/protobuf:test_textproto",
        "//src/google/protobuf/compiler:command_line_interface_tester",
        "//src/google/protobuf/compiler:mock_code_generator",
        "//src/google/protobuf/testing",
    ],
)
