Files
KnockOutWhist-Web/build.sbt
Janis 8ca909db52 feat(websocket)!: Implement WebSocket connection and event handling (#82)
Co-authored-by: LQ63 <lkhermann@web.de>
Reviewed-on: #82
Co-authored-by: Janis <janis.e.20@gmx.de>
Co-committed-by: Janis <janis.e.20@gmx.de>
2025-11-23 16:11:46 +01:00

52 lines
2.1 KiB
Scala

ThisBuild / scalaVersion := "3.5.1"
lazy val commonSettings = Seq(
libraryDependencies += "org.scalactic" %% "scalactic" % "3.2.19",
libraryDependencies += "org.scalatest" %% "scalatest" % "3.2.19" % "test",
libraryDependencies += "io.github.mkpaz" % "atlantafx-base" % "2.1.0",
libraryDependencies += "org.scalafx" %% "scalafx" % "24.0.2-R36",
libraryDependencies += "org.scala-lang.modules" %% "scala-xml" % "2.4.0",
libraryDependencies += "org.playframework" %% "play-json" % "3.1.0-M9",
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" % "21" classifier osName)
},
libraryDependencies += guice,
coverageFailOnMinimum := true,
coverageMinimumStmtTotal := 85,
coverageMinimumBranchTotal := 100
)
lazy val knockoutwhist = project.in(file("knockoutwhist"))
.settings(
commonSettings,
mainClass := Some("de.knockoutwhist.KnockOutWhist"),
coverageExcludedPackages := "de.knockoutwhist.ui.*;de.knockoutwhist.utils.gui.*"
)
lazy val knockoutwhistweb = project.in(file("knockoutwhistweb"))
.enablePlugins(PlayScala)
.dependsOn(knockoutwhist % "compile->compile;test->test")
.settings(
commonSettings,
libraryDependencies += "org.scalatestplus.play" %% "scalatestplus-play" % "7.0.2" % Test,
libraryDependencies += "de.mkammerer" % "argon2-jvm" % "2.12",
libraryDependencies += "com.auth0" % "java-jwt" % "4.5.0",
libraryDependencies += "com.github.ben-manes.caffeine" % "caffeine" % "3.2.3",
libraryDependencies += "tools.jackson.module" %% "jackson-module-scala" % "3.0.2",
JsEngineKeys.engineType := JsEngineKeys.EngineType.Node
)
lazy val root = (project in file("."))
.aggregate(knockoutwhist, knockoutwhistweb)
.settings(
name := "KnockOutWhistWeb"
)