xref: /aosp_15_r20/external/protobuf/java/util/BUILD.bazel (revision 1b3f573f81763fcece89efc2b6a5209149e44ab8)
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