1load("@rules_java//java:defs.bzl", "java_proto_library") 2load("@rules_jvm_external//:defs.bzl", "java_export") 3load("@rules_pkg//:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix") 4load("@rules_proto//proto:defs.bzl", "proto_library") 5load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION") 6load("//java/internal:testing.bzl", "junit_tests") 7 8java_library( 9 name = "util", 10 srcs = glob([ 11 "src/main/java/com/google/protobuf/util/*.java", 12 ]), 13 visibility = ["//visibility:public"], 14 deps = [ 15 "//java/core", 16 "@maven//:com_google_code_findbugs_jsr305", 17 "@maven//:com_google_code_gson_gson", 18 "@maven//:com_google_errorprone_error_prone_annotations", 19 "@maven//:com_google_guava_guava", 20 "@maven//:com_google_j2objc_j2objc_annotations", 21 ], 22) 23 24# Bazel users, don't depend on this target, use :util. 25java_export( 26 name = "util_mvn", 27 deploy_env = ["//java/core"], 28 maven_coordinates = "com.google.protobuf:protobuf-java-util:%s" % PROTOBUF_JAVA_VERSION, 29 pom_template = "pom_template.xml", 30 tags = ["manual"], 31 visibility = ["//java:__pkg__"], 32 runtime_deps = [":util"], 33) 34 35filegroup( 36 name = "release", 37 srcs = [ 38 ":util_mvn-docs", 39 ":util_mvn-maven-source", 40 ":util_mvn-pom", 41 ":util_mvn-project", 42 ], 43 visibility = ["//java:__pkg__"], 44) 45 46proto_library( 47 name = "test_protos", 48 srcs = glob(["src/test/proto/**/*.proto"]), 49 deps = [ 50 "//:any_proto", 51 "//:duration_proto", 52 "//:field_mask_proto", 53 "//:struct_proto", 54 "//:timestamp_proto", 55 "//:wrappers_proto", 56 ], 57) 58 59java_proto_library( 60 name = "test_protos_java_proto", 61 deps = [":test_protos"], 62) 63 64junit_tests( 65 name = "tests", 66 package_name = "com.google.protobuf.util", 67 srcs = glob(["src/test/java/**/*.java"]), 68 deps = [ 69 ":test_protos_java_proto", 70 ":util", 71 "//java/core", 72 "//java/core:generic_test_protos_java_proto", 73 "@maven//:com_google_code_gson_gson", 74 "@maven//:com_google_guava_guava", 75 "@maven//:com_google_truth_truth", 76 "@maven//:junit_junit", 77 ], 78) 79 80pkg_files( 81 name = "dist_files", 82 srcs = glob([ 83 "src/main/**/*.java", 84 "src/test/**/*.java", 85 "src/test/**/*.proto", 86 ]) + [ 87 "BUILD.bazel", 88 "pom.xml", 89 "pom_template.xml", 90 ], 91 strip_prefix = strip_prefix.from_root(""), 92 visibility = ["//java:__pkg__"], 93) 94