1load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix") 2load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION") 3load("//bazel:java_proto_library.bzl", "java_proto_library") 4load("//bazel:proto_library.bzl", "proto_library") 5load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_versioned_java_library") 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 "@protobuf_maven//:com_google_code_findbugs_jsr305", 17 "@protobuf_maven//:com_google_code_gson_gson", 18 "@protobuf_maven//:com_google_errorprone_error_prone_annotations", 19 "@protobuf_maven//:com_google_guava_guava", 20 "@protobuf_maven//:com_google_j2objc_j2objc_annotations", 21 ], 22) 23 24protobuf_versioned_java_library( 25 name = "util_bundle", 26 srcs = glob([ 27 "src/main/java/com/google/protobuf/util/*.java", 28 ]), 29 automatic_module_name = "com.google.protobuf.util", 30 bundle_description = "Utilities for Protocol Buffers", 31 bundle_name = "Protocol Buffers [Util]", 32 bundle_symbolic_name = "com.google.protobuf.util", 33 visibility = ["//visibility:public"], 34 deps = [ 35 "//java/core", 36 "@protobuf_maven//:com_google_code_findbugs_jsr305", 37 "@protobuf_maven//:com_google_code_gson_gson", 38 "@protobuf_maven//:com_google_errorprone_error_prone_annotations", 39 "@protobuf_maven//:com_google_guava_guava", 40 "@protobuf_maven//:com_google_j2objc_j2objc_annotations", 41 ], 42) 43 44# Bazel users, don't depend on this target, use :util. 45protobuf_java_export( 46 name = "util_mvn", 47 deploy_env = ["//java/core"], 48 maven_coordinates = "com.google.protobuf:protobuf-java-util:%s" % PROTOBUF_JAVA_VERSION, 49 pom_template = "pom_template.xml", 50 tags = ["manual"], 51 visibility = ["//java:__pkg__"], 52 runtime_deps = [":util_bundle"], 53) 54 55filegroup( 56 name = "release", 57 srcs = [ 58 ":util_mvn-docs", 59 ":util_mvn-maven-source", 60 ":util_mvn-pom", 61 ":util_mvn-project", 62 ], 63 visibility = ["//java:__pkg__"], 64) 65 66proto_library( 67 name = "test_protos", 68 srcs = glob(["src/test/proto/**/*.proto"]), 69 deps = [ 70 "//:any_proto", 71 "//:duration_proto", 72 "//:field_mask_proto", 73 "//:struct_proto", 74 "//:timestamp_proto", 75 "//:wrappers_proto", 76 ], 77) 78 79java_proto_library( 80 name = "test_protos_java_proto", 81 deps = [":test_protos"], 82) 83 84junit_tests( 85 name = "tests", 86 package_name = "com.google.protobuf.util", 87 srcs = glob(["src/test/java/**/*.java"]), 88 deps = [ 89 ":test_protos_java_proto", 90 ":util", 91 "//java/core", 92 "//java/core:generic_test_protos_java_proto", 93 "@protobuf_maven//:com_google_code_gson_gson", 94 "@protobuf_maven//:com_google_guava_guava", 95 "@protobuf_maven//:com_google_truth_truth", 96 "@protobuf_maven//:junit_junit", 97 ], 98) 99 100pkg_files( 101 name = "dist_files", 102 srcs = glob([ 103 "src/main/**/*.java", 104 "src/test/**/*.java", 105 "src/test/**/*.proto", 106 ]) + [ 107 "BUILD.bazel", 108 "pom_template.xml", 109 ], 110 strip_prefix = strip_prefix.from_root(""), 111 visibility = ["//java:__pkg__"], 112) 113