-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild.sbt
64 lines (58 loc) · 1.84 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
inThisBuild(
List(
organization := "com.lewisjkl",
homepage := Some(url("https://github.com/lewisjkl/kafkakit")),
licenses := List("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0")),
developers := List(
Developer(
"lewisjkl",
"Jeff Lewis",
url("https://lewisjkl.com")
)
)
)
)
val libraries = List(
"ch.qos.logback" % "logback-classic" % "1.2.3",
"co.fs2" %% "fs2-io" % "2.4.6",
"com.github.fd4s" %% "fs2-kafka" % "1.0.0",
"com.monovore" %% "decline-effect" % "1.3.0",
"com.olegpy" %% "meow-mtl-effects" % "0.4.1",
"dev.profunktor" %% "console4cats" % "0.8.1",
"io.circe" %% "circe-fs2" % "0.13.0",
"io.circe" %% "circe-generic-extras" % "0.13.0",
"io.confluent" % "kafka-avro-serializer" % "5.5.4",
"org.typelevel" %% "cats-mtl-core" % "0.7.1"
)
def crossPlugin(x: sbt.librarymanagement.ModuleID) = compilerPlugin(x.cross(CrossVersion.full))
val compilerPlugins = List(
compilerPlugin("com.olegpy" %% "better-monadic-for" % "0.3.1"),
crossPlugin("org.typelevel" %% "kind-projector" % "0.11.3"),
crossPlugin("com.github.cb372" % "scala-typed-holes" % "0.1.9")
)
val res = List(
"confluent" at "https://packages.confluent.io/maven/"
)
val commonSettings = Seq(
scalaVersion := "2.13.4",
scalacOptions -= "-Xfatal-warnings",
scalacOptions ++= Seq(
"-Ymacro-annotations",
"-Yimports:" ++ List(
"scala",
"scala.Predef",
"cats",
"cats.implicits",
"cats.effect",
"cats.effect.implicits",
"cats.effect.concurrent"
).mkString(",")
),
name := "kafkakit",
updateOptions := updateOptions.value.withGigahorse(false),
resolvers ++= res,
libraryDependencies ++= libraries ++ compilerPlugins
)
val kafkakit =
project.in(file(".")).settings(commonSettings).enablePlugins(JavaAppPackaging)