Adam Cozzette | 562fc94 | 2021-08-03 11:58:05 -0700 | [diff] [blame] | 1 | load("@rules_java//java:defs.bzl", "java_proto_library") |
| 2 | load("@rules_jvm_external//:defs.bzl", "java_export") |
David L. Jones | d76f8c8 | 2022-04-22 16:58:16 -0700 | [diff] [blame] | 3 | load("@rules_pkg//:mappings.bzl", "pkg_filegroup", "pkg_files", "strip_prefix") |
Joshua Haberman | f5fd897 | 2021-04-30 16:12:50 -0700 | [diff] [blame] | 4 | load("@rules_proto//proto:defs.bzl", "proto_library") |
zhangskz | b37b613 | 2022-05-03 11:58:31 -0400 | [diff] [blame] | 5 | load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION") |
Joshua Haberman | f5fd897 | 2021-04-30 16:12:50 -0700 | [diff] [blame] | 6 | load("//java/internal:testing.bzl", "junit_tests") |
Yannic | f0cb9cd | 2020-02-13 22:04:14 +0100 | [diff] [blame] | 7 | |
Joshua Haberman | e5c570b | 2021-09-09 08:21:42 -0700 | [diff] [blame] | 8 | java_library( |
Yannic | f0cb9cd | 2020-02-13 22:04:14 +0100 | [diff] [blame] | 9 | name = "util", |
| 10 | srcs = glob([ |
| 11 | "src/main/java/com/google/protobuf/util/*.java", |
| 12 | ]), |
Yannic | f0cb9cd | 2020-02-13 22:04:14 +0100 | [diff] [blame] | 13 | visibility = ["//visibility:public"], |
| 14 | deps = [ |
Yannic | f0cb9cd | 2020-02-13 22:04:14 +0100 | [diff] [blame] | 15 | "//java/core", |
Deanna Garcia | ab4585a | 2022-02-01 18:24:53 +0000 | [diff] [blame] | 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", |
Yannic | f0cb9cd | 2020-02-13 22:04:14 +0100 | [diff] [blame] | 21 | ], |
| 22 | ) |
Deanna Garcia | ab4585a | 2022-02-01 18:24:53 +0000 | [diff] [blame] | 23 | |
Joshua Haberman | e5c570b | 2021-09-09 08:21:42 -0700 | [diff] [blame] | 24 | # Bazel users, don't depend on this target, use :util. |
| 25 | java_export( |
| 26 | name = "util_mvn", |
David L. Jones | d76f8c8 | 2022-04-22 16:58:16 -0700 | [diff] [blame] | 27 | deploy_env = ["//java/core"], |
zhangskz | b37b613 | 2022-05-03 11:58:31 -0400 | [diff] [blame] | 28 | maven_coordinates = "com.google.protobuf:protobuf-java-util:%s" % PROTOBUF_JAVA_VERSION, |
Joshua Haberman | e5c570b | 2021-09-09 08:21:42 -0700 | [diff] [blame] | 29 | pom_template = "pom_template.xml", |
David L. Jones | 67823fe | 2022-05-04 17:30:23 -0700 | [diff] [blame] | 30 | tags = ["manual"], |
Joshua Haberman | e5c570b | 2021-09-09 08:21:42 -0700 | [diff] [blame] | 31 | visibility = ["//java:__pkg__"], |
Deanna Garcia | ab4585a | 2022-02-01 18:24:53 +0000 | [diff] [blame] | 32 | runtime_deps = [":util"], |
Joshua Haberman | e5c570b | 2021-09-09 08:21:42 -0700 | [diff] [blame] | 33 | ) |
Joshua Haberman | f5fd897 | 2021-04-30 16:12:50 -0700 | [diff] [blame] | 34 | |
Adam Cozzette | 562fc94 | 2021-08-03 11:58:05 -0700 | [diff] [blame] | 35 | filegroup( |
| 36 | name = "release", |
Adam Cozzette | 562fc94 | 2021-08-03 11:58:05 -0700 | [diff] [blame] | 37 | srcs = [ |
Joshua Haberman | e5c570b | 2021-09-09 08:21:42 -0700 | [diff] [blame] | 38 | ":util_mvn-docs", |
Deanna Garcia | ab4585a | 2022-02-01 18:24:53 +0000 | [diff] [blame] | 39 | ":util_mvn-maven-source", |
| 40 | ":util_mvn-pom", |
Joshua Haberman | e5c570b | 2021-09-09 08:21:42 -0700 | [diff] [blame] | 41 | ":util_mvn-project", |
Deanna Garcia | ab4585a | 2022-02-01 18:24:53 +0000 | [diff] [blame] | 42 | ], |
| 43 | visibility = ["//java:__pkg__"], |
Adam Cozzette | 562fc94 | 2021-08-03 11:58:05 -0700 | [diff] [blame] | 44 | ) |
| 45 | |
Joshua Haberman | f5fd897 | 2021-04-30 16:12:50 -0700 | [diff] [blame] | 46 | proto_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 | |
| 59 | java_proto_library( |
| 60 | name = "test_protos_java_proto", |
| 61 | deps = [":test_protos"], |
| 62 | ) |
| 63 | |
| 64 | junit_tests( |
| 65 | name = "tests", |
Joshua Haberman | f5fd897 | 2021-04-30 16:12:50 -0700 | [diff] [blame] | 66 | package_name = "com.google.protobuf.util", |
Deanna Garcia | ab4585a | 2022-02-01 18:24:53 +0000 | [diff] [blame] | 67 | srcs = glob(["src/test/java/**/*.java"]), |
Joshua Haberman | f5fd897 | 2021-04-30 16:12:50 -0700 | [diff] [blame] | 68 | deps = [ |
| 69 | ":test_protos_java_proto", |
| 70 | ":util", |
Joshua Haberman | f5fd897 | 2021-04-30 16:12:50 -0700 | [diff] [blame] | 71 | "//java/core", |
| 72 | "//java/core:generic_test_protos_java_proto", |
Adam Cozzette | 839f0f8 | 2022-03-03 22:03:15 +0000 | [diff] [blame] | 73 | "@maven//:com_google_code_gson_gson", |
Deanna Garcia | ab4585a | 2022-02-01 18:24:53 +0000 | [diff] [blame] | 74 | "@maven//:com_google_guava_guava", |
| 75 | "@maven//:com_google_truth_truth", |
| 76 | "@maven//:junit_junit", |
Joshua Haberman | f5fd897 | 2021-04-30 16:12:50 -0700 | [diff] [blame] | 77 | ], |
| 78 | ) |
David L. Jones | d76f8c8 | 2022-04-22 16:58:16 -0700 | [diff] [blame] | 79 | |
| 80 | pkg_files( |
| 81 | name = "dist_files", |
| 82 | srcs = glob([ |
| 83 | "src/main/**/*.java", |
| 84 | "src/test/**/*.java", |
| 85 | "src/test/**/*.proto", |
| 86 | ]) + [ |
David L. Jones | 95da0ba | 2022-04-29 17:57:55 -0700 | [diff] [blame] | 87 | "BUILD.bazel", |
David L. Jones | d76f8c8 | 2022-04-22 16:58:16 -0700 | [diff] [blame] | 88 | "pom.xml", |
| 89 | "pom_template.xml", |
| 90 | ], |
| 91 | strip_prefix = strip_prefix.from_root(""), |
| 92 | visibility = ["//java:__pkg__"], |
| 93 | ) |