load("@rules_java//java:defs.bzl", "java_proto_library")
load("@rules_pkg//:mappings.bzl", "pkg_files", "strip_prefix")
load("@rules_proto//proto:defs.bzl", "proto_library")
load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_versioned_java_library")
load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION")
load("//java/internal:testing.bzl", "junit_tests")

java_library(
    name = "util",
    srcs = glob([
        "src/main/java/com/google/protobuf/util/*.java",
    ]),
    visibility = ["//visibility:public"],
    deps = [
        "//java/core",
        "@maven//:com_google_code_findbugs_jsr305",
        "@maven//:com_google_code_gson_gson",
        "@maven//:com_google_errorprone_error_prone_annotations",
        "@maven//:com_google_guava_guava",
        "@maven//:com_google_j2objc_j2objc_annotations",
    ],
)

protobuf_versioned_java_library(
    name = "util_bundle",
    srcs = glob([
        "src/main/java/com/google/protobuf/util/*.java",
    ]),
    automatic_module_name = "com.google.protobuf.util",
    bundle_description = "Utilities for Protocol Buffers",
    bundle_name = "Protocol Buffers [Util]",
    bundle_symbolic_name = "com.google.protobuf.util",
    visibility = ["//visibility:public"],
    deps = [
        "//java/core",
        "@maven//:com_google_code_findbugs_jsr305",
        "@maven//:com_google_code_gson_gson",
        "@maven//:com_google_errorprone_error_prone_annotations",
        "@maven//:com_google_guava_guava",
        "@maven//:com_google_j2objc_j2objc_annotations",
    ],
)

# Bazel users, don't depend on this target, use :util.
protobuf_java_export(
    name = "util_mvn",
    deploy_env = ["//java/core"],
    maven_coordinates = "com.google.protobuf:protobuf-java-util:%s" % PROTOBUF_JAVA_VERSION,
    pom_template = "pom_template.xml",
    tags = ["manual"],
    visibility = ["//java:__pkg__"],
    runtime_deps = [":util_bundle"],
)

filegroup(
    name = "release",
    srcs = [
        ":util_mvn-docs",
        ":util_mvn-maven-source",
        ":util_mvn-pom",
        ":util_mvn-project",
    ],
    visibility = ["//java:__pkg__"],
)

proto_library(
    name = "test_protos",
    srcs = glob(["src/test/proto/**/*.proto"]),
    deps = [
        "//:any_proto",
        "//:duration_proto",
        "//:field_mask_proto",
        "//:struct_proto",
        "//:timestamp_proto",
        "//:wrappers_proto",
    ],
)

java_proto_library(
    name = "test_protos_java_proto",
    deps = [":test_protos"],
)

junit_tests(
    name = "tests",
    package_name = "com.google.protobuf.util",
    srcs = glob(["src/test/java/**/*.java"]),
    deps = [
        ":test_protos_java_proto",
        ":util",
        "//java/core",
        "//java/core:generic_test_protos_java_proto",
        "@maven//:com_google_code_gson_gson",
        "@maven//:com_google_guava_guava",
        "@maven//:com_google_truth_truth",
        "@maven//:junit_junit",
    ],
)

pkg_files(
    name = "dist_files",
    srcs = glob([
        "src/main/**/*.java",
        "src/test/**/*.java",
        "src/test/**/*.proto",
    ]) + [
        "BUILD.bazel",
        "pom.xml",
        "pom_template.xml",
    ],
    strip_prefix = strip_prefix.from_root(""),
    visibility = ["//java:__pkg__"],
)
