2026-02-25 13:59:52 +01:00
|
|
|
val AkkaVersion = "2.10.17"
|
2025-02-24 12:09:20 +01:00
|
|
|
val AlpakkaKafkaVersion = "7.0.1"
|
|
|
|
|
val AkkaManagementVersion = "1.6.0"
|
|
|
|
|
val AkkaHttpVersion = "10.7.0"
|
2024-05-20 14:04:27 +02:00
|
|
|
val EmbeddedKafkaVersion = "3.7.0"
|
2025-04-09 09:19:31 +02:00
|
|
|
val LogbackVersion = "1.5.18"
|
2024-04-18 15:41:22 +02:00
|
|
|
|
2024-10-15 19:35:44 +02:00
|
|
|
ThisBuild / scalaVersion := "2.13.15"
|
2024-04-18 15:41:22 +02:00
|
|
|
ThisBuild / organization := "com.lightbend.akka.samples"
|
2025-02-24 12:09:20 +01:00
|
|
|
ThisBuild / Compile / scalacOptions ++= Seq(
|
2024-04-18 15:41:22 +02:00
|
|
|
"-deprecation",
|
|
|
|
|
"-feature",
|
|
|
|
|
"-unchecked",
|
|
|
|
|
"-Xlog-reflective-calls",
|
|
|
|
|
"-Xlint")
|
2025-02-24 12:09:20 +01:00
|
|
|
ThisBuild / Test / javacOptions ++= Seq("-Xlint:unchecked", "-Xlint:deprecation")
|
|
|
|
|
ThisBuild / Test / testOptions += Tests.Argument("-oDF")
|
2024-04-18 15:41:22 +02:00
|
|
|
ThisBuild / licenses := Seq(("CC0", url("http://creativecommons.org/publicdomain/zero/1.0")))
|
|
|
|
|
|
2025-02-24 12:09:20 +01:00
|
|
|
ThisBuild / run / fork := true
|
|
|
|
|
ThisBuild / run / connectInput := true
|
2024-04-18 15:41:22 +02:00
|
|
|
|
|
|
|
|
lazy val `akka-sample-kafka-to-sharding` = project.in(file(".")).aggregate(producer, processor, client)
|
|
|
|
|
|
|
|
|
|
lazy val kafka = project
|
|
|
|
|
.in(file("kafka"))
|
|
|
|
|
.settings(
|
|
|
|
|
libraryDependencies ++= Seq(
|
2024-05-20 14:04:27 +02:00
|
|
|
"ch.qos.logback" % "logback-classic" % LogbackVersion,
|
2025-03-11 16:35:17 +01:00
|
|
|
"org.slf4j" % "log4j-over-slf4j" % "2.0.17",
|
2024-05-20 14:04:27 +02:00
|
|
|
"io.github.embeddedkafka" %% "embedded-kafka" % EmbeddedKafkaVersion),
|
2024-04-18 15:41:22 +02:00
|
|
|
cancelable := false)
|
|
|
|
|
|
|
|
|
|
lazy val client = project
|
|
|
|
|
.in(file("client"))
|
|
|
|
|
.enablePlugins(AkkaGrpcPlugin)
|
|
|
|
|
.settings(
|
|
|
|
|
libraryDependencies ++= Seq(
|
|
|
|
|
"com.typesafe.akka" %% "akka-stream" % AkkaVersion,
|
2025-02-24 12:09:20 +01:00
|
|
|
"com.typesafe.akka" %% "akka-pki" % AkkaVersion,
|
|
|
|
|
"com.typesafe.akka" %% "akka-discovery" % AkkaVersion,
|
|
|
|
|
"ch.qos.logback" % "logback-classic" % LogbackVersion))
|
2024-04-18 15:41:22 +02:00
|
|
|
|
|
|
|
|
lazy val processor = project
|
|
|
|
|
.in(file("processor"))
|
|
|
|
|
.enablePlugins(AkkaGrpcPlugin)
|
|
|
|
|
.settings(
|
|
|
|
|
libraryDependencies ++= Seq(
|
2024-05-20 14:04:27 +02:00
|
|
|
"com.typesafe.akka" %% "akka-stream-kafka" % AlpakkaKafkaVersion,
|
|
|
|
|
"com.typesafe.akka" %% "akka-stream-kafka-cluster-sharding" % AlpakkaKafkaVersion,
|
|
|
|
|
"com.typesafe.akka" %% "akka-stream" % AkkaVersion,
|
|
|
|
|
"com.typesafe.akka" %% "akka-discovery" % AkkaVersion,
|
|
|
|
|
"com.typesafe.akka" %% "akka-cluster-sharding-typed" % AkkaVersion,
|
|
|
|
|
"com.typesafe.akka" %% "akka-stream-typed" % AkkaVersion,
|
|
|
|
|
"com.typesafe.akka" %% "akka-serialization-jackson" % AkkaVersion,
|
|
|
|
|
"com.lightbend.akka.management" %% "akka-management" % AkkaManagementVersion,
|
|
|
|
|
"com.lightbend.akka.management" %% "akka-management-cluster-http" % AkkaManagementVersion,
|
|
|
|
|
"com.typesafe.akka" %% "akka-http-spray-json" % AkkaHttpVersion,
|
|
|
|
|
"ch.qos.logback" % "logback-classic" % LogbackVersion,
|
|
|
|
|
"com.typesafe.akka" %% "akka-actor-testkit-typed" % AkkaVersion % Test,
|
|
|
|
|
"org.scalatest" %% "scalatest" % "3.2.18" % Test))
|
2024-04-18 15:41:22 +02:00
|
|
|
|
|
|
|
|
lazy val producer = project
|
|
|
|
|
.in(file("producer"))
|
2025-02-24 12:09:20 +01:00
|
|
|
.settings(Compile / PB.targets := Seq(scalapb.gen() -> (Compile / sourceManaged).value))
|
2024-04-18 15:41:22 +02:00
|
|
|
.settings(
|
|
|
|
|
libraryDependencies ++= Seq(
|
2024-05-20 14:04:27 +02:00
|
|
|
"com.typesafe.akka" %% "akka-stream-kafka" % AlpakkaKafkaVersion,
|
|
|
|
|
"com.typesafe.akka" %% "akka-stream" % AkkaVersion,
|
2025-02-24 12:09:20 +01:00
|
|
|
"ch.qos.logback" % "logback-classic" % LogbackVersion,
|
2024-05-20 14:04:27 +02:00
|
|
|
"org.scalatest" %% "scalatest" % "3.2.18" % Test))
|