1load("@bazel_skylib//rules:build_test.bzl", "build_test") 2load("@rules_java//java:java_library.bzl", "java_library") 3load("@rules_pkg//pkg:mappings.bzl", "pkg_files", "strip_prefix") 4load("//:protobuf.bzl", "internal_gen_well_known_protos_java") 5load("//:protobuf_version.bzl", "PROTOBUF_JAVA_VERSION") 6load("//bazel:cc_proto_library.bzl", "cc_proto_library") 7load("//bazel:java_lite_proto_library.bzl", "java_lite_proto_library") 8load("//bazel:java_proto_library.bzl", "java_proto_library") 9load("//bazel:proto_library.bzl", "proto_library") 10load("//bazel/toolchains:proto_lang_toolchain.bzl", "proto_lang_toolchain") 11load("//build_defs:java_opts.bzl", "protobuf_java_export", "protobuf_java_library", "protobuf_versioned_java_library") 12load("//conformance:defs.bzl", "conformance_test") 13load("//editions:defaults.bzl", "compile_edition_defaults", "embed_edition_defaults") 14load("//java/internal:testing.bzl", "junit_tests") 15load("//upb/cmake:build_defs.bzl", "staleness_test") 16 17LITE_SRCS = [ 18 "src/main/java/com/google/protobuf/AbstractMessageLite.java", 19 "src/main/java/com/google/protobuf/AbstractParser.java", 20 "src/main/java/com/google/protobuf/AbstractProtobufList.java", 21 "src/main/java/com/google/protobuf/AllocatedBuffer.java", 22 "src/main/java/com/google/protobuf/Android.java", 23 "src/main/java/com/google/protobuf/ArrayDecoders.java", 24 "src/main/java/com/google/protobuf/BinaryReader.java", 25 "src/main/java/com/google/protobuf/BinaryWriter.java", 26 "src/main/java/com/google/protobuf/BooleanArrayList.java", 27 "src/main/java/com/google/protobuf/BufferAllocator.java", 28 "src/main/java/com/google/protobuf/ByteBufferWriter.java", 29 "src/main/java/com/google/protobuf/ByteOutput.java", 30 "src/main/java/com/google/protobuf/ByteString.java", 31 "src/main/java/com/google/protobuf/CanIgnoreReturnValue.java", 32 "src/main/java/com/google/protobuf/CheckReturnValue.java", 33 "src/main/java/com/google/protobuf/CodedInputStream.java", 34 "src/main/java/com/google/protobuf/CodedInputStreamReader.java", 35 "src/main/java/com/google/protobuf/CodedOutputStream.java", 36 "src/main/java/com/google/protobuf/CodedOutputStreamWriter.java", 37 "src/main/java/com/google/protobuf/CompileTimeConstant.java", 38 "src/main/java/com/google/protobuf/DoubleArrayList.java", 39 "src/main/java/com/google/protobuf/ExperimentalApi.java", 40 "src/main/java/com/google/protobuf/ExtensionLite.java", 41 "src/main/java/com/google/protobuf/ExtensionRegistryFactory.java", 42 "src/main/java/com/google/protobuf/ExtensionRegistryLite.java", 43 "src/main/java/com/google/protobuf/ExtensionSchema.java", 44 "src/main/java/com/google/protobuf/ExtensionSchemaLite.java", 45 "src/main/java/com/google/protobuf/ExtensionSchemas.java", 46 "src/main/java/com/google/protobuf/FieldInfo.java", 47 "src/main/java/com/google/protobuf/FieldSet.java", 48 "src/main/java/com/google/protobuf/FieldType.java", 49 "src/main/java/com/google/protobuf/FloatArrayList.java", 50 "src/main/java/com/google/protobuf/GeneratedMessageInfoFactory.java", 51 "src/main/java/com/google/protobuf/GeneratedMessageLite.java", 52 "src/main/java/com/google/protobuf/InlineMe.java", 53 "src/main/java/com/google/protobuf/IntArrayList.java", 54 "src/main/java/com/google/protobuf/Internal.java", 55 "src/main/java/com/google/protobuf/InvalidProtocolBufferException.java", 56 "src/main/java/com/google/protobuf/IterableByteBufferInputStream.java", 57 "src/main/java/com/google/protobuf/Java8Compatibility.java", 58 "src/main/java/com/google/protobuf/JavaType.java", 59 "src/main/java/com/google/protobuf/LazyField.java", 60 "src/main/java/com/google/protobuf/LazyFieldLite.java", 61 "src/main/java/com/google/protobuf/LazyStringArrayList.java", 62 "src/main/java/com/google/protobuf/LazyStringList.java", 63 "src/main/java/com/google/protobuf/ListFieldSchema.java", 64 "src/main/java/com/google/protobuf/ListFieldSchemaLite.java", 65 "src/main/java/com/google/protobuf/ListFieldSchemas.java", 66 "src/main/java/com/google/protobuf/LongArrayList.java", 67 "src/main/java/com/google/protobuf/ManifestSchemaFactory.java", 68 "src/main/java/com/google/protobuf/MapEntryLite.java", 69 "src/main/java/com/google/protobuf/MapFieldLite.java", 70 "src/main/java/com/google/protobuf/MapFieldSchema.java", 71 "src/main/java/com/google/protobuf/MapFieldSchemaLite.java", 72 "src/main/java/com/google/protobuf/MapFieldSchemas.java", 73 "src/main/java/com/google/protobuf/MessageInfo.java", 74 "src/main/java/com/google/protobuf/MessageInfoFactory.java", 75 "src/main/java/com/google/protobuf/MessageLite.java", 76 "src/main/java/com/google/protobuf/MessageLiteOrBuilder.java", 77 "src/main/java/com/google/protobuf/MessageLiteToString.java", 78 "src/main/java/com/google/protobuf/MessageSchema.java", 79 "src/main/java/com/google/protobuf/MessageSetSchema.java", 80 "src/main/java/com/google/protobuf/MutabilityOracle.java", 81 "src/main/java/com/google/protobuf/NewInstanceSchema.java", 82 "src/main/java/com/google/protobuf/NewInstanceSchemaLite.java", 83 "src/main/java/com/google/protobuf/NewInstanceSchemas.java", 84 "src/main/java/com/google/protobuf/OneofInfo.java", 85 "src/main/java/com/google/protobuf/Parser.java", 86 "src/main/java/com/google/protobuf/PrimitiveNonBoxingCollection.java", 87 "src/main/java/com/google/protobuf/ProtoSyntax.java", 88 "src/main/java/com/google/protobuf/Protobuf.java", 89 "src/main/java/com/google/protobuf/ProtobufArrayList.java", 90 "src/main/java/com/google/protobuf/ProtocolStringList.java", 91 "src/main/java/com/google/protobuf/RawMessageInfo.java", 92 "src/main/java/com/google/protobuf/Reader.java", 93 "src/main/java/com/google/protobuf/RopeByteString.java", 94 "src/main/java/com/google/protobuf/RuntimeVersion.java", 95 "src/main/java/com/google/protobuf/Schema.java", 96 "src/main/java/com/google/protobuf/SchemaFactory.java", 97 "src/main/java/com/google/protobuf/SchemaUtil.java", 98 "src/main/java/com/google/protobuf/SmallSortedMap.java", 99 "src/main/java/com/google/protobuf/StructuralMessageInfo.java", 100 "src/main/java/com/google/protobuf/TextFormatEscaper.java", 101 "src/main/java/com/google/protobuf/UninitializedMessageException.java", 102 "src/main/java/com/google/protobuf/UnknownFieldSchema.java", 103 "src/main/java/com/google/protobuf/UnknownFieldSetLite.java", 104 "src/main/java/com/google/protobuf/UnknownFieldSetLiteSchema.java", 105 "src/main/java/com/google/protobuf/UnmodifiableLazyStringList.java", 106 "src/main/java/com/google/protobuf/UnsafeByteOperations.java", 107 "src/main/java/com/google/protobuf/UnsafeUtil.java", 108 "src/main/java/com/google/protobuf/Utf8.java", 109 "src/main/java/com/google/protobuf/WireFormat.java", 110 "src/main/java/com/google/protobuf/Writer.java", 111] 112 113FULL_SRCS = glob( 114 [ 115 "src/main/java/com/google/protobuf/*.java", 116 ], 117 exclude = LITE_SRCS, 118) + [ 119 ":gen_well_known_protos_java", 120] 121 122internal_gen_well_known_protos_java( 123 name = "gen_well_known_protos_javalite", 124 javalite = True, 125 deps = [ 126 "//:any_proto", 127 "//:api_proto", 128 "//:descriptor_proto", 129 "//:duration_proto", 130 "//:empty_proto", 131 "//:field_mask_proto", 132 "//:java_features_proto", 133 "//:source_context_proto", 134 "//:struct_proto", 135 "//:timestamp_proto", 136 "//:type_proto", 137 "//:wrappers_proto", 138 ], 139) 140 141# Should be used as `//java/lite`. 142java_library( 143 name = "lite", 144 srcs = LITE_SRCS + [ 145 ":gen_well_known_protos_javalite", 146 ], 147 visibility = [ 148 "//java/lite:__pkg__", 149 ], 150) 151 152protobuf_versioned_java_library( 153 name = "lite_bundle", 154 srcs = LITE_SRCS + [ 155 ":gen_well_known_protos_javalite", 156 ], 157 automatic_module_name = "com.google.protobuf", 158 bundle_description = "Lite version of Protocol Buffers library. This " + 159 "version is optimized for code size, but does not " + 160 "guarantee API/ABI stability.", 161 bundle_name = "Protocol Buffers [Lite]", 162 bundle_symbolic_name = "com.google.protobuf", 163 visibility = [ 164 "//java/lite:__pkg__", 165 ], 166) 167 168# Bazel users, don't depend on this target, use //java/lite. 169protobuf_java_export( 170 name = "lite_mvn", 171 maven_coordinates = "com.google.protobuf:protobuf-javalite:%s" % PROTOBUF_JAVA_VERSION, 172 pom_template = "//java/lite:pom_template.xml", 173 resources = [ 174 "//:java_features_proto", 175 "//:lite_well_known_protos", 176 "//src/google/protobuf:descriptor_proto_srcs", 177 ], 178 tags = ["manual"], 179 runtime_deps = [":lite_bundle"], 180) 181 182protobuf_java_library( 183 name = "lite_runtime_only", 184 srcs = LITE_SRCS, 185) 186 187proto_library( 188 name = "java_features_proto", 189 srcs = ["src/main/resources/google/protobuf/java_features.proto"], 190 strip_import_prefix = "/java/core/src/main/resources", 191 visibility = [ 192 "//:__pkg__", 193 "//editions:__pkg__", 194 "//java/__subpackages__", 195 "//pkg:__pkg__", 196 ], 197 deps = ["//:descriptor_proto"], 198) 199 200cc_proto_library( 201 name = "java_features_cc_proto", 202 visibility = ["//editions:__pkg__"], 203 deps = [":java_features_proto"], 204) 205 206filegroup( 207 name = "java_features_proto_srcs", 208 srcs = ["src/main/resources/google/protobuf/java_features.proto"], 209 visibility = ["//pkg:__pkg__"], 210) 211 212compile_edition_defaults( 213 name = "java_edition_defaults", 214 srcs = [ 215 "//:descriptor_proto", 216 "//:java_features_proto", 217 ], 218 maximum_edition = "2023", 219 minimum_edition = "PROTO2", 220) 221 222embed_edition_defaults( 223 name = "embedded_java_edition_defaults_generate", 224 defaults = "java_edition_defaults", 225 output = "generated/src/main/java/com/google/protobuf/JavaEditionDefaults.java", 226 placeholder = "DEFAULTS_VALUE", 227 template = "src/main/java/com/google/protobuf/JavaEditionDefaults.java.template", 228) 229 230staleness_test( 231 name = "generated_java_defaults_staleness_test", 232 outs = ["src/main/java/com/google/protobuf/JavaEditionDefaults.java"], 233 generated_pattern = "generated/%s", 234 tags = ["manual"], 235 target_files = ["src/main/java/com/google/protobuf/JavaEditionDefaults.java"], 236) 237 238internal_gen_well_known_protos_java( 239 name = "gen_well_known_protos_java", 240 deps = [ 241 "//:any_proto", 242 "//:api_proto", 243 "//:compiler_plugin_proto", 244 "//:descriptor_proto", 245 "//:duration_proto", 246 "//:empty_proto", 247 "//:field_mask_proto", 248 "//:java_features_proto", 249 "//:source_context_proto", 250 "//:struct_proto", 251 "//:timestamp_proto", 252 "//:type_proto", 253 "//:wrappers_proto", 254 ], 255) 256 257java_library( 258 name = "core", 259 srcs = FULL_SRCS, 260 visibility = ["//visibility:public"], 261 exports = [ 262 ":lite_runtime_only", 263 ], 264 deps = [ 265 ":lite_runtime_only", 266 ], 267) 268 269protobuf_versioned_java_library( 270 name = "core_bundle", 271 srcs = FULL_SRCS, 272 automatic_module_name = "com.google.protobuf", 273 bundle_description = "Core Protocol Buffers library. Protocol Buffers " + 274 "are a way of encoding structured data in an " + 275 "efficient yet extensible format.", 276 bundle_name = "Protocol Buffers [Core]", 277 bundle_symbolic_name = "com.google.protobuf", 278 visibility = ["//visibility:public"], 279 exports = [ 280 ":lite_runtime_only", 281 ], 282 deps = [ 283 ":lite_runtime_only", 284 ], 285) 286 287# Bazel users, don't depend on this target, use :core. 288protobuf_java_export( 289 name = "core_mvn", 290 maven_coordinates = "com.google.protobuf:protobuf-java:%s" % PROTOBUF_JAVA_VERSION, 291 pom_template = "pom_template.xml", 292 resources = [ 293 ":java_features_proto_srcs", 294 "//:well_known_type_protos", 295 "//src/google/protobuf:descriptor_proto_srcs", 296 ], 297 tags = ["manual"], 298 runtime_deps = [":core_bundle"], 299) 300 301filegroup( 302 name = "release", 303 srcs = [ 304 ":core_mvn-docs", 305 ":core_mvn-maven-source", 306 ":core_mvn-pom", 307 ":core_mvn-project", 308 ":lite_mvn-docs", 309 ":lite_mvn-maven-source", 310 ":lite_mvn-pom", 311 ":lite_mvn-project", 312 ], 313 visibility = ["//java:__pkg__"], 314) 315 316proto_lang_toolchain( 317 name = "toolchain", 318 # keep this in sync w/ WELL_KNOWN_PROTO_MAP in //:BUILD 319 blacklisted_protos = [ 320 "//:java_features_proto", 321 "//:any_proto", 322 "//:api_proto", 323 "//:compiler_plugin_proto", 324 "//:descriptor_proto", 325 "//:duration_proto", 326 "//:empty_proto", 327 "//:field_mask_proto", 328 "//:source_context_proto", 329 "//:struct_proto", 330 "//:timestamp_proto", 331 "//:type_proto", 332 "//:wrappers_proto", 333 ], 334 command_line = "--java_out=$(OUT)", 335 runtime = ":core", 336 visibility = ["//visibility:public"], 337) 338 339proto_library( 340 name = "java_test_protos", 341 srcs = glob(["src/test/proto/**/*.proto"]), 342 strip_import_prefix = "src/test/proto", 343 deps = [ 344 "//:any_proto", 345 "//:descriptor_proto", 346 "//:java_features_proto", 347 "//:lite_test_protos", 348 "//:wrappers_proto", 349 "//src/google/protobuf:generic_test_protos", 350 ], 351) 352 353java_proto_library( 354 name = "generic_test_protos_java_proto", 355 visibility = [ 356 "//java:__subpackages__", 357 ], 358 deps = ["//src/google/protobuf:generic_test_protos"], 359) 360 361java_proto_library( 362 name = "generic_test_protos_editions_java_proto", 363 visibility = [ 364 "//java:__subpackages__", 365 ], 366 deps = ["//src/google/protobuf:generic_test_editions_protos"], 367) 368 369java_proto_library( 370 name = "lite_test_protos_java_proto", 371 visibility = [ 372 "//java:__subpackages__", 373 ], 374 deps = ["//:lite_test_protos"], 375) 376 377java_proto_library( 378 name = "java_test_protos_java_proto", 379 deps = [":java_test_protos"], 380) 381 382protobuf_java_library( 383 name = "test_util", 384 srcs = [ 385 "src/test/java/com/google/protobuf/TestUtil.java", 386 "src/test/java/com/google/protobuf/TestUtilLite.java", 387 ], 388 visibility = ["//java:__subpackages__"], 389 deps = [ 390 ":core", 391 ":generic_test_protos_java_proto", 392 ":java_test_protos_java_proto", 393 ":lite_test_protos_java_proto", 394 "@protobuf_maven//:com_google_guava_guava", 395 "@protobuf_maven//:junit_junit", 396 ], 397) 398 399test_suite( 400 name = "tests", 401 tests = [ 402 "conformance_test", 403 "core_build_test", 404 "core_tests", 405 "utf8_tests", 406 ], 407) 408 409build_test( 410 name = "core_build_test", 411 targets = [ 412 ":core", 413 ], 414) 415 416conformance_test( 417 name = "conformance_test", 418 failure_list = "//conformance:failure_list_java.txt", 419 maximum_edition = "2023", 420 testee = "//conformance:conformance_java", 421 text_format_failure_list = "//conformance:text_format_failure_list_java.txt", 422) 423 424junit_tests( 425 name = "core_tests", 426 size = "small", 427 srcs = glob( 428 ["src/test/java/**/*.java"], 429 exclude = [ 430 "src/test/java/com/google/protobuf/DecodeUtf8Test.java", 431 "src/test/java/com/google/protobuf/IsValidUtf8Test.java", 432 "src/test/java/com/google/protobuf/TestUtil.java", 433 "src/test/java/com/google/protobuf/TestUtilLite.java", 434 "src/test/java/com/google/protobuf/RuntimeVersionTest.java", 435 ], 436 ), 437 data = ["//src/google/protobuf:testdata"], 438 deps = [ 439 ":core", 440 ":generic_test_protos_editions_java_proto", 441 ":generic_test_protos_java_proto", 442 ":java_test_protos_java_proto", 443 ":lite_test_protos_java_proto", 444 ":test_util", 445 "@protobuf_maven//:com_google_guava_guava", 446 "@protobuf_maven//:com_google_truth_truth", 447 "@protobuf_maven//:junit_junit", 448 "@protobuf_maven//:org_mockito_mockito_core", 449 ], 450) 451 452# The UTF-8 validation tests are much slower than the other tests, so they get 453# their own test target with a longer timeout. 454junit_tests( 455 name = "utf8_tests", 456 size = "large", 457 srcs = [ 458 "src/test/java/com/google/protobuf/DecodeUtf8Test.java", 459 "src/test/java/com/google/protobuf/IsValidUtf8Test.java", 460 "src/test/java/com/google/protobuf/IsValidUtf8TestUtil.java", 461 ], 462 deps = [ 463 ":core", 464 "@protobuf_maven//:com_google_guava_guava", 465 "@protobuf_maven//:com_google_truth_truth", 466 "@protobuf_maven//:junit_junit", 467 ], 468) 469 470java_lite_proto_library( 471 name = "generic_test_protos_java_proto_lite", 472 visibility = [ 473 "//java/kotlin-lite:__pkg__", 474 "//java/lite:__pkg__", 475 ], 476 deps = ["//src/google/protobuf:generic_test_protos"], 477) 478 479java_lite_proto_library( 480 name = "lite_test_protos_java_proto_lite", 481 visibility = [ 482 "//java/kotlin-lite:__pkg__", 483 "//java/lite:__pkg__", 484 ], 485 deps = ["//:lite_test_protos"], 486) 487 488java_lite_proto_library( 489 name = "java_test_protos_java_proto_lite", 490 visibility = [ 491 "//java/lite:__pkg__", 492 ], 493 deps = [":java_test_protos"], 494) 495 496genrule( 497 name = "rewrite_javalite_test_util", 498 srcs = [ 499 "//java/lite:lite.awk", 500 "src/test/java/com/google/protobuf/TestUtil.java", 501 ], 502 outs = ["TestUtil.java"], 503 cmd = "awk -f $(location //java/lite:lite.awk) $(location src/test/java/com/google/protobuf/TestUtil.java) > $@", 504) 505 506protobuf_java_library( 507 name = "test_util_lite", 508 srcs = [ 509 "src/test/java/com/google/protobuf/TestUtilLite.java", 510 ":rewrite_javalite_test_util", 511 ], 512 visibility = [ 513 "//java/kotlin-lite:__pkg__", 514 "//java/lite:__pkg__", 515 ], 516 deps = [ 517 ":generic_test_protos_java_proto_lite", 518 ":java_test_protos_java_proto_lite", 519 ":lite_runtime_only", 520 ":lite_test_protos_java_proto_lite", 521 "@protobuf_maven//:com_google_guava_guava", 522 "@protobuf_maven//:junit_junit", 523 ], 524) 525 526LITE_TEST_EXCLUSIONS = [ 527 "src/test/java/com/google/protobuf/AbstractMessageTest.java", 528 "src/test/java/com/google/protobuf/AbstractProto2SchemaTest.java", 529 "src/test/java/com/google/protobuf/AnyTest.java", 530 "src/test/java/com/google/protobuf/CodedInputStreamTest.java", 531 "src/test/java/com/google/protobuf/DeprecatedFieldTest.java", 532 "src/test/java/com/google/protobuf/DebugFormatTest.java", 533 "src/test/java/com/google/protobuf/ConcurrentDescriptorsTest.java", 534 "src/test/java/com/google/protobuf/DescriptorsTest.java", 535 "src/test/java/com/google/protobuf/DiscardUnknownFieldsTest.java", 536 "src/test/java/com/google/protobuf/DynamicMessageTest.java", 537 "src/test/java/com/google/protobuf/ExtensionRegistryFactoryTest.java", 538 "src/test/java/com/google/protobuf/FieldPresenceTest.java", 539 "src/test/java/com/google/protobuf/ForceFieldBuildersPreRun.java", 540 "src/test/java/com/google/protobuf/GeneratedMessageTest.java", 541 "src/test/java/com/google/protobuf/LazilyParsedMessageSetTest.java", 542 "src/test/java/com/google/protobuf/LazyFieldTest.java", 543 "src/test/java/com/google/protobuf/LazyStringEndToEndTest.java", 544 "src/test/java/com/google/protobuf/LegacyUnredactedTextFormatTest.java", 545 "src/test/java/com/google/protobuf/MapForProto2Test.java", 546 "src/test/java/com/google/protobuf/MapTest.java", 547 "src/test/java/com/google/protobuf/MessageTest.java", 548 "src/test/java/com/google/protobuf/NestedBuildersTest.java", 549 "src/test/java/com/google/protobuf/PackedFieldTest.java", 550 "src/test/java/com/google/protobuf/ParserTest.java", 551 "src/test/java/com/google/protobuf/ParseExceptionsTest.java", 552 "src/test/java/com/google/protobuf/Proto2ExtensionLookupSchemaTest.java", 553 "src/test/java/com/google/protobuf/Proto2SchemaTest.java", 554 "src/test/java/com/google/protobuf/Proto2UnknownEnumValueTest.java", 555 "src/test/java/com/google/protobuf/ProtobufToStringOutputTest.java", 556 "src/test/java/com/google/protobuf/RepeatedFieldBuilderTest.java", 557 "src/test/java/com/google/protobuf/ServiceTest.java", 558 "src/test/java/com/google/protobuf/SingleFieldBuilderTest.java", 559 "src/test/java/com/google/protobuf/TestBadIdentifiers.java", 560 "src/test/java/com/google/protobuf/TextFormatParseInfoTreeTest.java", 561 "src/test/java/com/google/protobuf/TextFormatParseLocationTest.java", 562 "src/test/java/com/google/protobuf/TextFormatPerformanceTest.java", 563 "src/test/java/com/google/protobuf/TextFormatTest.java", 564 "src/test/java/com/google/protobuf/TestUtil.java", 565 "src/test/java/com/google/protobuf/TestUtilLite.java", 566 "src/test/java/com/google/protobuf/TypeRegistryTest.java", 567 "src/test/java/com/google/protobuf/UnknownEnumValueTest.java", 568 "src/test/java/com/google/protobuf/UnknownFieldSetLiteTest.java", 569 "src/test/java/com/google/protobuf/UnknownFieldSetPerformanceTest.java", 570 "src/test/java/com/google/protobuf/UnknownFieldSetTest.java", 571 "src/test/java/com/google/protobuf/WellKnownTypesTest.java", 572 "src/test/java/com/google/protobuf/WireFormatTest.java", 573] 574 575junit_tests( 576 name = "lite_tests", 577 size = "large", 578 srcs = glob( 579 ["src/test/java/**/*.java"], 580 exclude = LITE_TEST_EXCLUSIONS, 581 ), 582 data = ["//src/google/protobuf:testdata"], 583 test_prefix = "Lite", 584 deps = [ 585 ":generic_test_protos_java_proto_lite", 586 ":java_test_protos_java_proto_lite", 587 ":lite", 588 ":lite_test_protos_java_proto_lite", 589 ":test_util_lite", 590 "@protobuf_maven//:com_google_truth_truth", 591 "@protobuf_maven//:junit_junit", 592 "@protobuf_maven//:org_mockito_mockito_core", 593 ], 594) 595 596protobuf_java_library( 597 name = "v25_test_util_srcjar", 598 testonly = True, 599 srcs = [ 600 "src/test/java/com/google/protobuf/TestUtil.java", 601 "src/test/java/com/google/protobuf/TestUtilLite.java", 602 ], 603 deps = [ 604 ":core", 605 "//compatibility:v25_test_protos_srcjar", 606 "@protobuf_maven//:com_google_guava_guava", 607 "@protobuf_maven//:junit_junit", 608 ], 609) 610 611# Tests source compatibility against v25 gencode jar compiled against current runtime 612junit_tests( 613 name = "v25_core_tests_srcjar", 614 size = "small", 615 srcs = glob( 616 ["src/test/java/**/*.java"], 617 exclude = [ 618 # Depends on test protos or API changes added in v4.x.x (e.g. editions) 619 "src/test/java/com/google/protobuf/TextFormatTest.java", 620 "src/test/java/com/google/protobuf/DescriptorsTest.java", 621 "src/test/java/com/google/protobuf/DebugFormatTest.java", 622 "src/test/java/com/google/protobuf/CodedOutputStreamTest.java", 623 "src/test/java/com/google/protobuf/CodedInputStreamTest.java", 624 "src/test/java/com/google/protobuf/ProtobufToStringOutputTest.java", 625 # Excluded in core_tests 626 "src/test/java/com/google/protobuf/DecodeUtf8Test.java", 627 "src/test/java/com/google/protobuf/IsValidUtf8Test.java", 628 "src/test/java/com/google/protobuf/TestUtil.java", 629 "src/test/java/com/google/protobuf/TestUtilLite.java", 630 "src/test/java/com/google/protobuf/RuntimeVersionTest.java", 631 ], 632 ), 633 test_prefix = "v25SrcJar", 634 deps = [ 635 ":core", 636 ":v25_test_util_srcjar", 637 "//compatibility:v25_test_protos_srcjar", 638 "@protobuf_maven//:com_google_guava_guava", 639 "@protobuf_maven//:com_google_truth_truth", 640 "@protobuf_maven//:junit_junit", 641 "@protobuf_maven//:org_mockito_mockito_core", 642 ], 643) 644 645protobuf_java_library( 646 name = "v25_test_util_jar", 647 testonly = True, 648 srcs = [ 649 "src/test/java/com/google/protobuf/TestUtil.java", 650 "src/test/java/com/google/protobuf/TestUtilLite.java", 651 ], 652 deps = [ 653 ":core", 654 "//compatibility:v25_test_protos_jar", 655 "@protobuf_maven//:com_google_guava_guava", 656 "@protobuf_maven//:junit_junit", 657 ], 658) 659 660# Tests binary compatibility against v25 gencode ja compiled against v25 runtime 661junit_tests( 662 name = "v25_core_tests_jar", 663 size = "small", 664 srcs = glob( 665 ["src/test/java/**/*.java"], 666 exclude = [ 667 # Depends on test protos or API changes added in v4.x.x (e.g. editions) 668 "src/test/java/com/google/protobuf/TextFormatTest.java", 669 "src/test/java/com/google/protobuf/DescriptorsTest.java", 670 "src/test/java/com/google/protobuf/DebugFormatTest.java", 671 "src/test/java/com/google/protobuf/CodedOutputStreamTest.java", 672 "src/test/java/com/google/protobuf/CodedInputStreamTest.java", 673 "src/test/java/com/google/protobuf/ProtobufToStringOutputTest.java", 674 # Excluded in core_tests 675 "src/test/java/com/google/protobuf/DecodeUtf8Test.java", 676 "src/test/java/com/google/protobuf/IsValidUtf8Test.java", 677 "src/test/java/com/google/protobuf/TestUtil.java", 678 "src/test/java/com/google/protobuf/TestUtilLite.java", 679 "src/test/java/com/google/protobuf/RuntimeVersionTest.java", 680 ], 681 ), 682 test_prefix = "v25Jar", 683 deps = [ 684 ":core", 685 ":v25_test_util_jar", 686 "//compatibility:v25_test_protos_jar", 687 "@protobuf_maven//:com_google_guava_guava", 688 "@protobuf_maven//:com_google_truth_truth", 689 "@protobuf_maven//:junit_junit", 690 "@protobuf_maven//:org_mockito_mockito_core", 691 ], 692) 693 694pkg_files( 695 name = "dist_files", 696 srcs = glob([ 697 "src/main/java/com/google/protobuf/*.java", 698 "src/main/resources/google/protobuf/*.proto", 699 "src/test/java/**/*.java", 700 "src/test/proto/**/*.proto", 701 ]) + [ 702 "BUILD.bazel", 703 "generate-sources-build.xml", 704 "generate-test-sources-build.xml", 705 "pom_template.xml", 706 ], 707 strip_prefix = strip_prefix.from_root(""), 708 visibility = ["//java:__pkg__"], 709) 710 711