forked from ScalaConsultants/zio-scala2-quickstart.g8
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
82 lines (74 loc) · 3.23 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
75
76
77
78
79
80
81
82
// Dependencies are needed for Scala Steward to check if there are newer versions
val zioVersion = "2.0.19"
val zioJsonVersion = "0.7.3"
val zioConfigVersion = "3.0.7"
val logbackClassicVersion = "1.4.7"
val postgresqlVersion = "42.6.0"
val testContainersVersion = "0.40.17"
val zioLoggingVersion = "2.1.12"
val flywayVersion = "9.16.3"
val akkaHttpVersion = "10.2.10"
val akkaVersion = "2.6.20"
val zioAkkaHttpInterop = "0.6.0"
val akkaHttpZioJson = "1.40.0-RC3"
val zioHttpVersion = "3.0.0-RC1"
val slickVersion = "3.4.1"
val zioSlickInterop = "0.6.0"
val quillVersion = "4.6.1"
lazy val It = config("it").extend(Test)
val root = (project in file("."))
.enablePlugins(ScriptedPlugin)
.configs(It)
.settings(
name := "zio-scala2-quickstart",
Test / test := {
val _ = (Test / g8Test).toTask("").value
},
scriptedLaunchOpts ++= List(
"-Xms1024m",
"-Xmx1024m",
"-XX:ReservedCodeCacheSize=128m",
"-Xss2m",
"-Dfile.encoding=UTF-8"
),
resolvers += Resolver.url(
"typesafe",
url("https://repo.typesafe.com/typesafe/ivy-releases/")
)(Resolver.ivyStylePatterns),
addCompilerPlugin("com.olegpy" %% "better-monadic-for" % "0.3.1"),
libraryDependencies ++= Seq(
// zio-http
"dev.zio" %% "zio-http" % zioHttpVersion,
// akka-http
"com.typesafe.akka" %% "akka-http" % akkaHttpVersion,
"com.typesafe.akka" %% "akka-actor-typed" % akkaVersion,
"com.typesafe.akka" %% "akka-stream" % akkaVersion,
"de.heikoseeberger" %% "akka-http-zio-json" % akkaHttpZioJson,
"io.scalac" %% "zio-akka-http-interop" % zioAkkaHttpInterop,
// slick
"com.typesafe.slick" %% "slick" % slickVersion,
"com.typesafe.slick" %% "slick-hikaricp" % slickVersion,
"io.scalac" %% "zio-slick-interop" % zioSlickInterop,
// quill
"io.getquill" %% "quill-jdbc-zio" % quillVersion,
// general
"dev.zio" %% "zio-json" % zioJsonVersion,
"dev.zio" %% "zio" % zioVersion,
"dev.zio" %% "zio-config" % zioConfigVersion,
"dev.zio" %% "zio-config-magnolia" % zioConfigVersion,
"dev.zio" %% "zio-config-typesafe" % zioConfigVersion,
"org.postgresql" % "postgresql" % postgresqlVersion,
"org.flywaydb" % "flyway-core" % flywayVersion,
// logging
"dev.zio" %% "zio-logging" % zioLoggingVersion,
"dev.zio" %% "zio-logging-slf4j" % zioLoggingVersion,
"ch.qos.logback" % "logback-classic" % logbackClassicVersion,
// test
"com.typesafe.akka" %% "akka-http-testkit" % akkaHttpVersion,
"com.typesafe.akka" %% "akka-stream-testkit" % akkaVersion,
"com.typesafe.akka" %% "akka-actor-testkit-typed" % akkaVersion,
"dev.zio" %% "zio-test-sbt" % zioVersion % Test,
"com.dimafeng" %% "testcontainers-scala-postgresql" % testContainersVersion % Test
),
testFrameworks := Seq(new TestFramework("zio.test.sbt.ZTestFramework"))
)