Merge "Use single-jar-with-dependencies jar of the Cloud Spanner JDBC driver"
diff --git a/BUILD b/BUILD
index f4d80f3..e387cf3 100644
--- a/BUILD
+++ b/BUILD
@@ -17,85 +17,8 @@
     ],
     resources = glob(["src/main/resources/**/*"]),
     deps = [
-        "@animal-sniffer-annotations//jar",
-        "@auto-value-annotations//jar",
-        "@auto-value//jar",
-        "@checker-qual//jar",
-        "@commons-codec//jar",
-        "@commons-logging//jar",
-        "@conscrypt-openjdk-uber//jar",
-        "@error_prone_annotations//jar",
-        "@failureaccess//jar",
-        "@gax-grpc//jar",
-        "@gax-httpjson//jar",
-        "@gax//jar",
         "@global-refdb//jar",
-        "@google-api-common//jar",
-        "@google-auth-library-credentials//jar",
-        "@google-auth-library-oauth2-http//jar",
-        "@google-cloud-core-grpc//jar",
-        "@google-cloud-core//jar",
-        "@google-cloud-spanner//jar",
-        "@google-cloud-storage//jar",
-        "@google-code-gson//jar",
-        "@google-http-client-gson//jar",
-        "@google-http-client-jackson//jar",
-        "@google-http-client//jar",
-        "@google-oauth-client-jetty//jar",
-        "@grpc-alts//jar",
-        "@grpc-api//jar",
-        "@grpc-auth//jar",
-        "@grpc-context//jar",
-        "@grpc-core//jar",
-        "@grpc-gcp//jar",
-        "@grpc-google-cloud-spanner-admin-database-v1//jar",
-        "@grpc-google-cloud-spanner-admin-instance-v1//jar",
-        "@grpc-google-cloud-spanner-v1//jar",
-        "@grpc-google-common-protos//jar",
-        "@grpc-googleapis//jar",
-        "@grpc-grpclb//jar",
-        "@grpc-netty//jar",
-        "@grpc-protobuf-lite//jar",
-        "@grpc-protobuf//jar",
-        "@grpc-rls//jar",
-        "@grpc-services//jar",
-        "@grpc-stub//jar",
-        "@grpc-xds//jar",
-        "@guava//jar",
-        "@httpclient//jar",
-        "@httpcore//jar",
-        "@j2objc-annotations//jar",
-        "@jackson-annotations//jar",
-        "@jackson-core//jar",
-        "@jackson-databind//jar",
-        "@jackson-dataformat-cbor//jar",
-        "@javax-annotation-api//jar",
-        "@joda-time//jar",
-        "@listenablefuture//jar",
-        "@netty-buffer//jar",
-        "@netty-codec-http//jar",
-        "@netty-codec-http2//jar",
-        "@netty-codec//jar",
-        "@netty-common//jar",
-        "@netty-handler-proxy//jar",
-        "@netty-handler//jar",
-        "@netty-resolver//jar",
-        "@netty-transport-native-unix-common//jar",
-        "@netty-transport//jar",
-        "@opencensus-api//jar",
-        "@opencensus-contrib-grpc-util//jar",
-        "@opencensus-contrib-http-util//jar",
-        "@opencensus-proto//jar",
-        "@perfmark-api//jar",
-        "@proto-google-cloud-spanner-admin-database-v1//jar",
-        "@proto-google-cloud-spanner-admin-instance-v1//jar",
-        "@proto-google-cloud-spanner-v1//jar",
-        "@proto-google-common-protos//jar",
-        "@proto-google-iam-v1//jar",
-        "@protobuf-java-util//jar",
-        "@protobuf-java//jar",
-        "@re2j//jar",
-        "@threetenbp//jar",
+        "@google-cloud-spanner-with-dependencies//jar",
     ],
 )
 
@@ -115,14 +38,13 @@
     visibility = ["//visibility:public"],
     exports = PLUGIN_DEPS + PLUGIN_TEST_DEPS + [
         ":spanner-refdb__plugin",
+        "@google-cloud-spanner-with-dependencies//jar",
+        "@jackson-annotations//jar",
         "@docker-java-api//jar",
         "@docker-java-transport-zerodep//jar",
         "@docker-java-transport//jar",
         "@duct-tape//jar",
         "@global-refdb//jar",
-        "@google-auth-library-oauth2-http//jar",
-        "@google-cloud-core//jar",
-        "@google-cloud-spanner//jar",
         "@testcontainer-gcloud//jar",
         "@testcontainers//jar",
     ],
diff --git a/external_plugin_deps.bzl b/external_plugin_deps.bzl
index 94f3ae3..2d16663 100644
--- a/external_plugin_deps.bzl
+++ b/external_plugin_deps.bzl
@@ -1,422 +1,26 @@
 load("//tools/bzl:maven_jar.bzl", "maven_jar")
 
-JACKSON_VER = "2.10.4"
-CLOUD_SPANNER_VER = "6.43.2"
-NETTY_VER = "4.1.79.Final"
-GRPC_VER = "1.53.0"
-PROTOBUF_JAVA_VER = "3.21.12"
-OPENCENSUS_VER = "0.31.1"
-OPENCENSUS_PROTO_VER = "0.2.0"
-GOOGLE_HTTP_CLIENT_VER = "1.43.3"
-CLOUD_CORE_VER = "2.12.0"
-GOOGLE_COMMON_PROTOS_VERS = "2.14.2"
-
 def external_plugin_deps():
     maven_jar(
-        name = "error_prone_annotations",
-        sha1 = "89b684257096f548fa39a7df9fdaa409d4d4df91",
-        artifact = "com.google.errorprone:error_prone_annotations:2.18.0",
-    )
-    maven_jar(
-        name = "j2objc-annotations",
-        sha1 = "ba035118bc8bac37d7eff77700720999acd9986d",
-        artifact = "com.google.j2objc:j2objc-annotations:1.3",
-    )
-    maven_jar(
-        name = "opencensus-api",
-        sha1 = "66a60c7201c2b8b20ce495f0295b32bb0ccbbc57",
-        artifact = "io.opencensus:opencensus-api:" + OPENCENSUS_VER,
-    )
-    maven_jar(
-        name = "opencensus-contrib-http-util",
-        sha1 = "3c13fc5715231fadb16a9b74a44d9d59c460cfa8",
-        artifact = "io.opencensus:opencensus-contrib-http-util:" + OPENCENSUS_VER,
-    )
-    maven_jar(
-        name = "opencensus-contrib-grpc-util",
-        sha1 = "89b1d2f8f64749256983446cbdfae25da5450de7",
-        artifact = "io.opencensus:opencensus-contrib-grpc-util:" + OPENCENSUS_VER,
-    )
-    maven_jar(
-        name = "opencensus-proto",
-        sha1 = "c05b6b32b69d5d9144087ea0ebc6fab183fb9151",
-        artifact = "io.opencensus:opencensus-proto:" + OPENCENSUS_PROTO_VER,
-    )
-    maven_jar(
-        name = "protobuf-java-util",
-        sha1 = "1a800bf7976d939217c8d91ed9a17d7a78bf2187",
-        artifact = "com.google.protobuf:protobuf-java-util:" + PROTOBUF_JAVA_VER,
-    )
-    maven_jar(
-        name = "protobuf-java",
-        sha1 = "5589e79a33cb6509f7e681d7cf4fc59d47c51c71",
-        artifact = "com.google.protobuf:protobuf-java:" + PROTOBUF_JAVA_VER,
-    )
-    maven_jar(
-        name = "proto-google-iam-v1",
-        sha1 = "d60d59913b82994f416c120946dcf6457ab109e4",
-        artifact = "com.google.api.grpc:proto-google-iam-v1:1.9.2",
-    )
-    maven_jar(
-        name = "failureaccess",
-        sha1 = "1dcf1de382a0bf95a3d8b0849546c88bac1292c9",
-        artifact = "com.google.guava:failureaccess:1.0.1",
-    )
-    maven_jar(
-        name = "listenablefuture",
-        sha1 = "c949a840a6acbc5268d088e47b04177bf90b3cad",
-        artifact = "com.google.guava:listenablefuture:1.0",
-    )
-    maven_jar(
-        name = "checker-qual",
-        sha1 = "eeefd4af42e2f4221d145c1791582f91868f99ab",
-        artifact = "org.checkerframework:checker-qual:3.31.0",
-    )
-    maven_jar(
-        name = "conscrypt-openjdk-uber",
-        sha1 = "d858f142ea189c62771c505a6548d8606ac098fe",
-        artifact = "org.conscrypt:conscrypt-openjdk-uber:2.5.2",
-    )
-    maven_jar(
-        name = "grpc-auth",
-        sha1 = "c0d249372ab1409ec9cb7fcfe8d432abdd41f070",
-        artifact = "io.grpc:grpc-auth:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-grpclb",
-        sha1 = "e2b9e60fcbea543da23cddf985c6a2cc21ab217e",
-        artifact = "io.grpc:grpc-grpclb:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-api",
-        sha1 = "968fdbb4369cbf03302b1137e52e97c4d49bd548",
-        artifact = "io.grpc:grpc-api:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-rls",
-        sha1 = "3c0cdb42525ddaabb80bbc59be447ed917b60eea",
-        artifact = "io.grpc:grpc-rls:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-alts",
-        sha1 = "6cff34ea1066b657e7d5b8592ad40e1546ab6f13",
-        artifact = "io.grpc:grpc-alts:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-services",
-        sha1 = "4e25f3e96eb18fcb251e53697cce549c4ede737d",
-        artifact = "io.grpc:grpc-services:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-googleapis",
-        sha1 = "c649adfdf38e82f4a949650d0788aaf53e384cc8",
-        artifact = "io.grpc:grpc-googleapis:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-xds",
-        sha1 = "b198b90963693e79c5ec2dd2c1b5537608439c36",
-        artifact = "io.grpc:grpc-xds:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-protobuf",
-        sha1 = "41f37de10ef5e4a30cbb9ef89405b864b9342f5e",
-        artifact = "io.grpc:grpc-protobuf:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-protobuf-lite",
-        sha1 = "e54a4ff36048a5a28d033791187b985dc5abbe73",
-        artifact = "io.grpc:grpc-protobuf-lite:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-stub",
-        sha1 = "391663182785fdb6f92486f432e927cff60c6bcf",
-        artifact = "io.grpc:grpc-stub:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "grpc-core",
-        sha1 = "be781334b80a78f11044813fba123826d2df4b6b",
-        artifact = "io.grpc:grpc-core:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "gax-httpjson",
-        sha1 = "2aad7ab9500a4188f8d0967244c21ce6a023cd80",
-        artifact = "com.google.api:gax-httpjson:0.108.2",
-    )
-    maven_jar(
-        name = "grpc-context",
-        sha1 = "70aa77c3e715b6f22a42c466eb2f48031bc468fb",
-        artifact = "io.grpc:grpc-context:" + GRPC_VER,
-    )
-    maven_jar(
-        name = "gax-grpc",
-        sha1 = "70a13c321fb0042b40fd363e92fcc02f669416c0",
-        artifact = "com.google.api:gax-grpc:2.32.0",
-    )
-    maven_jar(
-        name = "gax",
-        sha1 = "522bf3c2a738847b9719eac8ce572be0f84da40a",
-        artifact = "com.google.api:gax:2.32.0",
-    )
-    maven_jar(
-        name = "grpc-gcp",
-        sha1 = "14b35eed70f1911fdc046c4a21ee403386828c6a",
-        artifact = "com.google.cloud:grpc-gcp:1.4.1",
-    )
-    maven_jar(
-        name = "google-cloud-spanner",
-        sha1 = "2891af6853c7024a3e6e11267d4b4f040c70b75d",
-        artifact = "com.google.cloud:google-cloud-spanner:" + CLOUD_SPANNER_VER,
-    )
-    maven_jar(
-        name = "proto-google-cloud-spanner-v1",
-        artifact = "com.google.api.grpc:proto-google-cloud-spanner-v1:" + CLOUD_SPANNER_VER,
-        sha1 = "6fc3d73b1c83d87120a08240a756280e682a4824",
-    )
-    maven_jar(
-        name = "proto-google-cloud-spanner-admin-instance-v1",
-        sha1 = "892c44c816642ac4b9e107154449227904d839cf",
-        artifact = "com.google.api.grpc:proto-google-cloud-spanner-admin-instance-v1:" + CLOUD_SPANNER_VER,
-    )
-    maven_jar(
-        name = "proto-google-cloud-spanner-admin-database-v1",
-        sha1 = "965f6da2cb0ff8dd435ae65d4f7f64adad535211",
-        artifact = "com.google.api.grpc:proto-google-cloud-spanner-admin-database-v1:" + CLOUD_SPANNER_VER,
-    )
-    maven_jar(
-        name = "grpc-google-cloud-spanner-admin-instance-v1",
-        sha1 = "f8a3ff352412226536da5b3d080b6fc399d47a60",
-        artifact = "com.google.api.grpc:grpc-google-cloud-spanner-admin-instance-v1:" + CLOUD_SPANNER_VER,
-    )
-    maven_jar(
-        name = "grpc-google-cloud-spanner-v1",
-        sha1 = "817a2bab6270f83567da23ee26979d3493fadb94",
-        artifact = "com.google.api.grpc:grpc-google-cloud-spanner-v1:" + CLOUD_SPANNER_VER,
-    )
-    maven_jar(
-        name = "grpc-google-cloud-spanner-admin-database-v1",
-        sha1 = "5cf39124432f1301040f9eb83fd82c5de0d6bd15",
-        artifact = "com.google.api.grpc:grpc-google-cloud-spanner-admin-database-v1:" + CLOUD_SPANNER_VER,
-    )
-    maven_jar(
-        name = "google-cloud-storage",
-        artifact = "com.google.cloud:google-cloud-storage:1.63.0",
-        sha1 = "339f65e2a0557a6c40b8f79a7a4a43fb6f77ee27",
-    )
-    maven_jar(
-        name = "google-api-client",
-        artifact = "com.google.api-client:google-api-client:2.2.0",
-        sha1 = "10e53fd4d987e37190432e896bdaa62e8ea2c628",
-    )
-    maven_jar(
-        name = "google-api-client-gson",
-        artifact = "com.google.api-client:google-api-client-gson:2.2.0",
-        sha1 = "319d792c7df5164ba33f5741b642071915d8c046",
-    )
-    maven_jar(
-        name = "google-api-common",
-        artifact = "com.google.api:api-common:2.6.3",
-        sha1 = "b47c8a2c25005b94c4c43884e0a78bf965de17d8",
-    )
-    maven_jar(
-        name = "threetenbp",
-        artifact = "org.threeten:threetenbp:1.6.5",
-        sha1 = "9c83a035274df46c998b3bcb0710489ad7788abd",
-    )
-    maven_jar(
-        name = "google-http-client",
-        artifact = "com.google.http-client:google-http-client:" + GOOGLE_HTTP_CLIENT_VER,
-        sha1 = "a758b82e55a2f5f681e289c5ed384d3dbda6f3cd",
-    )
-    maven_jar(
-        name = "google-http-client-jackson",
-        artifact = "com.google.http-client:google-http-client-jackson2:" + GOOGLE_HTTP_CLIENT_VER,
-        sha1 = "689da86469d19a01c726c8c24477b95c8a834bbe",
-    )
-    maven_jar(
-        name = "google-code-gson",
-        artifact = "com.google.code.gson:gson:2.8.9",
-        sha1 = "8a432c1d6825781e21a02db2e2c33c5fde2833b9",
-    )
-    maven_jar(
-        name = "google-http-client-gson",
-        artifact = "com.google.http-client:google-http-client-gson:" + GOOGLE_HTTP_CLIENT_VER,
-        sha1 = "252e267acf720ef6333488740a696a1d5e204639",
-    )
-    maven_jar(
-        name = "google-api-client-jackson",
-        artifact = "com.google.api-client:google-api-client-jackson2:2.2.0",
-        sha1 = "a521bfbdc0cbca4796eb8cb1b7fd5bc4b9c4e7dd",
-    )
-    maven_jar(
-        name = "google-api-client-util",
-        artifact = "com.google.api.client:google-api-client-util:1.2.3-alpha",
-        sha1 = "5613058f449666061dbab2f824fb72b9de441b4d",
-    )
-    maven_jar(
-        name = "google-api-client-json",
-        artifact = "com.google.api.client:google-api-client-json:1.2.3-alpha",
-        sha1 = "96fc0eb531f79ca3d1cbb347e91b61df5743f051",
-    )
-    maven_jar(
-        name = "google-oauth-client-jetty",
-        artifact = "com.google.oauth-client:google-oauth-client-jetty:1.34.1",
-        sha1 = "a6aff2c1be148bac622e5048e20f536f71b3380d",
-    )
-    maven_jar(
-        name = "google-cloud-core-grpc",
-        artifact = "com.google.cloud:google-cloud-core-grpc:" + CLOUD_CORE_VER,
-        sha1 = "14fba1b12a8069aeb1bcd60006c76496ff766f6a",
-    )
-    maven_jar(
-        name = "google-cloud-core",
-        sha1 = "5f31f9f7fb5f3fdf14112bbd93c00af24463c60b",
-        artifact = "com.google.cloud:google-cloud-core:" + CLOUD_CORE_VER,
-    )
-    maven_jar(
-        name = "jackson-databind",
-        artifact = "com.fasterxml.jackson.core:jackson-databind:" + JACKSON_VER,
-        sha1 = "76e9152e93d4cf052f93a64596f633ba5b1c8ed9",
-    )
-    maven_jar(
-        name = "jackson-dataformat-cbor",
-        artifact = "com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:" + JACKSON_VER,
-        sha1 = "c854bb2d46138198cb5d4aae86ef6c04b8bc1e70",
-    )
-    maven_jar(
-        name = "jackson-annotations",
-        artifact = "com.fasterxml.jackson.core:jackson-annotations:" + JACKSON_VER,
-        sha1 = "6ae6028aff033f194c9710ad87c224ccaadeed6c",
-    )
-    maven_jar(
-        name = "jackson-core",
-        artifact = "com.fasterxml.jackson.core:jackson-core:" + JACKSON_VER,
-        sha1 = "8796585e716440d6dd5128b30359932a9eb74d0d",
-    )
-    maven_jar(
-        name = "joda-time",
-        artifact = "joda-time:joda-time:2.10.10",
-        sha1 = "29e8126e31f41e5c12b9fe3a7eb02e704c47d70b",
-    )
-    maven_jar(
-        name = "google-auto-value-annotations",
-        sha1 = "9e5162c15f6033c524134cba05a5e93dc1d37c4b",
-        artifact = "com.google.auto.value:auto-value-annotations:1.10.1",
-    )
-    maven_jar(
-        name = "perfmark-api",
-        sha1 = "ef65452adaf20bf7d12ef55913aba24037b82738",
-        artifact = "io.perfmark:perfmark-api:0.26.0",
-    )
-    maven_jar(
-        name = "animal-sniffer-annotations",
-        sha1 = "911f763493163e03d750b369cc162085db09b46b",
-        artifact = "org.codehaus.mojo:animal-sniffer-annotations:1.22",
-    )
-    maven_jar(
-        name = "re2j",
-        sha1 = "a13e879fd7971738d06020fefeb108cc14e14169",
-        artifact = "com.google.re2j:re2j:1.6",
-    )
-    maven_jar(
-        name = "commons-codec",
-        sha1 = "49d94806b6e3dc933dacbd8acb0fdbab8ebd1e5d",
-        artifact = "commons-codec:commons-codec:1.15",
-    )
-    maven_jar(
-        name = "javax-annotation-api",
-        sha1 = "934c04d3cfef185a8008e7bf34331b79730a9d43",
-        artifact = "javax.annotation:javax.annotation-api:1.3.2",
-    )
-    maven_jar(
-        name = "commons-logging",
-        sha1 = "4bfc12adfe4842bf07b657f0369c4cb522955686",
-        artifact = "commons-logging:commons-logging:1.2",
-    )
-    maven_jar(
-        name = "proto-google-common-protos",
-        sha1 = "84af747eac0f286fccaac5602b42b95088415c2b",
-        artifact = "com.google.api.grpc:proto-google-common-protos:" + GOOGLE_COMMON_PROTOS_VERS,
-    )
-    maven_jar(
-        name = "grpc-google-common-protos",
-        sha1 = "4d50b3b00a397f6786d2bd8bccdb68dbc652e5de",
-        artifact = "com.google.api.grpc:grpc-google-common-protos:" + GOOGLE_COMMON_PROTOS_VERS,
+        name = "google-cloud-spanner-with-dependencies",
+        sha1 = "7eb613ec661d6157b3669e11d536418299625f5a",
+        artifact = "com.google.cloud:google-cloud-spanner-jdbc:2.9.9:single-jar-with-dependencies",
     )
 
-    # use unshaded grpc-netty
-    maven_jar(
-        name = "grpc-netty",
-        sha1 = "0dd6088f048629487133ca3549264938d8d7443f",
-        artifact = "io.grpc:grpc-netty:" + GRPC_VER,
-    )
-
-    # transitive dependencies of grpc-netty
-    maven_jar(
-        name = "netty-common",
-        sha1 = "2814bd465731355323aba0fdd22163bfce638a75",
-        artifact = "io.netty:netty-common:" + NETTY_VER,
-    )
-    maven_jar(
-        name = "netty-buffer",
-        sha1 = "6c014412b599489b1db27c6bc08d8a46da94e397",
-        artifact = "io.netty:netty-buffer:" + NETTY_VER,
-    )
-    maven_jar(
-        name = "netty-transport",
-        sha1 = "6cc2b49749b4fbcc39c687027e04e65e857552a9",
-        artifact = "io.netty:netty-transport:" + NETTY_VER,
-    )
-    maven_jar(
-        name = "netty-codec",
-        sha1 = "18f5b02af7ca611978bc28f2cb58cbb3b9b0f0ef",
-        artifact = "io.netty:netty-codec:" + NETTY_VER,
-    )
-    maven_jar(
-        name = "netty-handler",
-        sha1 = "2dc22423c8ed19906615fb936a5fcb7db14a4e6c",
-        artifact = "io.netty:netty-handler:" + NETTY_VER,
-    )
-    maven_jar(
-        name = "netty-resolver",
-        sha1 = "55ecb1ff4464b56564a90824a741c3911264aaa4",
-        artifact = "io.netty:netty-resolver:" + NETTY_VER,
-    )
-    maven_jar(
-        name = "netty-codec-http",
-        sha1 = "882c70bc0a30a98bf3ce477f043e967ac026044c",
-        artifact = "io.netty:netty-codec-http:" + NETTY_VER,
-    )
-    maven_jar(
-        name = "netty-codec-http2",
-        sha1 = "0eeffab0cd5efb699d5e4ab9b694d32fef6694b3",
-        artifact = "io.netty:netty-codec-http2:" + NETTY_VER,
-    )
-    maven_jar(
-        name = "netty-handler-proxy",
-        sha1 = "054aace8683de7893cf28d4aab72cd60f49b5700",
-        artifact = "io.netty:netty-handler-proxy:" + NETTY_VER,
-    )
-    maven_jar(
-        name = "netty-transport-native-unix-common",
-        sha1 = "731937caec938b77b39df932a8da8aaca8d5ec05",
-        artifact = "io.netty:netty-transport-native-unix-common:" + NETTY_VER,
-    )
-    maven_jar(
-        name = "google-auth-library-credentials",
-        sha1 = "8ae88acbd572253c99c36e22b17efff388db3d12",
-        artifact = "com.google.auth:google-auth-library-credentials:1.16.0",
-    )
-    maven_jar(
-        name = "google-auth-library-oauth2-http",
-        sha1 = "4eeb81450d4f61725cbd047393ff5243c7cc6bd7",
-        artifact = "com.google.auth:google-auth-library-oauth2-http:1.16.0",
-    )
     maven_jar(
         name = "global-refdb",
         sha1 = "00b6b0f39b3c8fc280a19d91fb0681954ebccd02",
         artifact = "com.gerritforge:global-refdb:3.3.2.1",
     )
 
+    JACKSON_VER = "2.10.4"
+
+    maven_jar(
+        name = "jackson-annotations",
+        artifact = "com.fasterxml.jackson.core:jackson-annotations:" + JACKSON_VER,
+        sha1 = "6ae6028aff033f194c9710ad87c224ccaadeed6c",
+    )
+
     TESTCONTAINERS_VERSION = "1.19.0"
 
     maven_jar(
@@ -455,4 +59,4 @@
         name = "duct-tape",
         artifact = "org.rnorth.duct-tape:duct-tape:1.0.8",
         sha1 = "92edc22a9ab2f3e17c9bf700aaee377d50e8b530",
-    )
+    )
\ No newline at end of file