-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
56 lines (46 loc) · 1.73 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
import sbt.Global
name := "scala-interview-project"
version := "1.0.0"
scalaVersion := "2.13.8"
lazy val scalatestVersion = "3.0.5"
lazy val logbackClassicVersion = "1.2.10"
lazy val circeVersion = "0.14.1"
lazy val finchVersion = "0.32.1"
lazy val pureconfigVersion = "0.14.1"
run / fork := true
val disabledWarts = Set(
Wart.Any, // cats
Wart.NonUnitStatements // test assertions
)
wartremoverWarnings ++= Warts.unsafe.filterNot(disabledWarts.contains)
scalafmtOnCompile := true
scalacOptions ++= Seq(
"-encoding",
"UTF-8", // source files are in UTF-8
"-deprecation", // warn about use of deprecated APIs
"-Xfatal-warnings" // turn compiler warnings into errors
)
libraryDependencies ++= Seq(
// Cats / Cats Effect
"org.typelevel" %% "cats-core" % "2.7.0",
"org.typelevel" %% "cats-effect" % "2.5.4",
"org.typelevel" %% "kittens" % "2.3.2",
"org.typelevel" %% "mouse" % "1.0.9",
// Circe
"io.circe" %% "circe-core" % circeVersion,
"io.circe" %% "circe-generic" % circeVersion,
"io.circe" %% "circe-parser" % circeVersion,
"io.circe" %% "circe-refined" % circeVersion,
"io.circe" %% "circe-fs2" % "0.14.0",
// Logging
"io.chrisdavenport" %% "log4cats-slf4j" % "1.1.1",
"ch.qos.logback" % "logback-classic" % logbackClassicVersion % Runtime,
// Testing
"org.scalatest" %% "scalatest" % "3.2.11" % Test,
"org.scalatestplus" %% "scalacheck-1-15" % "3.2.11.0" % Test,
"org.scalacheck" %% "scalacheck" % "1.15.4" % Test,
"com.codecommit" %% "cats-effect-testing-scalatest" % "0.5.4" % Test
)
dependencyOverrides ++= Seq(
"co.fs2" %% "fs2-core" % "2.5.10", // Avoid FS2 3.x, stay on 2.x with cats-effect 2.x
)