From 261dc0da49ac7fe59035f512c1e4a1c463d77e04 Mon Sep 17 00:00:00 2001 From: Janis Date: Fri, 17 Apr 2026 22:49:41 +0200 Subject: [PATCH] feat: Suppress SonarQube warnings for ZobristHash and PolyglotBook and improve coverage configuration --- build.gradle.kts | 14 -------------- .../scala/de/nowchess/bot/util/PolyglotBook.scala | 1 + .../scala/de/nowchess/bot/util/ZobristHash.scala | 2 ++ 3 files changed, 3 insertions(+), 14 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 558165c..40e0af8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -22,20 +22,6 @@ sonar { }.joinToString(",") property("sonar.scala.coverage.reportPaths", scoverageReports) - property( - "sonar.issue.ignore.multicriteria", - "bot-zobrist-s2245,bot-polyglot-s2245" - ) - property("sonar.issue.ignore.multicriteria.bot-zobrist-s2245.ruleKey", "scala:S2245") - property( - "sonar.issue.ignore.multicriteria.bot-zobrist-s2245.resourceKey", - "modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala" - ) - property("sonar.issue.ignore.multicriteria.bot-polyglot-s2245.ruleKey", "scala:S2245") - property( - "sonar.issue.ignore.multicriteria.bot-polyglot-s2245.resourceKey", - "modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala" - ) property( "sonar.coverage.exclusions", // UI renders JavaFX components; headless test environments cannot exercise rendering paths diff --git a/modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala b/modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala index a42c2af..d94b8e1 100644 --- a/modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala +++ b/modules/bot/src/main/scala/de/nowchess/bot/util/PolyglotBook.scala @@ -120,6 +120,7 @@ final class PolyglotBook(path: String): Move(from, to, MoveType.Normal()) /** Select a weighted random move from the list of book entries. */ + @scala.annotation.nowarn("msg=scala:S2245") private def weightedRandom(entries: Vector[BookEntry]): BookEntry = if entries.length == 1 then entries.head else diff --git a/modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala b/modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala index c0f2949..2cdd0db 100644 --- a/modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala +++ b/modules/bot/src/main/scala/de/nowchess/bot/util/ZobristHash.scala @@ -12,6 +12,7 @@ object ZobristHash: private val pieceRands: Array[Long] = Array.ofDim(768) // Side-to-move: XOR when Black to move + @scala.annotation.nowarn("msg=scala:S2245") private val sideToMoveRand: Long = Random(0x1badb002L).nextLong() // 4 entries: White kingside, White queenside, Black kingside, Black queenside @@ -22,6 +23,7 @@ object ZobristHash: // Initialize all random values using a seeded RNG for reproducibility locally: + @scala.annotation.nowarn("msg=scala:S2245") val rng = Random(0x1badb002L) for i <- 0 until 768 do pieceRands(i) = rng.nextLong() for i <- 0 until 4 do castlingRands(i) = rng.nextLong()