-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
115 lines (102 loc) · 2.47 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
import Dependencies._
name := "employability"
lazy val noPublish = Seq(
publishArtifact := false,
publishLocal := {},
publish := {}
)
lazy val commonSettings = Seq(
licenses += ("MIT", url("http://opensource.org/licenses/MIT")),
resolvers += Resolver.bintrayRepo("jrouly", "sbt-release"),
organization := "net.rouly",
scalaVersion := "2.11.12",
version := "1.5",
name := s"employability-${name.value}"
) ++ Bintray.settings
lazy val root = (project in file("."))
.settings(commonSettings)
.settings(noPublish)
.aggregate(
core,
elasticsearch,
postgres,
ingest,
preprocess,
analysis,
web
)
lazy val core = project
.disablePlugins(BackgroundRunPlugin)
.settings(commonSettings)
.settings(libraryDependencies ++= Seq(
libCommon,
Akka.streams,
Logging.logback,
Logging.scalaLogging,
Macwire.macros,
Macwire.util,
Play26.json
))
lazy val elasticsearch = project
.dependsOn(core)
.settings(commonSettings)
.settings(libraryDependencies ++= Seq(
Elasticsearch.elastic4sCore,
Elasticsearch.elastic4sHttp,
Elasticsearch.elastic4sStreams,
Elasticsearch.elastic4sPlayJson
))
lazy val postgres = project
.dependsOn(core)
.settings(commonSettings)
.settings(libraryDependencies ++= Seq(
Alpakka.slick,
Postgres.libCommonDatabase,
Postgres.postgres,
Postgres.slick,
Postgres.slickPostgres
))
lazy val ingest = project
.dependsOn(elasticsearch)
.settings(commonSettings)
.settings(libraryDependencies ++= Seq(
Akka.actors,
Akka.streams,
Alpakka.csv,
JSoup.jsoup,
Misc.scalaUri,
Play26.json,
Play26.ws
))
lazy val preprocess = project
.dependsOn(elasticsearch, postgres)
.settings(commonSettings)
.settings(libraryDependencies ++= Seq(
Apache.openNlp,
Play26.json,
Play26.ws
))
lazy val analysis = project
.dependsOn(elasticsearch, postgres)
.settings(commonSettings)
.settings(libraryDependencies ++= Seq(
Spark.core,
Spark.mllib
))
lazy val web = project
.enablePlugins(PlayScala, DockerPlugin)
.dependsOn(elasticsearch)
.settings(commonSettings)
.settings(dockerBaseImage := "openjdk:8-jre")
.settings(dockerRepository := Some("jrouly"))
.settings(dockerUpdateLatest := true)
.settings(libraryDependencies ++= Seq(
Misc.vegas,
Play26.ehcache,
Play26.json,
Play26.test,
Play26.server,
Play26.libServer
))
fork := true
resolvers += Resolver.bintrayRepo("jrouly", "sbt-release")