-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
executable file
·70 lines (62 loc) · 2.28 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
import Dependencies.*
import sbt.*
import sbt.Keys.*
ThisBuild / scalaVersion := "2.13.15"
ThisBuild / organization := "io.constellationnetwork"
ThisBuild / homepage := Some(url("https://github.com/Constellation-Labs/metakit"))
ThisBuild / licenses := List("Apache-2.0" -> url("http://www.apache.org/licenses/LICENSE-2.0"))
ThisBuild / sonatypeCredentialHost := "central.sonatype.com"
ThisBuild / versionScheme := Some("early-semver")
ThisBuild / developers := List(
Developer("scasplte2", "James Aman", "[email protected]", url("https://github.com/scasplte2"))
)
ThisBuild / evictionErrorLevel := Level.Warn
ThisBuild / scalafixDependencies += Libraries.organizeImports
ThisBuild / assemblyMergeStrategy := {
case "logback.xml" => MergeStrategy.first
case x if x.contains("io.netty.versions.properties") => MergeStrategy.discard
case PathList("io", "constellationnetwork", "buildinfo", xs @ _*) => MergeStrategy.first
case PathList(xs @ _*) if xs.last == "module-info.class" => MergeStrategy.first
case x =>
val oldStrategy = (assembly / assemblyMergeStrategy).value
oldStrategy(x)
}
lazy val commonSettings = Seq(
scalacOptions ++= List("-Ymacro-annotations", "-Yrangepos", "-Wconf:cat=unused:info", "-language:reflectiveCalls"),
resolvers += Resolver.mavenLocal,
resolvers += Resolver.githubPackages("abankowski", "http-request-signer"),
libraryDependencies ++= Seq(
CompilerPlugin.kindProjector,
CompilerPlugin.betterMonadicFor,
CompilerPlugin.semanticDB,
Libraries.tessellationSdk,
Libraries.declineCore,
Libraries.cats,
Libraries.catsEffect,
Libraries.levelDb
)
) ++ Defaults.itSettings
lazy val commonTestSettings = Seq(
testFrameworks += new TestFramework("weaver.framework.CatsEffect"),
libraryDependencies ++= Seq(
Libraries.weaverCats,
Libraries.weaverDiscipline,
Libraries.weaverScalaCheck,
Libraries.catsEffectTestkit
).map(_ % Test)
)
lazy val buildInfoSettings = Seq(
buildInfoKeys := Seq[BuildInfoKey](
name,
version,
scalaVersion,
sbtVersion
),
buildInfoPackage := "io.constellationnetwork.buildinfo"
)
lazy val root = (project in file("."))
.settings(
commonSettings,
commonTestSettings,
name := "metakit"
)