Skip to content

Commit d48d400

Browse files
committed
Added dependencies to build.sbt, plugins.sbt and ProjectPlugin.scala
1 parent 18cc2dc commit d48d400

File tree

4 files changed

+75
-68
lines changed

4 files changed

+75
-68
lines changed

build.sbt

Lines changed: 7 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,29 @@
11
lazy val root = (project in file("."))
22
.settings(mainClass in Universal := Some("org.scalaexercises.evaluator.EvaluatorServer"))
3-
.settings(stage <<= (stage in Universal in `evaluator-server`))
3+
.settings(stage := (stage in Universal in `evaluator-server`).value)
44
.settings(noPublishSettings: _*)
5-
.aggregate(
6-
`evaluator-server`,
7-
`evaluator-shared-jvm`,
8-
`evaluator-shared-js`,
9-
`evaluator-client-jvm`,
10-
`evaluator-client-js`)
5+
.aggregate(`evaluator-server`, `evaluator-client`)
116

12-
lazy val `evaluator-shared` = (crossProject in file("shared"))
7+
lazy val `evaluator-shared` = (project in file("shared"))
138
.enablePlugins(AutomateHeaderPlugin)
149
.settings(name := "evaluator-shared")
1510

16-
lazy val `evaluator-shared-jvm` = `evaluator-shared`.jvm
17-
lazy val `evaluator-shared-js` = `evaluator-shared`.js
18-
19-
lazy val `evaluator-client` = (crossProject in file("client"))
20-
.dependsOn(`evaluator-shared`)
11+
lazy val `evaluator-client` = (project in file("client"))
2112
.enablePlugins(AutomateHeaderPlugin)
2213
.settings(
2314
name := "evaluator-client",
24-
libraryDependencies ++= Seq(
25-
%%("roshttp"),
26-
%%("cats-free"),
27-
%%("circe-core"),
28-
%%("circe-generic"),
29-
%%("circe-parser"),
30-
%%("log4s"),
31-
%("slf4j-simple"),
32-
%%("scalatest") % "test"
33-
)
15+
clientDependencies
3416
)
35-
.jsSettings(sharedJsSettings: _*)
36-
37-
lazy val `evaluator-client-jvm` = `evaluator-client`.jvm
38-
lazy val `evaluator-client-js` = `evaluator-client`.js
3917

4018
lazy val `evaluator-server` = (project in file("server"))
41-
.dependsOn(`evaluator-shared-jvm`)
4219
.enablePlugins(JavaAppPackaging)
4320
.enablePlugins(AutomateHeaderPlugin)
4421
.enablePlugins(sbtdocker.DockerPlugin)
4522
.enablePlugins(BuildInfoPlugin)
4623
.settings(noPublishSettings: _*)
4724
.settings(
4825
name := "evaluator-server",
49-
libraryDependencies ++= Seq(
50-
%%("monix"),
51-
%%("circe-core"),
52-
%%("circe-generic"),
53-
%%("circe-parser"),
54-
%%("log4s"),
55-
%("slf4j-simple"),
56-
%%("http4s-dsl", http4sV),
57-
%%("http4s-blaze-server", http4sV),
58-
%%("http4s-blaze-client", http4sV),
59-
%%("http4s-circe", http4sV),
60-
%("config"),
61-
%%("jwt-core"),
62-
"io.get-coursier" %% "coursier" % "1.0.0-M15-3",
63-
"io.get-coursier" %% "coursier-cache" % "1.0.0-M15-3",
64-
%%("scalatest") % "test"
65-
),
26+
serverHttpDependencies,
6627
assemblyJarName in assembly := "evaluator-server.jar"
6728
)
6829
.settings(dockerSettings: _*)
@@ -75,15 +36,7 @@ lazy val `smoketests` = (project in file("smoketests"))
7536
.settings(noPublishSettings: _*)
7637
.settings(
7738
name := "evaluator-server-smoke-tests",
78-
libraryDependencies ++= Seq(
79-
%%("circe-core"),
80-
%%("circe-generic"),
81-
%%("circe-parser"),
82-
%%("http4s-blaze-client", http4sV),
83-
%%("http4s-circe", http4sV),
84-
%%("jwt-core"),
85-
%%("scalatest") % "test"
86-
)
39+
smoketestDependencies
8740
)
8841
.settings(buildInfoSettings: _*)
8942

project/ProjectPlugin.scala

Lines changed: 61 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import de.heikoseeberger.sbtheader.{HeaderPattern, HeaderPlugin}
1+
import de.heikoseeberger.sbtheader.HeaderPlugin
22
import de.heikoseeberger.sbtheader.HeaderPlugin.autoImport._
33
import sbt.Keys._
44
import sbt.{Def, _}
@@ -17,10 +17,19 @@ object ProjectPlugin extends AutoPlugin {
1717
override def requires: Plugins = plugins.JvmPlugin && HeaderPlugin && OrgPoliciesPlugin
1818

1919
object autoImport {
20-
lazy val http4sV = "0.15.7a"
20+
21+
object V {
22+
lazy val http4s = "0.20.10"
23+
lazy val circe = "0.11.1"
24+
lazy val log4s = "1.7.0"
25+
lazy val scalatest = "3.0.5"
26+
lazy val roshttp = "2.2.4"
27+
lazy val slf4jSimple = "1.7.28"
28+
lazy val jwtCore = "4.0.0"
29+
}
2130

2231
lazy val dockerSettings = Seq(
23-
docker <<= docker dependsOn assembly,
32+
docker := (docker dependsOn assembly).value,
2433
dockerfile in docker := {
2534

2635
val artifact: File = assembly.value
@@ -59,11 +68,53 @@ object ProjectPlugin extends AutoPlugin {
5968
)
6069
}
6170

71+
lazy val serverHttpDependencies = Seq(
72+
libraryDependencies ++= Seq(
73+
%%("circe-core", V.circe),
74+
%%("circe-generic", V.circe),
75+
%%("circe-parser", V.circe),
76+
%%("log4s", V.log4s),
77+
%("slf4j-simple", V.slf4jSimple),
78+
%%("http4s-dsl", V.http4s),
79+
%%("http4s-blaze-server", V.http4s),
80+
%%("http4s-blaze-client", V.http4s),
81+
%%("http4s-circe", V.http4s),
82+
%("config"),
83+
%%("jwt-core", V.jwtCore),
84+
%%("scalatest", V.scalatest) % "test"
85+
),
86+
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "2.0.0-RC3-2")
87+
)
88+
6289
lazy val buildInfoSettings = Seq(
6390
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion),
6491
buildInfoPackage := "org.scalaexercises.evaluator"
6592
)
6693

94+
lazy val smoketestDependencies = Seq(
95+
libraryDependencies ++= Seq(
96+
%%("circe-core", V.circe),
97+
%%("circe-generic", V.circe),
98+
%%("circe-parser", V.circe),
99+
%%("http4s-blaze-client", V.http4s),
100+
%%("http4s-circe", V.http4s),
101+
%%("jwt-core", V.jwtCore),
102+
%%("scalatest", V.scalatest) % "test"
103+
)
104+
)
105+
106+
lazy val clientDependencies = Seq(
107+
libraryDependencies ++= Seq(
108+
%%("http4s-blaze-client", V.http4s),
109+
%%("http4s-circe", V.http4s),
110+
%%("circe-core", V.circe),
111+
%%("circe-generic", V.circe),
112+
%%("circe-parser", V.circe),
113+
%%("log4s", V.log4s),
114+
%("slf4j-simple", V.slf4jSimple),
115+
%%("scalatest", V.scalatest) % "test"
116+
))
117+
67118
}
68119

69120
override def projectSettings: Seq[Def.Setting[_]] =
@@ -84,20 +135,21 @@ object ProjectPlugin extends AutoPlugin {
84135
organizationEmail = "[email protected]"
85136
),
86137
orgLicenseSetting := ApacheLicense,
87-
scalaVersion := "2.11.11",
138+
scalaVersion := "2.12.10",
88139
scalaOrganization := "org.scala-lang",
89140
javacOptions ++= Seq("-encoding", "UTF-8", "-Xlint:-options"),
90141
fork in Test := false,
91142
parallelExecution in Test := false,
92143
cancelable in Global := true,
93-
headers := Map(
94-
"scala" -> (HeaderPattern.cStyleBlockComment,
95-
s"""|/*
144+
headerLicense := Some(
145+
HeaderLicense.Custom(
146+
s"""|/*
96147
| * scala-exercises - ${name.value}
97148
| * Copyright (C) 2015-2016 47 Degrees, LLC. <http://www.47deg.com>
98149
| */
99150
|
100-
|""".stripMargin)
101-
)
151+
|""".stripMargin
152+
)),
153+
headerMappings := headerMappings.value + (HeaderFileType.scala -> HeaderCommentStyle.CStyleBlockComment)
102154
) ++ shellPromptSettings
103155
}

project/build.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
sbt.version=0.13.12
1+
sbt.version=1.2.7

project/plugins.sbt

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
resolvers += Resolver.sonatypeRepo("snapshots")
2-
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.2.0-M8")
3-
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.4")
4-
addSbtPlugin("se.marcuslonnberg" % "sbt-docker" % "1.4.1")
5-
addSbtPlugin("com.47deg" % "sbt-org-policies" % "0.5.13")
2+
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.4.1")
3+
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.10")
4+
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.9.0")
5+
addSbtPlugin("se.marcuslonnberg" % "sbt-docker" % "1.5.0")
6+
addSbtPlugin("com.47deg" % "sbt-org-policies" % "0.12.0-M1")
7+
addSbtPlugin("de.heikoseeberger" % "sbt-header" % "3.0.1")

0 commit comments

Comments
 (0)