in project/Dependencies.scala [57:219]
private def scalaTestPlusScalaCheckVersion(version: String) =
version.split('.').take(2).mkString("-")
val scalaTestScalaCheckArtifact = s"scalacheck-${scalaTestPlusScalaCheckVersion(scalaCheckVersion)}"
val scalaTestScalaCheckVersion = s"$ScalaTestVersion.0"
val scalaTestMockitoVersion = "3.2.18.0"
val CouchbaseVersion = "2.7.23"
val Couchbase3Version = "3.6.0"
val CouchbaseVersionForDocs = "2.7"
val GoogleAuthVersion = "1.34.0"
val JwtScalaVersion = "10.0.4"
val Log4jVersion = "2.24.3"
// Releases https://github.com/FasterXML/jackson-databind/releases
// CVE issues https://github.com/FasterXML/jackson-databind/issues?utf8=%E2%9C%93&q=+label%3ACVE
// This should align with the Jackson minor version used in Pekko 1.1.x
// https://github.com/apache/pekko/blob/main/project/Dependencies.scala
val JacksonVersion = "2.19.0"
val JacksonDatabindDependencies = Seq(
"com.fasterxml.jackson.core" % "jackson-core" % JacksonVersion,
"com.fasterxml.jackson.core" % "jackson-databind" % JacksonVersion)
// wiremock has very outdated, CVE vulnerable dependencies
private val jettyVersion = "9.4.57.v20241219"
private val guavaVersion = "33.4.8-jre"
private val wireMockDependencies = Seq(
"com.github.tomakehurst" % "wiremock-jre8" % "2.35.2" % Test,
"org.eclipse.jetty" % "jetty-server" % jettyVersion % Test,
"org.eclipse.jetty" % "jetty-servlet" % jettyVersion % Test,
"org.eclipse.jetty" % "jetty-servlets" % jettyVersion % Test,
"org.eclipse.jetty" % "jetty-webapp" % jettyVersion % Test,
"org.eclipse.jetty" % "jetty-proxy" % jettyVersion % Test,
"org.eclipse.jetty" % "jetty-alpn-server" % jettyVersion % Test,
"org.eclipse.jetty" % "jetty-alpn-java-server" % jettyVersion % Test,
"org.eclipse.jetty" % "jetty-alpn-openjdk8-server" % jettyVersion % Test,
"org.eclipse.jetty" % "jetty-alpn-java-client" % jettyVersion % Test,
"org.eclipse.jetty" % "jetty-alpn-openjdk8-client" % jettyVersion % Test,
"org.eclipse.jetty.http2" % "http2-server" % jettyVersion % Test,
"com.google.guava" % "guava" % guavaVersion % Test,
"com.fasterxml.jackson.core" % "jackson-core" % JacksonVersion % Test,
"com.fasterxml.jackson.core" % "jackson-annotations" % JacksonVersion % Test,
"com.fasterxml.jackson.core" % "jackson-databind" % JacksonVersion % Test,
"commons-io" % "commons-io" % "2.19.0" % Test,
"commons-fileupload" % "commons-fileupload" % "1.5" % Test,
"com.jayway.jsonpath" % "json-path" % "2.9.0" % Test)
val CommonSettings = Seq(
// These libraries are added to all modules via the `Common` AutoPlugin
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-stream" % PekkoVersion))
val testkit = Seq(
libraryDependencies := Seq(
"org.scala-lang.modules" %% "scala-collection-compat" % "2.10.0",
"org.apache.pekko" %% "pekko-stream" % PekkoVersion,
"org.apache.pekko" %% "pekko-stream-testkit" % PekkoVersion,
"org.apache.pekko" %% "pekko-slf4j" % PekkoVersion,
"org.slf4j" % "slf4j-api" % Slf4jVersion,
"ch.qos.logback" % "logback-classic" % LogbackVersion,
"org.scalatest" %% "scalatest" % ScalaTestVersion,
"com.dimafeng" %% "testcontainers-scala-scalatest" % TestContainersScalaTestVersion,
"com.novocode" % "junit-interface" % "0.11",
"junit" % "junit" % "4.13.2"))
val Mockito = Seq(
"org.mockito" % "mockito-core" % mockitoVersion % Test,
// https://github.com/scalatest/scalatestplus-mockito/releases
"org.scalatestplus" %% "mockito-4-11" % scalaTestMockitoVersion % Test)
val Amqp = Seq(
libraryDependencies ++= Seq(
"com.rabbitmq" % "amqp-client" % "5.25.0",
"org.scalatestplus" %% scalaTestScalaCheckArtifact % scalaTestScalaCheckVersion % Test) ++ Mockito)
val AwsSpiPekkoHttp = Seq(
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"software.amazon.awssdk" % "http-client-spi" % AwsSdk2Version,
("software.amazon.awssdk" % "dynamodb" % AwsSdk2Version % "it,test").excludeAll(
ExclusionRule("software.amazon.awssdk", "netty-nio-client")),
("software.amazon.awssdk" % "kinesis" % AwsSdk2Version % "it,test").excludeAll(
ExclusionRule("software.amazon.awssdk", "netty-nio-client")),
("software.amazon.awssdk" % "sns" % AwsSdk2Version % "it,test").excludeAll(
ExclusionRule("software.amazon.awssdk", "netty-nio-client")),
("software.amazon.awssdk" % "sqs" % AwsSdk2Version % "it,test").excludeAll(
ExclusionRule("software.amazon.awssdk", "netty-nio-client")),
("software.amazon.awssdk" % "s3" % AwsSdk2Version % "it,test").excludeAll(
ExclusionRule("software.amazon.awssdk", "netty-nio-client")),
("software.amazon.awssdk" % "http-client-tests" % AwsSdk2Version % "it,test").excludeAll(
ExclusionRule("software.amazon.awssdk", "netty-nio-client")),
"com.dimafeng" %% "testcontainers-scala" % TestContainersScalaTestVersion % Test,
"com.github.sbt.junit" % "jupiter-interface" % JupiterKeys.jupiterVersion.value % Test,
"org.scalatest" %% "scalatest" % ScalaTestVersion % "it,test",
"ch.qos.logback" % "logback-classic" % LogbackVersion % "it,test"))
val AwsLambda = Seq(
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
("software.amazon.awssdk" % "lambda" % AwsSdk2Version).excludeAll(
ExclusionRule("software.amazon.awssdk", "apache-client"),
ExclusionRule("software.amazon.awssdk", "netty-nio-client"))) ++ Mockito)
val AzureStorageQueue = Seq(
libraryDependencies ++= Seq(
"com.microsoft.azure" % "azure-storage" % "8.6.6"))
val CassandraVersionInDocs = "4.0"
val CassandraDriverVersion = "4.19.0"
val CassandraDriverVersionInDocs = "4.17"
val Cassandra = Seq(
libraryDependencies ++= JacksonDatabindDependencies ++ Seq(
"org.apache.cassandra" % "java-driver-core" % CassandraDriverVersion,
"io.netty" % "netty-handler" % NettyVersion,
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion % Provided))
val Couchbase = Seq(
libraryDependencies ++= Seq(
"com.couchbase.client" % "java-client" % CouchbaseVersion,
"io.reactivex" % "rxjava-reactive-streams" % "1.2.1",
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion % Provided,
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion % Test,
"com.fasterxml.jackson.core" % "jackson-databind" % JacksonVersion % Test,
"com.fasterxml.jackson.module" %% "jackson-module-scala" % JacksonVersion % Test))
val Couchbase3 = Seq(
libraryDependencies ++= Seq(
"com.couchbase.client" % "java-client" % Couchbase3Version,
"org.apache.pekko" %% "pekko-discovery" % PekkoVersion % Provided,
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion % Test,
"com.fasterxml.jackson.core" % "jackson-databind" % JacksonVersion % Test,
"com.fasterxml.jackson.module" %% "jackson-module-scala" % JacksonVersion % Test))
val `Doc-examples` = Seq(
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-slf4j" % PekkoVersion,
"org.apache.pekko" %% "pekko-stream-testkit" % PekkoVersion % Test,
"org.apache.pekko" %% "pekko-connectors-kafka" % "1.1.0" % Test,
"junit" % "junit" % "4.13.2" % Test,
"org.scalatest" %% "scalatest" % ScalaTestVersion % Test))
val DynamoDB = Seq(
libraryDependencies ++= Seq(
("software.amazon.awssdk" % "dynamodb" % AwsSdk2Version).excludeAll(
ExclusionRule("software.amazon.awssdk", "apache-client"),
ExclusionRule("software.amazon.awssdk", "netty-nio-client")),
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion))
val Elasticsearch = Seq(
libraryDependencies ++= Seq(
"org.apache.pekko" %% "pekko-http" % PekkoHttpVersion,
"org.apache.pekko" %% "pekko-http-spray-json" % PekkoHttpVersion,
"org.slf4j" % "jcl-over-slf4j" % Slf4jVersion % Test) ++ JacksonDatabindDependencies)
val File = Seq(
libraryDependencies ++= Seq(
"com.google.jimfs" % "jimfs" % "1.3.0" % Test))
val avro4sVersion: Def.Initialize[String] = Def.setting {
if (Common.isScala3.value) "5.0.9" else "4.1.1"
}