-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sbt
56 lines (46 loc) · 1.94 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
enablePlugins(UniversalPlugin)
enablePlugins(BuildInfoPlugin)
enablePlugins(JavaAppPackaging)
name := "serial-monitor"
version := "0.0.2"
maintainer := "org.bartelborth"
organization := "org.bartelborth"
scalaVersion := "2.13.1"
val catsEffectVersion = "2.1.2"
val catsVersion = "2.1.1"
val fs2Version = "2.3.0"
val jSerialCommVersion = "2.6.0"
val monocleVersion = "2.0.4"
val radianceVersion = "2.5.1"
libraryDependencies ++= Seq(
"co.fs2" %% "fs2-core" % fs2Version,
"co.fs2" %% "fs2-io" % fs2Version,
"com.fazecast" % "jSerialComm" % jSerialCommVersion,
"com.github.julien-truffaut" %% "monocle-core" % monocleVersion,
"com.github.julien-truffaut" %% "monocle-law" % monocleVersion % Test,
"com.github.julien-truffaut" %% "monocle-macro" % monocleVersion,
"org.pushing-pixels" % "radiance-substance" % radianceVersion,
"org.typelevel" %% "cats-core" % catsVersion,
"org.typelevel" %% "cats-effect" % catsEffectVersion,
)
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion)
buildInfoPackage := "org.bartelborth"
mainClass in Compile := Some("org.bartelborth.serialmonitor.Main")
scalacOptions += "-Ymacro-annotations"
scalacOptions += "-Ywarn-value-discard"
scalacOptions += "-deprecation"
assemblyJarName in assembly := "serial-monitor.jar"
mappings in Universal := {
val universalMappings = (mappings in Universal).value
val fatJar = (assembly in Compile).value
val filtered = universalMappings filter {
case (_, fileName) => !fileName.endsWith(".jar")
}
filtered :+ (fatJar -> ("lib/" + fatJar.getName))
}
assemblyMergeStrategy in assembly := {
case PathList("META-INF", _*) => MergeStrategy.discard
case _ => MergeStrategy.first
}
scriptClasspath := Seq((assemblyJarName in assembly).value)
fork in run := true