-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
74 lines (66 loc) · 2.32 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
73
74
name := "glomma"
Global / onChangedBuildSource := ReloadOnSourceChanges
ThisBuild / scalaVersion := "2.13.5"
ThisBuild / useSuperShell := false
// ScalaFix configuration
ThisBuild / scalafixDependencies += "com.github.liancheng" %% "organize-imports" % "0.5.0"
val breezeVersion = "1.1"
val catsVersion = "2.4.2"
val catsEffectVersion = "2.2.0"
val circeVersion = "0.13.0"
val finatraVersion = "21.3.0"
val http4sVersion = "1.0.0-M6"
val logbackVersion = "1.2.3"
val munitVersion = "0.7.22"
val build = taskKey[Unit]("Format, compile, and test")
val sharedSettings = Seq(
libraryDependencies ++= Seq(
"org.scalanlp" %% "breeze" % breezeVersion,
"org.typelevel" %% "cats-core" % catsVersion,
"org.typelevel" %% "cats-free" % catsVersion,
"org.typelevel" %% "cats-effect" % catsEffectVersion,
"io.circe" %% "circe-core" % circeVersion,
"io.circe" %% "circe-generic" % circeVersion,
"io.circe" %% "circe-parser" % circeVersion,
"ch.qos.logback" % "logback-classic" % logbackVersion,
"org.scalameta" %% "munit" % munitVersion % Test
),
scalacOptions ++= Seq(
"-deprecation",
"-Yrangepos",
"-Ymacro-annotations",
"-Wunused:imports"
),
testFrameworks += new TestFramework("munit.Framework"),
addCompilerPlugin(scalafixSemanticdb),
addCompilerPlugin("org.typelevel" % "kind-projector" % "0.11.3" cross CrossVersion.full)
)
lazy val event = project
.in(file("event"))
.settings(
sharedSettings,
build := { Def.sequential(scalafixAll.toTask(""), scalafmtAll, Test / test).value }
)
lazy val data = project
.in(file("data"))
.settings(
sharedSettings,
libraryDependencies ++= Seq(
"org.http4s" %% "http4s-dsl" % http4sVersion,
"org.http4s" %% "http4s-blaze-server" % http4sVersion,
"org.http4s" %% "http4s-blaze-client" % http4sVersion,
"org.http4s" %% "http4s-circe" % http4sVersion,
),
build := { Def.sequential(scalafixAll.toTask(""), scalafmtAll, Test / test).value }
)
.dependsOn(event)
lazy val ingest = project
.in(file("ingest"))
.settings(
sharedSettings,
libraryDependencies ++= Seq(
"com.twitter" %% "finatra-http-server" % finatraVersion
),
build := { Def.sequential(scalafixAll.toTask(""), scalafmtAll, Test / test).value }
)
.dependsOn(event, data % Test)