Files
NowChessSystems/build.gradle.kts
T
lq64 61224e1162 feat: NCS-30 FEN Parser using ParserCombinators (#21)
Summary

  - Added scala-parser-combinators_3:2.4.0 dependency to modules/io
  - Implemented FenParserCombinators as an alternative FEN parser using RegexParsers, with the same public API as the
  existing FenParser
  - Parsers are built bottom-up: piece characters → rank tokens → rank → board, composed with explicit field separators
  into a full FEN parser
  - Added FenParserCombinatorsTest mirroring the existing FenParserTest to prove behavioural equivalence

  Test plan

  - All existing tests pass — FenParser and all other modules untouched
  - FenParserCombinatorsTest covers all cases: valid FEN, invalid color, invalid castling, invalid board shapes, en
  passant, round-trip via FenExporter
  - 100% line/branch/method coverage on FenParserCombinators

Co-authored-by: LQ63 <lkhermann@web.de>
Reviewed-on: #21
Reviewed-by: Janis <janis-e@gmx.de>
Co-authored-by: Leon Hermann <lq@blackhole.local>
Co-committed-by: Leon Hermann <lq@blackhole.local>
2026-04-08 11:07:59 +02:00

42 lines
1.4 KiB
Kotlin

plugins {
id("org.sonarqube") version "7.2.3.7755"
id("org.scoverage") version "8.1" apply false
}
group = "de.nowchess"
version = "1.0-SNAPSHOT"
sonar {
properties {
property("sonar.projectKey", "Now-Chess-Systems")
property("sonar.projectName", "Now-Chess Systems")
property("sonar.host.url", "https://sonar.janis-eccarius.de")
property("sonar.token", System.getenv("SONAR_TOKEN"))
property("sonar.branch.name", System.getenv("GIT_BRANCH") ?: "main")
val scoverageReports = subprojects.mapNotNull { subproject ->
val report = subproject.file("build/reports/scoverageTest/scoverage.xml")
if (report.exists()) report.absolutePath else null
}.joinToString(",")
property("sonar.scala.coverage.reportPaths", scoverageReports)
}
}
val versions = mapOf(
"QUARKUS_SCALA3" to "1.0.0",
"SCALA3" to "3.5.1",
"SCALA_LIBRARY" to "2.13.18",
"SCALATEST" to "3.2.19",
"SCALATEST_JUNIT" to "0.1.11",
"SCOVERAGE" to "2.1.1",
"SCALAFX" to "21.0.0-R32",
"JAVAFX" to "21.0.1",
"JUNIT_BOM" to "5.13.4",
"JACKSON" to "2.17.2",
"JACKSON_SCALA" to "2.17.2"
"SCALA_PARSER_COMBINATORS" to "2.4.0"
)
extra["VERSIONS"] = versions