-
Notifications
You must be signed in to change notification settings - Fork 16
/
build.sbt
117 lines (108 loc) · 3.89 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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
val projectVersion = "1.8.1"
val projectScalaVersion = "2.12.2"
scalaVersion := projectScalaVersion
crossScalaVersions := Seq(projectScalaVersion, "2.11.11")
val projectSettings = Seq(
description := "Run distributed, highly available (batch) jobs, with job locking and supervision.",
organization := "de.kaufhof",
version := projectVersion,
licenses := Seq("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0.html")),
homepage := Some(url("https://github.com/Galeria-Kaufhof/ha-jobs"))
)
val buildSettings = Seq(
scalaVersion := projectScalaVersion,
crossScalaVersions := Seq(projectScalaVersion, "2.11.11"),
scalacOptions ++= Seq("-language:reflectiveCalls", "-feature", "-deprecation"),
// fork (tests) to free resources. otherwise c* sessions are collected and will OOME at some point
fork := true
)
val publishSettings = Seq(
publishTo := {
val nexus = "https://oss.sonatype.org/"
if (isSnapshot.value)
Some("snapshots" at nexus + "content/repositories/snapshots")
else
Some("releases" at nexus + "service/local/staging/deploy/maven2")
},
publishMavenStyle := true,
publishArtifact in Test := false,
pomIncludeRepository := { _ => false },
pomExtra := <scm>
<url>[email protected]:Galeria-Kaufhof/ha-jobs.git</url>
<connection>scm:git:[email protected]:Galeria-Kaufhof/ha-jobs.git</connection>
</scm>
<developers>
<developer>
<id>martin.grotzke</id>
<name>Martin Grotzke</name>
<url>https://github.com/magro</url>
</developer>
<developer>
<id>lichtsprung</id>
<name>Robert Giacinto</name>
<url>https://github.com/lichtsprung</url>
</developer>
<developer>
<id>adelafogoros</id>
<name>Adela Fogoros</name>
<url>https://github.com/adelafogoros</url>
</developer>
<developer>
<id>muellenborn</id>
<name>Markus Müllenborn</name>
<url>https://github.com/muellenborn</url>
</developer>
<developer>
<id>MarcoPriebe</id>
<name>Marco Priebe</name>
<url>https://github.com/MarcoPriebe</url>
</developer>
</developers>
)
val playVersion = "2.6.11"
val akkaVersion = "2.5.9"
val scalatest = "org.scalatest" %% "scalatest" % "3.0.3" % "test"
val mockito = "org.mockito" % "mockito-core" % "2.8.47" % "test"
val playTest = "com.typesafe.play" %% "play-test" % playVersion % "test"
lazy val core = project.in(file("ha-jobs-core"))
.settings(name := "ha-jobs")
.settings(projectSettings: _*)
.settings(buildSettings: _*)
.settings(publishSettings: _*)
.settings(
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/",
libraryDependencies ++= Seq(
"com.datastax.cassandra" % "cassandra-driver-core" % "3.3.0",
"com.typesafe.play" %% "play-json" % "2.6.9" exclude("com.typesafe.play", "play_" + scalaVersion.value.substring(0, 4)),
"joda-time" % "joda-time" % "2.9.9",
"org.slf4j" % "slf4j-api" % "1.7.25",
"org.quartz-scheduler" % "quartz" % "2.3.0",
"com.typesafe.akka" %% "akka-actor" % akkaVersion,
"com.typesafe.akka" %% "akka-testkit" % akkaVersion % "test",
playTest,
scalatest,
mockito,
"de.kaufhof" %% "pillar" % "4.1.0" % "test"
)
)
lazy val play = project.in(file("ha-jobs-play"))
.enablePlugins(SbtWeb)
.dependsOn(core)
.settings(
name := "ha-jobs-play",
description := "Adds a Play controller that allows to manage jobs."
)
.settings(projectSettings: _*)
.settings(buildSettings: _*)
.settings(publishSettings: _*)
.settings(
resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/",
libraryDependencies ++= Seq(
"com.typesafe.play" %% "play" % playVersion,
"com.typesafe.play" %% "play-json" % "2.6.9",
playTest,
scalatest,
mockito
)
)
lazy val main = project.in(file(".")).aggregate(core, play)