plugins { id("scala") jacoco application } group = "de.nowchess" version = "1.0-SNAPSHOT" @Suppress("UNCHECKED_CAST") val versions = rootProject.extra["VERSIONS"] as Map repositories { mavenCentral() } scala { versions["SCALA3"]!! } application { mainClass.set("de.nowchess.chess.chessMain") } tasks.withType { scalaCompileOptions.additionalParameters = listOf("-encoding", "UTF-8") } tasks.named("run") { jvmArgs("-Dfile.encoding=UTF-8", "-Dstdout.encoding=UTF-8", "-Dstderr.encoding=UTF-8") standardInput = System.`in` } tasks.test { finalizedBy(tasks.jacocoTestReport) } tasks.jacocoTestReport { dependsOn(tasks.test) reports { xml.required.set(true) html.required.set(true) } } dependencies { implementation("org.scala-lang:scala3-compiler_3") { version { strictly(versions["SCALA3"]!!) } } implementation("org.scala-lang:scala3-library_3") { version { strictly(versions["SCALA3"]!!) } } implementation("org.scala-lang:scala-library") { version { strictly(versions["SCALA_LIBRARY"]!!) } } implementation(project(":modules:api")) testImplementation(platform("org.junit:junit-bom:5.10.0")) testImplementation("org.junit.jupiter:junit-jupiter") testRuntimeOnly("org.junit.platform:junit-platform-launcher") testImplementation("org.scalatest:scalatest_3:3.2.19") testRuntimeOnly("org.junit.platform:junit-platform-engine:1.13.1") testRuntimeOnly("org.scalatestplus:junit-5-13_3:3.2.19.0") } tasks { test{ useJUnitPlatform { includeEngines("scalatest") testLogging { events("passed", "skipped", "failed") } } } }