|  | load("@rules_java//java:java_library.bzl", "java_library") | 
|  | load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix") | 
|  | load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION") | 
|  | load("//bazel:java_proto_library.bzl", "java_proto_library") | 
|  | load("//bazel:proto_library.bzl", "proto_library") | 
|  | load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_versioned_java_library") | 
|  | 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", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | 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", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | # 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", | 
|  | "@protobuf_maven_dev//:com_google_code_gson_gson", | 
|  | "@protobuf_maven_dev//:com_google_guava_guava", | 
|  | "@protobuf_maven_dev//:com_google_j2objc_j2objc_annotations", | 
|  | "@protobuf_maven_dev//:com_google_truth_truth", | 
|  | "@protobuf_maven_dev//:junit_junit", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | pkg_files( | 
|  | name = "dist_files", | 
|  | srcs = glob([ | 
|  | "src/main/**/*.java", | 
|  | "src/test/**/*.java", | 
|  | "src/test/**/*.proto", | 
|  | ]) + [ | 
|  | "BUILD.bazel", | 
|  | "pom_template.xml", | 
|  | ], | 
|  | strip_prefix = strip_prefix.from_root(""), | 
|  | visibility = ["//java:__pkg__"], | 
|  | ) |