|
|
|
load("@rules_java//java:defs.bzl", "java_proto_library")
|
|
|
|
load("@rules_pkg//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__"],
|
|
|
|
)
|