| 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__"], |
| ) |