-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathbuild.sbt
72 lines (62 loc) · 2.33 KB
/
build.sbt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
// Scala
val log4catsV = "2.7.0"
val kafka4sV = "4.0.0-M3"
val fs2KafkaV = "3.5.1"
val http4sV = "0.23.3"
val pureConfigV = "0.17.6"
val testContainersV = "0.41.3"
val munitV = "1.0.0"
val munitCatsEffectV = "1.0.5"
// Java
val logbackClassicV = "1.5.6"
//plugins
val kindProjectorV = "0.13.2"
val bm4V = "0.3.1"
val sharedSettings = Seq(
scalaVersion := "2.13.6",
Test / fork := true,
resolvers += "confluent" at "https://packages.confluent.io/maven/",
addCompilerPlugin("org.typelevel" % "kind-projector" % kindProjectorV cross CrossVersion.full),
addCompilerPlugin("com.olegpy" %% "better-monadic-for" % bm4V),
testFrameworks += new TestFramework("munit.Framework")
)
val commonDeps =
Seq(
"ch.qos.logback" % "logback-classic" % logbackClassicV,
"org.typelevel" %% "log4cats-slf4j" % log4catsV,
"org.http4s" %% "http4s-dsl" % http4sV,
"org.http4s" %% "http4s-blaze-server" % http4sV,
"com.github.pureconfig" %% "pureconfig" % pureConfigV,
"org.scalameta" %% "munit" % munitV % Test,
"org.typelevel" %% "munit-cats-effect-3" % munitCatsEffectV % Test,
"com.dimafeng" %% "testcontainers-scala-munit" % testContainersV % Test,
"com.dimafeng" %% "testcontainers-scala-kafka" % testContainersV % Test
)
//ThisBuild / scalacOptions += "-P:semanticdb:synthetics:on"
val fs2kafkaDeps = Seq("com.github.fd4s" %% "fs2-kafka-vulcan" % fs2KafkaV)
val kafka4sDeps = Seq("com.banno" %% "kafka4s" % kafka4sV)
lazy val common =
project
.in(file("modules/common"))
.settings(name := "common")
.settings(sharedSettings)
.settings(libraryDependencies ++= commonDeps)
lazy val fs2kafka =
project
.in(file("modules/fs2kafka"))
.settings(name := "fs2kafka")
.settings(sharedSettings)
.settings(libraryDependencies ++= fs2kafkaDeps)
.dependsOn(common % "compile->compile;test->test")
lazy val kafka4s =
project
.in(file("modules/kafka4s"))
.settings(name := "kafka4s")
.settings(sharedSettings)
.settings(libraryDependencies ++= kafka4sDeps)
.dependsOn(common % "compile->compile;test->test")
lazy val root =
project
.in(file("."))
.settings(name := "kafka-spike")
.aggregate(common, fs2kafka, kafka4s)