Skip to content

Commit 23d62e5

Browse files
authored
Merge pull request #61 from scala-exercises/enrique-update-dependencies
Dependencies and Scala Version Update
2 parents 18cc2dc + 208eb74 commit 23d62e5

File tree

5 files changed

+84
-74
lines changed

5 files changed

+84
-74
lines changed

.travis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ services:
44
- docker
55
scala:
66
- 2.11.11
7-
- 2.12.3
7+
- 2.12.10
88
jdk:
99
- oraclejdk8
1010
cache:
@@ -30,7 +30,7 @@ after_success:
3030
sbt ++$TRAVIS_SCALA_VERSION dockerBuildAndPush;
3131
sbt ++$TRAVIS_SCALA_VERSION smoketests/test;
3232
fi
33-
- if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" -a "$TRAVIS_SCALA_VERSION" = "2.12.3" ]; then
33+
- if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" -a "$TRAVIS_SCALA_VERSION" = "2.12.10" ]; then
3434
sbt ++$TRAVIS_SCALA_VERSION publishSignedAll;
3535
echo "Deploying to Heroku";
3636
docker login [email protected] --password=$heroku_token registry.heroku.com;

build.sbt

Lines changed: 12 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,25 @@
1-
lazy val root = (project in file("."))
2-
.settings(mainClass in Universal := Some("org.scalaexercises.evaluator.EvaluatorServer"))
3-
.settings(stage <<= (stage in Universal in `evaluator-server`))
4-
.settings(noPublishSettings: _*)
5-
.aggregate(
6-
`evaluator-server`,
7-
`evaluator-shared-jvm`,
8-
`evaluator-shared-js`,
9-
`evaluator-client-jvm`,
10-
`evaluator-client-js`)
11-
12-
lazy val `evaluator-shared` = (crossProject in file("shared"))
1+
lazy val `evaluator-shared` = (project in file("shared"))
132
.enablePlugins(AutomateHeaderPlugin)
143
.settings(name := "evaluator-shared")
154

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"))
5+
lazy val `evaluator-client` = (project in file("client"))
206
.dependsOn(`evaluator-shared`)
217
.enablePlugins(AutomateHeaderPlugin)
228
.settings(
239
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-
)
10+
clientDependencies
3411
)
35-
.jsSettings(sharedJsSettings: _*)
36-
37-
lazy val `evaluator-client-jvm` = `evaluator-client`.jvm
38-
lazy val `evaluator-client-js` = `evaluator-client`.js
3912

4013
lazy val `evaluator-server` = (project in file("server"))
41-
.dependsOn(`evaluator-shared-jvm`)
14+
.dependsOn(`evaluator-shared`)
4215
.enablePlugins(JavaAppPackaging)
4316
.enablePlugins(AutomateHeaderPlugin)
4417
.enablePlugins(sbtdocker.DockerPlugin)
4518
.enablePlugins(BuildInfoPlugin)
4619
.settings(noPublishSettings: _*)
4720
.settings(
4821
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-
),
22+
serverHttpDependencies,
6623
assemblyJarName in assembly := "evaluator-server.jar"
6724
)
6825
.settings(dockerSettings: _*)
@@ -75,18 +32,16 @@ lazy val `smoketests` = (project in file("smoketests"))
7532
.settings(noPublishSettings: _*)
7633
.settings(
7734
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-
)
35+
smoketestDependencies
8736
)
8837
.settings(buildInfoSettings: _*)
8938

39+
lazy val root = (project in file("."))
40+
.settings(mainClass in Universal := Some("org.scalaexercises.evaluator.EvaluatorServer"))
41+
.settings(stage := (stage in Universal in `evaluator-server`).value)
42+
.settings(noPublishSettings: _*)
43+
.aggregate(`evaluator-server`, `evaluator-client`, `evaluator-shared`, `smoketests`)
44+
9045
addCommandAlias(
9146
"publishSignedAll",
9247
";evaluator-sharedJS/publishSigned;evaluator-sharedJVM/publishSigned;evaluator-clientJS/publishSigned;evaluator-clientJVM/publishSigned"

project/ProjectPlugin.scala

Lines changed: 63 additions & 10 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,20 @@ 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+
lazy val coursier = "2.0.0-RC3-2"
30+
}
2131

2232
lazy val dockerSettings = Seq(
23-
docker <<= docker dependsOn assembly,
33+
docker := (docker dependsOn assembly).value,
2434
dockerfile in docker := {
2535

2636
val artifact: File = assembly.value
@@ -59,11 +69,53 @@ object ProjectPlugin extends AutoPlugin {
5969
)
6070
}
6171

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

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

69121
override def projectSettings: Seq[Def.Setting[_]] =
@@ -84,20 +136,21 @@ object ProjectPlugin extends AutoPlugin {
84136
organizationEmail = "[email protected]"
85137
),
86138
orgLicenseSetting := ApacheLicense,
87-
scalaVersion := "2.11.11",
139+
scalaVersion := "2.12.10",
88140
scalaOrganization := "org.scala-lang",
89141
javacOptions ++= Seq("-encoding", "UTF-8", "-Xlint:-options"),
90142
fork in Test := false,
91143
parallelExecution in Test := false,
92144
cancelable in Global := true,
93-
headers := Map(
94-
"scala" -> (HeaderPattern.cStyleBlockComment,
95-
s"""|/*
145+
headerLicense := Some(
146+
HeaderLicense.Custom(
147+
s"""|/*
96148
| * scala-exercises - ${name.value}
97-
| * Copyright (C) 2015-2016 47 Degrees, LLC. <http://www.47deg.com>
149+
| * Copyright (C) 2015-2019 47 Degrees, LLC. <http://www.47deg.com>
98150
| */
99151
|
100-
|""".stripMargin)
101-
)
152+
|""".stripMargin
153+
)),
154+
headerMappings := headerMappings.value + (HeaderFileType.scala -> HeaderCommentStyle.CStyleBlockComment)
102155
) ++ shellPromptSettings
103156
}

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.8

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-M2")
7+
addSbtPlugin("de.heikoseeberger" % "sbt-header" % "3.0.1")

0 commit comments

Comments
 (0)