| load("@rules_java//java:java_library.bzl", "java_library") | |
| load("//:protobuf.bzl", "internal_gen_well_known_protos_java") | |
| 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") | |
| internal_gen_well_known_protos_java( | |
| name = "gen_language_neutral_protos_java", | |
| deps = [ | |
| "//:json_enumvalue_options_proto", | |
| "//:json_options_proto", | |
| ], | |
| ) | |
| java_library( | |
| name = "util", | |
| srcs = glob([ | |
| "src/main/java/com/google/protobuf/util/*.java", | |
| ]) + [ | |
| ":gen_language_neutral_protos_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", | |
| ]) + [ | |
| ":gen_language_neutral_protos_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", | |
| resources = [ | |
| "//src/google/protobuf:json_options_proto_srcs", | |
| ], | |
| 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"]), | |
| option_deps = [ | |
| "//:json_options_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"], | |
| ) | |
| java_proto_library( | |
| name = "json_enumvalue_options_java_proto", | |
| visibility = ["//visibility:public"], | |
| deps = ["//:json_enumvalue_options_proto"], | |
| ) | |
| 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", | |
| ], | |
| ) |