-
Notifications
You must be signed in to change notification settings - Fork 18
/
build.sbt
98 lines (85 loc) · 2.7 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name := """web-frameworks-templates"""
version := "0.1.1"
val scalaV = "2.13.14"
val akkaHttpVersion = "10.6.3"
val http4sVersion = "0.23.13"
val unfilteredVersion = "0.10.4"
val ScalatraVersion = "3.1.0"
lazy val `akka-http` = (project in file("akka-http")).settings(
scalaVersion := scalaV,
scalacOptions ++= Seq("-deprecation", "-feature"),
resolvers += "Akka library repository".at("https://repo.akka.io/maven"),
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-http" % akkaHttpVersion,
"com.typesafe.akka" %% "akka-http-spray-json" % akkaHttpVersion,
"com.typesafe.akka" %% "akka-stream" % "2.9.3",
"com.typesafe.akka" %% "akka-actor-typed" % "2.9.3"
)
)
lazy val cask = (project in file("cask")).settings(
scalaVersion := scalaV,
libraryDependencies ++= Seq(
"com.lihaoyi" %% "cask" % "0.9.4"
)
)
lazy val http4s = (project in file("http4s")).settings(
scalaVersion := scalaV,
scalafmtOnCompile := true,
scalacOptions ++= Seq(
"-deprecation",
"-language:higherKinds",
"-language:postfixOps",
"-feature"
),
libraryDependencies ++= Seq(
"org.http4s" %% "http4s-blaze-server" % http4sVersion,
"org.http4s" %% "http4s-circe" % http4sVersion,
"org.http4s" %% "http4s-dsl" % http4sVersion
)
)
lazy val play = (project in file("play"))
.settings(
scalaVersion := scalaV,
scalacOptions += s"-Wconf:src=${target.value}/.*:s",
libraryDependencies ++= Seq(
guice,
"com.typesafe.play" %% "play-json" % "2.9.3"
)
)
.enablePlugins(PlayScala)
.disablePlugins(PlayLayoutPlugin)
lazy val scalatra = (project in file("scalatra")).settings(
scalaVersion := scalaV,
libraryDependencies ++= Seq(
"org.scalatra" %% "scalatra-javax" % ScalatraVersion,
"org.scalatra" %% "scalatra-json" % "3.0.0-M5-javax",
"org.json4s" %% "json4s-jackson" % "4.0.1",
"ch.qos.logback" % "logback-classic" % "1.2.11" % "runtime",
"org.eclipse.jetty" % "jetty-webapp" % "9.4.48.v20220622" % "container;compile",
"javax.servlet" % "javax.servlet-api" % "3.1.0" % "provided"
)
)
lazy val unfiltered = (project in file("unfiltered")).settings(
scalaVersion := scalaV,
libraryDependencies ++= Seq(
"ws.unfiltered" %% "unfiltered-filter" % unfilteredVersion,
"ws.unfiltered" %% "unfiltered-netty-server" % unfilteredVersion,
"ws.unfiltered" %% "unfiltered-json4s" % unfilteredVersion
)
)
lazy val `zio-http` = (project in file("zio-http")).settings(
scalaVersion := scalaV,
libraryDependencies += "dev.zio" %% "zio-http" % "3.0.0-RC3"
)
lazy val root = (project
.in(file("."))
.aggregate(
`zio-http`,
`akka-http`,
unfiltered,
http4s,
play,
scalatra,
cask,
))
enablePlugins(ScalatraPlugin)