-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.sbt
63 lines (55 loc) · 1.87 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
import sbtassembly.AssemblyPlugin.autoImport._
name := "Pokemon"
version := "0.1"
scalaVersion := "2.12.18"
lazy val commonSettings = Seq(
addCompilerPlugin("org.scalamacros" % "paradise" % "2.1.1" cross CrossVersion.full),
scalacOptions ++= Seq(
"-language:experimental.macros",
"-Ywarn-unused",
"-Ywarn-unused-import",
"-Xlint:unused"
)
)
lazy val macros = (project in file("macros"))
.settings(
commonSettings,
libraryDependencies += "org.scala-lang" % "scala-reflect" % scalaVersion.value
)
lazy val root = (project in file("."))
.settings(
commonSettings,
libraryDependencies ++= Seq(
"org.scalafx" %% "scalafx" % "16.0.0-R25",
"org.scalafx" %% "scalafxml-core-sfx8" % "0.5",
"org.scalatest" %% "scalatest" % "3.2.9" % Test,
"org.reflections" % "reflections" % "0.10.2"
),
Compile / unmanagedResourceDirectories += baseDirectory.value / "src" / "main" / "resources",
assembly / mainClass := Some("pokemon.MainApp"),
assembly / assemblyJarName := "Pokemon.jar",
assembly / assemblyMergeStrategy := {
case PathList("META-INF", xs @ _*) =>
(xs map {_.toLowerCase}) match {
case ("manifest.mf" :: Nil) | ("index.list" :: Nil) | ("dependencies" :: Nil) =>
MergeStrategy.discard
case _ => MergeStrategy.first
}
case "module-info.class" => MergeStrategy.discard
case x if x.endsWith(".json") => MergeStrategy.first
case "reference.conf" => MergeStrategy.concat
case _ => MergeStrategy.first
}
)
.dependsOn(macros)
inThisBuild(
List(
scalaVersion := "2.12.18",
semanticdbEnabled := true,
semanticdbVersion := scalafixSemanticdb.revision
)
)
ThisBuild / scalafixScalaBinaryVersion := CrossVersion.binaryScalaVersion(scalaVersion.value)
ThisBuild / scalafixDependencies ++= Seq(
"org.scalatest" %% "scalatest" % "3.2.9"
)