forked from doriordan/skuber
-
Notifications
You must be signed in to change notification settings - Fork 1
/
build.sbt
70 lines (52 loc) · 2.21 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
resolvers += "Typesafe Releases" at "http://repo.typesafe.com/typesafe/releases/"
val playws = "com.typesafe.play" %% "play-ws" % "2.4.8"
val playtest = "com.typesafe.play" %% "play-test" % "2.4.8"
val scalaCheck = "org.scalacheck" %% "scalacheck" % "1.12.4"
val specs2 = "org.specs2" %% "specs2-core" % "3.7"
val snakeYaml = "org.yaml" % "snakeyaml" % "1.16"
val commonsIO = "commons-io" % "commons-io" % "2.4"
val playIterateesExtra = "com.typesafe.play.extras" %% "iteratees-extras" % "1.5.0"
val mockws = "de.leanovate.play-mockws" %% "play-mockws" % "2.4.2"
// Akka is required by the examples
val akka = "com.typesafe.akka" %% "akka-actor" % "2.4.0"
// Need Java 8 or later as the java.time package is used to represent K8S timestamps
scalacOptions += "-target:jvm-1.8"
scalacOptions in Test ++= Seq("-Yrangepos")
organization in ThisBuild := "io.doriordan"
scalaVersion in ThisBuild := "2.11.8"
licenses in ThisBuild += ("Apache-2.0", url("https://www.apache.org/licenses/LICENSE-2.0.html"))
lazy val commonSettings = Seq(
)
lazy val skuberSettings = Seq(
name := "skuber",
libraryDependencies ++= Seq(playws, playIterateesExtra, snakeYaml, commonsIO, scalaCheck % Test, specs2 % Test, mockws % Test, playtest % Test).
map(_.exclude("commons-logging", "commons-logging"))
)
lazy val examplesSettings = Seq(
name := "skuber-examples",
libraryDependencies += akka
)
// by default run the guestbook example when executing a fat examples JAR
lazy val examplesAssemblySettings = Seq(
mainClass in assembly := Some("skuber.examples.guestbook.Guestbook")
)
lazy val root = (project in file("."))
.aggregate(
skuber,
examples
)
lazy val skuber = (project in file("client"))
.enablePlugins(GitVersioning)
.settings(commonSettings: _*)
.settings(skuberSettings: _*)
lazy val examples = (project in file("examples"))
.enablePlugins(GitVersioning)
.settings(commonSettings: _*)
.settings(examplesSettings: _*)
.settings(examplesAssemblySettings: _*)
.dependsOn(skuber)
// Publishing
publishMavenStyle in ThisBuild := true
releasePublishArtifactsAction in ThisBuild := PgpKeys.publishSigned.value
bintrayOrganization in ThisBuild := Some("minna-technologies")
bintrayReleaseOnPublish in ThisBuild := true