forked from BlueBrain/nexus-commons
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
249 lines (236 loc) · 11.9 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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
/*
scalafmt: {
style = defaultWithAlign
maxColumn = 150
align.tokens = [
{ code = "=>", owner = "Case" }
{ code = "?", owner = "Case" }
{ code = "extends", owner = "Defn.(Class|Trait|Object)" }
{ code = "//", owner = ".*" }
{ code = "{", owner = "Template" }
{ code = "}", owner = "Template" }
{ code = ":=", owner = "Term.ApplyInfix" }
{ code = "++=", owner = "Term.ApplyInfix" }
{ code = "+=", owner = "Term.ApplyInfix" }
{ code = "%", owner = "Term.ApplyInfix" }
{ code = "%%", owner = "Term.ApplyInfix" }
{ code = "%%%", owner = "Term.ApplyInfix" }
{ code = "->", owner = "Term.ApplyInfix" }
{ code = "?", owner = "Term.ApplyInfix" }
{ code = "<-", owner = "Enumerator.Generator" }
{ code = "?", owner = "Enumerator.Generator" }
{ code = "=", owner = "(Enumerator.Val|Defn.(Va(l|r)|Def|Type))" }
]
}
*/
val rdfVersion = "0.7.0"
val sourcingVersion = "0.20.0"
lazy val rdf = "ch.epfl.bluebrain.nexus" %% "rdf" % rdfVersion
lazy val sourcingCore = "ch.epfl.bluebrain.nexus" %% "sourcing-core" % sourcingVersion
val akkaVersion = "2.6.1"
val akkaManagementVersion = "1.0.5"
val akkaHttpVersion = "10.1.11"
val akkaHttpCirceVersion = "1.30.0"
val asmVersion = "7.3.1"
val jenaVersion = "3.14.0"
val blazegraphVersion = "2.1.5"
val catsVersion = "2.1.0"
val catsEffectVersion = "2.0.0"
val circeVersion = "0.12.3"
val circeGenericVersion = "0.12.2"
val elasticSearchVersion = "7.5.1"
val jacksonVersion = "2.10.2"
val jacksonBindVersion = "2.10.2"
val kryoVersion = "1.1.0"
val log4jVersion = "2.13.0"
val commonsIOVersion = "1.3.2"
val pureconfigVersion = "0.12.2"
val scalaLoggingVersion = "3.9.2"
val scalaTestVersion = "3.1.0"
val shapelessVersion = "2.3.3"
val topQuadrantVersion = "1.3.1"
lazy val akkaActor = "com.typesafe.akka" %% "akka-actor" % akkaVersion
lazy val akkaCluster = "com.typesafe.akka" %% "akka-cluster" % akkaVersion
lazy val akkaClusterManagement = "com.lightbend.akka.management" %% "akka-management" % akkaManagementVersion
lazy val akkaClusterManagementHttp = "com.lightbend.akka.management" %% "akka-management-cluster-http" % akkaManagementVersion
lazy val akkaClusterSharding = "com.typesafe.akka" %% "akka-cluster-sharding" % akkaVersion
lazy val akkaDistributedData = "com.typesafe.akka" %% "akka-distributed-data" % akkaVersion
lazy val akkaHttp = "com.typesafe.akka" %% "akka-http" % akkaHttpVersion
lazy val akkaHttpTestKit = "com.typesafe.akka" %% "akka-http-testkit" % akkaHttpVersion
lazy val akkaHttpCirce = "de.heikoseeberger" %% "akka-http-circe" % akkaHttpCirceVersion
lazy val akkaHttpCore = "com.typesafe.akka" %% "akka-http-core" % akkaHttpVersion
lazy val akkaTestKit = "com.typesafe.akka" %% "akka-testkit" % akkaVersion
lazy val akkaSlf4j = "com.typesafe.akka" %% "akka-slf4j" % akkaVersion
lazy val akkaStream = "com.typesafe.akka" %% "akka-stream" % akkaVersion
lazy val akkaMultiNodeTestKit = "com.typesafe.akka" %% "akka-multi-node-testkit" % akkaVersion
lazy val asm = "org.ow2.asm" % "asm" % asmVersion
lazy val blazegraph = "com.blazegraph" % "blazegraph-jar" % blazegraphVersion
lazy val catsCore = "org.typelevel" %% "cats-core" % catsVersion
lazy val catsEffect = "org.typelevel" %% "cats-effect" % catsEffectVersion
lazy val circeCore = "io.circe" %% "circe-core" % circeVersion
lazy val circeParser = "io.circe" %% "circe-parser" % circeVersion
lazy val circeGenericExtras = "io.circe" %% "circe-generic-extras" % circeGenericVersion
lazy val commonsIO = "org.apache.commons" % "commons-io" % commonsIOVersion
lazy val esCore = "org.elasticsearch" % "elasticsearch" % elasticSearchVersion
lazy val esPainless = "org.codelibs.elasticsearch.module" % "lang-painless" % elasticSearchVersion
lazy val esReindex = "org.codelibs.elasticsearch.module" % "reindex" % elasticSearchVersion
lazy val esRestClient = "org.elasticsearch.client" % "elasticsearch-rest-client" % elasticSearchVersion
lazy val esTransportClient = "org.elasticsearch.plugin" % "transport-netty4-client" % elasticSearchVersion
lazy val jacksonAnnotations = "com.fasterxml.jackson.core" % "jackson-annotations" % jacksonVersion
lazy val jacksonCore = "com.fasterxml.jackson.core" % "jackson-core" % jacksonVersion
lazy val jacksonDatabind = "com.fasterxml.jackson.core" % "jackson-databind" % jacksonBindVersion
lazy val jenaArq = "org.apache.jena" % "jena-arq" % jenaVersion
lazy val kryo = "io.altoo" %% "akka-kryo-serialization" % kryoVersion
lazy val log4jCore = "org.apache.logging.log4j" % "log4j-core" % log4jVersion
lazy val log4jApi = "org.apache.logging.log4j" % "log4j-api" % log4jVersion
lazy val pureconfig = "com.github.pureconfig" %% "pureconfig" % pureconfigVersion
lazy val scalaLogging = "com.typesafe.scala-logging" %% "scala-logging" % scalaLoggingVersion
lazy val scalaTest = "org.scalatest" %% "scalatest" % scalaTestVersion
lazy val shapeless = "com.chuusai" %% "shapeless" % shapelessVersion
lazy val topQuadrantShacl = "org.topbraid" % "shacl" % topQuadrantVersion
lazy val test = project
.in(file("modules/test"))
.settings(
name := "commons-test",
moduleName := "commons-test",
coverageEnabled := false,
libraryDependencies ++= Seq(
akkaTestKit,
akkaClusterSharding,
catsEffect,
circeCore,
circeParser,
kryo,
scalaTest
)
)
lazy val core = project
.in(file("modules/core"))
.dependsOn(test)
.settings(
name := "commons-core",
moduleName := "commons-core",
libraryDependencies ++= Seq(
akkaActor,
akkaCluster,
akkaDistributedData,
akkaHttp,
akkaHttpCirce,
catsCore,
catsEffect,
circeCore,
circeGenericExtras,
scalaLogging,
pureconfig,
rdf,
shapeless,
sourcingCore,
topQuadrantShacl,
akkaHttpTestKit % Test,
akkaTestKit % Test,
akkaSlf4j % Test,
kryo % Test,
scalaTest % Test
)
)
lazy val elasticSearchClient = project
.in(file("modules/elastic-client"))
.dependsOn(core, test % Test)
.enablePlugins(JmhPlugin)
.settings(
name := "elasticsearch-client",
moduleName := "elasticsearch-client",
libraryDependencies ++= Seq(
akkaStream,
circeCore,
akkaSlf4j % Test,
asm % Test,
circeParser % Test,
circeGenericExtras % Test,
esCore % Test,
esPainless % Test,
esReindex % Test,
esRestClient % Test,
esTransportClient % Test,
log4jCore % Test,
log4jApi % Test
),
sourceDirectory in Jmh := (sourceDirectory in Test).value,
classDirectory in Jmh := (classDirectory in Test).value,
dependencyClasspath in Jmh := (dependencyClasspath in Test).value,
compile in Jmh := (compile in Jmh).dependsOn(compile in Test).value,
run in Jmh := (run in Jmh).dependsOn(Keys.compile in Jmh).evaluated
)
lazy val sparqlClient = project
.in(file("modules/sparql-client"))
.dependsOn(core, test % Test)
.enablePlugins(JmhPlugin)
.settings(
name := "sparql-client",
moduleName := "sparql-client",
libraryDependencies ++= Seq(
akkaStream,
circeCore,
jenaArq,
rdf,
akkaSlf4j % Test,
akkaTestKit % Test,
circeParser % Test,
blazegraph % Test,
jacksonAnnotations % Test,
jacksonCore % Test,
jacksonDatabind % Test,
scalaTest % Test
),
sourceDirectory in Jmh := (sourceDirectory in Test).value,
classDirectory in Jmh := (classDirectory in Test).value,
dependencyClasspath in Jmh := (dependencyClasspath in Test).value,
compile in Jmh := (compile in Jmh).dependsOn(compile in Test).value,
run in Jmh := (run in Jmh).dependsOn(Keys.compile in Jmh).evaluated
)
lazy val kamon = project
.in(file("modules/kamon"))
.settings(
name := "commons-kamon",
moduleName := "commons-kamon",
coverageEnabled := false,
libraryDependencies ++= Seq(
"net.bytebuddy" % "byte-buddy-agent" % "1.10.7",
"io.kamon" % "kanela-agent" % "1.0.4",
"io.kamon" %% "kamon-status-page" % "2.0.4",
"io.kamon" %% "kamon-instrumentation-common" % "2.0.1",
"io.kamon" %% "kamon-executors" % "2.0.2",
"io.kamon" %% "kamon-scala-future" % "2.0.1",
"io.kamon" %% "kamon-akka" % "2.0.2",
"io.kamon" %% "kamon-logback" % "2.0.2",
"io.kamon" %% "kamon-system-metrics" % "2.0.1",
"io.kamon" %% "kamon-core" % "2.0.4",
"io.kamon" %% "kamon-akka-http" % "2.0.3",
"io.kamon" %% "kamon-prometheus" % "2.0.1",
"io.kamon" %% "kamon-jaeger" % "2.0.0"
)
)
lazy val root = project
.in(file("."))
.settings(name := "commons", moduleName := "commons")
.settings(noPublish)
.aggregate(core, test, elasticSearchClient, sparqlClient, kamon)
lazy val noPublish = Seq(publishLocal := {}, publish := {}, publishArtifact := false)
inThisBuild(
Seq(
homepage := Some(url("https://github.com/BlueBrain/nexus-commons")),
licenses := Seq("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt")),
scmInfo := Some(ScmInfo(url("https://github.com/BlueBrain/nexus-commons"), "scm:git:[email protected]:BlueBrain/nexus-commons.git")),
developers := List(
Developer("bogdanromanx", "Bogdan Roman", "[email protected]", url("https://bluebrain.epfl.ch/")),
Developer("hygt", "Henry Genet", "[email protected]", url("https://bluebrain.epfl.ch/")),
Developer("umbreak", "Didac Montero Mendez", "[email protected]", url("https://bluebrain.epfl.ch/")),
Developer("wwajerowicz", "Wojtek Wajerowicz", "[email protected]", url("https://bluebrain.epfl.ch/"))
),
// These are the sbt-release-early settings to configure
releaseEarlyWith := BintrayPublisher,
releaseEarlyNoGpg := true,
releaseEarlyEnableSyncToMaven := false
)
)
addCommandAlias("review", ";clean;scalafmtSbtCheck;coverage;scapegoat;test;coverageReport;coverageAggregate")