-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.sbt
74 lines (70 loc) · 3.32 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
ThisBuild / scalaVersion := "2.13.16"
ThisBuild / organization := "com.lectra"
ThisBuild / organizationName := "lectra"
ThisBuild / licenses += "Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0.txt")
ThisBuild / publishConfiguration := publishConfiguration.value.withOverwrite(true)
ThisBuild / publishLocalConfiguration := publishLocalConfiguration.value.withOverwrite(true)
ThisBuild / scmInfo := Some(
ScmInfo(
url("https://github.com/lectra-tech/kapoeira"),
"scm:git:[email protected]/lectra-tech/kapoeira.git"
)
)
ThisBuild / sonatypeCredentialHost := "oss.sonatype.org"
ThisBuild / sonatypeRepository := "https://oss.sonatype.org/service/local"
ThisBuild / versionScheme := Some("semver-spec")
ThisBuild / homepage := Some(url("https://github.com/lectra-tech/kapoeira"))
ThisBuild / developers := List(
Developer("jvauchel", "Johanna Vauchel", "[email protected]", url("https://github.com/jvauchel")),
Developer("sebastienvidal", "Sébastien Vidal","[email protected]",url("https://github.com/sebastienvidal")),
Developer("mrebiai", "Mehdi Rebiai", "[email protected]", url("https://github.com/mrebiai")),
Developer("scarisey", "Sylvain Carisey", "[email protected]", url("https://github.com/scarisey")),
)
resolvers += "confluent" at "https://packages.confluent.io/maven/"
val zioVersion = "2.1.14"
lazy val root = (project in file("."))
.settings(
name := "kapoeira",
// assembly
assembly / assemblyJarName := "kapoeira.jar",
assembly / test := {},
assembly / mainClass := Some("io.cucumber.core.cli.Main"),
// confluent
libraryDependencies += "io.confluent" % "kafka-avro-serializer" % "7.2.13" exclude("javax.ws.rs", "javax.ws.rs-api"),
libraryDependencies += "io.confluent" % "kafka-json-schema-serializer" % "7.2.13" exclude("javax.ws.rs", "javax.ws.rs-api"),
// more libs to include
// https://github.com/confluentinc/schema-registry/blob/master/pom.xml
libraryDependencies ++= Seq(
"org.apache.kafka" %% "kafka" % "3.2.3",
"io.cucumber" %% "cucumber-scala" % "8.25.1",
"org.scalatest" %% "scalatest" % "3.2.19",
"com.typesafe" % "config" % "1.4.3",
"io.gatling" % "gatling-jsonpath" % "3.13.1",
"com.lihaoyi" %% "os-lib" % "0.11.3",
"ch.qos.logback" % "logback-classic" % "1.5.16" % Runtime,
"dev.zio" %% "zio" % zioVersion,
"dev.zio" %% "zio-streams" % zioVersion,
"dev.zio" %% "zio-logging-slf4j2" % "2.4.0",
),
// only tests
libraryDependencies ++= Seq(
"io.cucumber" % "cucumber-junit" % "7.20.1",
"org.scalamock" %% "scalamock" % "6.1.1",
"org.scalacheck" %% "scalacheck" % "1.18.1",
"dev.zio" %% "zio-test" % zioVersion,
"dev.zio" %% "zio-test-sbt" % zioVersion
).map(_ % Test),
testFrameworks += new TestFramework("zio.test.sbt.ZTestFramework")
)
// assembly config
ThisBuild / assemblyMergeStrategy := {
case PathList(ps@_*) if ps.last == "module-info.class" => MergeStrategy.discard
case "META-INF/io.netty.versions.properties" => MergeStrategy.first
case "META-INF/FastDoubleParser-NOTICE" => MergeStrategy.first
case "kafka/kafka-version.properties" => MergeStrategy.first
case "application.conf" => MergeStrategy.concat
case "logback.xml" => MergeStrategy.first
case x =>
val oldStrategy = (ThisBuild / assemblyMergeStrategy).value
oldStrategy(x)
}