load("@rules_cc//cc:cc_library.bzl", "cc_library")
load("@rules_cc//cc:cc_test.bzl", "cc_test")
load("//bazel:proto_library.bzl", "proto_library")
load(
    "//bazel:upb_proto_library.bzl",
    "upb_c_proto_library",
    "upb_proto_reflection_library",
)

package(default_applicable_licenses = ["//:license"])

licenses(["notice"])

# Def to Proto

cc_library(
    name = "def_to_proto",
    srcs = ["def_to_proto.c"],
    hdrs = ["def_to_proto.h"],
    visibility = ["//visibility:public"],
    deps = [
        "//src/google/protobuf:descriptor_upb_c_proto",
        "//upb/base",
        "//upb/port",
        "//upb/reflection",
        "//upb/reflection:internal",
    ],
)

proto_library(
    name = "def_to_proto_test_proto",
    srcs = [
        "def_to_proto_public_import_test.proto",
        "def_to_proto_regular_import_test.proto",
        "def_to_proto_test.proto",
    ],
)

upb_c_proto_library(
    name = "def_to_proto_test_upb_proto",
    deps = ["def_to_proto_test_proto"],
)

upb_proto_reflection_library(
    name = "def_to_proto_test_upb_proto_reflection",
    deps = ["def_to_proto_test_proto"],
)

cc_library(
    name = "def_to_proto_test_lib",
    testonly = 1,
    hdrs = ["def_to_proto_test.h"],
    visibility = ["//upb:__pkg__"],
    deps = [
        ":def_to_proto",
        "//src/google/protobuf",
        "//src/google/protobuf:descriptor_upb_c_proto",
        "//src/google/protobuf/util:differencer",
        "//upb/base",
        "//upb/mem",
        "//upb/reflection:internal",
        "@googletest//:gtest",
    ],
)

cc_test(
    name = "def_to_proto_test",
    srcs = ["def_to_proto_test.cc"],
    deps = [
        ":def_to_proto",
        ":def_to_proto_editions_test_upb_proto",
        ":def_to_proto_editions_test_upb_proto_reflection",
        ":def_to_proto_test_lib",
        ":def_to_proto_test_upb_proto",
        ":def_to_proto_test_upb_proto_reflection",
        "//src/google/protobuf",
        "//src/google/protobuf:descriptor_upb_c_proto",
        "//src/google/protobuf:descriptor_upb_reflection_proto",
        "//src/google/protobuf/util:differencer",
        "//upb/base",
        "//upb/mem",
        "//upb/reflection",
        "//upb/test:parse_text_proto",
        "@abseil-cpp//absl/strings",
        "@googletest//:gtest",
        "@googletest//:gtest_main",
    ],
)

# Required fields

cc_library(
    name = "required_fields",
    srcs = ["required_fields.c"],
    hdrs = ["required_fields.h"],
    visibility = ["//visibility:public"],
    deps = [
        "//upb/base",
        "//upb/mem",
        "//upb/message",
        "//upb/port",
        "//upb/reflection",
    ],
)

proto_library(
    name = "def_to_proto_editions_test_proto",
    srcs = ["def_to_proto_editions_test.proto"],
)

upb_c_proto_library(
    name = "def_to_proto_editions_test_upb_proto",
    deps = ["def_to_proto_editions_test_proto"],
)

upb_proto_reflection_library(
    name = "def_to_proto_editions_test_upb_proto_reflection",
    deps = ["def_to_proto_editions_test_proto"],
)

proto_library(
    name = "required_fields_test_proto",
    srcs = [
        "required_fields_editions_test.proto",
        "required_fields_test.proto",
    ],
)

upb_c_proto_library(
    name = "required_fields_test_upb_proto",
    deps = ["required_fields_test_proto"],
)

upb_proto_reflection_library(
    name = "required_fields_test_upb_proto_reflection",
    deps = ["required_fields_test_proto"],
)

cc_test(
    name = "required_fields_test",
    srcs = ["required_fields_test.cc"],
    deps = [
        ":required_fields",
        ":required_fields_test_upb_proto",
        ":required_fields_test_upb_proto_reflection",
        "//upb/base",
        "//upb/json",
        "//upb/mem",
        "//upb/reflection",
        "//upb/reflection:internal",
        "@abseil-cpp//absl/strings",
        "@googletest//:gtest",
        "@googletest//:gtest_main",
    ],
)

filegroup(
    name = "source_files",
    srcs = [
        "def_to_proto.c",
        "def_to_proto.h",
        "required_fields.c",
        "required_fields.h",
    ],
    visibility = ["//python/dist:__pkg__"],
)

filegroup(
    name = "test_srcs",
    srcs = glob(
        [
            "**/*test.cc",
        ],
        exclude = ["def_to_proto_fuzz_test.cc"],
    ),
    visibility = ["//upb:__pkg__"],
)

filegroup(
    name = "test_protos",
    srcs = glob(
        [
            "**/*test.proto",
        ],
    ),
    visibility = ["//upb:__pkg__"],
)
