-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathbuild.sbt
More file actions
66 lines (61 loc) · 2.71 KB
/
Copy pathbuild.sbt
File metadata and controls
66 lines (61 loc) · 2.71 KB
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
val scala3Version = "3.3.3"
val setJavaFXVersion = settingKey[Seq[ModuleID]](
"Sets the JavaFX version and classifier based on the system architecture"
)
setJavaFXVersion := {
val arch = sys.props("os.arch")
val osName = sys.props("os.name").toLowerCase
val javafxVersion = "22"
val javafxClassifier = osName match {
case os if os.contains("windows") => "win"
case os if os.contains("linux") =>
arch match {
case "aarch64" => "linux-aarch64"
case _ => "linux"
}
case _ => throw new UnsupportedOperationException("Unsupported OS")
}
Seq(
"org.openjfx" % "javafx-base" % javafxVersion classifier javafxClassifier,
"org.openjfx" % "javafx-controls" % javafxVersion classifier javafxClassifier,
"org.openjfx" % "javafx-fxml" % javafxVersion classifier javafxClassifier,
"org.openjfx" % "javafx-graphics" % javafxVersion classifier javafxClassifier,
"org.openjfx" % "javafx-media" % javafxVersion classifier javafxClassifier,
"org.openjfx" % "javafx-swing" % javafxVersion classifier javafxClassifier,
"org.openjfx" % "javafx-web" % javafxVersion classifier javafxClassifier
)
}
lazy val root = project
.in(file("."))
.settings(
name := "Bohnanza",
version := "0.1.0-SNAPSHOT",
scalaVersion := scala3Version,
libraryDependencies += "org.scalameta" %% "munit" % "0.7.29" % Test,
libraryDependencies += "org.scalactic" %% "scalactic" % "3.2.14",
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.14" % "test",
libraryDependencies += "org.scalafx" %% "scalafx" % "22.0.0-R33" excludeAll (
ExclusionRule(organization = "org.openjfx")
),
libraryDependencies += "com.typesafe.play" %% "play-json" % "2.10.3",
libraryDependencies += "org.scala-lang.modules" %% "scala-xml" % "2.3.0",
libraryDependencies ++= (Seq() ++ setJavaFXVersion.value),
/* libraryDependencies ++= {
// Determine OS version of JavaFX binaries
lazy val osName = System.getProperty("os.name") match {
case n if n.startsWith("Linux") => "linux"
case n if n.startsWith("Mac") => "mac"
case n if n.startsWith("Windows") => "win"
case _ => throw new Exception("Unknown platform!")
}
Seq("base", "controls", "fxml", "graphics", "media", "swing", "web")
.map(m => "org.openjfx" % s"javafx-$m" % "16" classifier osName)
}, */
assembly / mainClass := Some("de.htwg.se.bohnanza.Bohnanza"),
assembly / assemblyJarName := "Bohnanza.jar",
assemblyMergeStrategy in assembly := {
case PathList("META-INF", _*) => MergeStrategy.discard
case _ => MergeStrategy.first
}
)
addCommandAlias("fullTest", ";clean;coverage;test;coverageReport")