c5661de4a0
Build & Test (NowChessSystems) TeamCity build finished
## Summary
- Implements the full tournament lifecycle (create, join, withdraw, start,
round progression, finish) as a standalone Quarkus module
- All 11 endpoints from the OpenAPI spec (`docs/tournament-openapi.yaml`) are covered
- Swiss pairing algorithm with Buchholz tiebreak and bye support
- Per-bot NDJSON event stream with targeted `gameStart` events carrying
the correct `color` field
- Game results ingested via Redis writeback stream (`GameResultStreamListener`)
## Known gaps (deferred)
- `GET /results` `nb` param defaults to 100 instead of all
- `PairingDto` exposes an internal `id` field not in the spec
- `GameExport.moves` emits PGN instead of UCI (upstream `GameWritebackEventDto`
does not carry UCI moves)
- `Pairing.white` can be `null` for bye rounds (spec has no bye concept)
## Test plan
- [x] 23 `TournamentResourceTest` integration tests (H2, mocked core client) — all pass
- [x] 5 `SwissPairingServiceTest` unit tests — all pass
- [x] Redis listener excluded in test/dev profiles; no Docker required to run tests
---------
Co-authored-by: LQ63 <lkhermann@web.de>
Co-authored-by: Lala, Shahd <Shahd.Lala@sybit.de>
Reviewed-on: #55
30 lines
631 B
Kotlin
30 lines
631 B
Kotlin
rootProject.name = "NowChessSystems"
|
|
|
|
pluginManagement {
|
|
val quarkusPluginVersion: String by settings
|
|
val quarkusPluginId: String by settings
|
|
repositories {
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
mavenLocal()
|
|
}
|
|
plugins {
|
|
id(quarkusPluginId) version quarkusPluginVersion
|
|
}
|
|
}
|
|
|
|
include(
|
|
"modules:core",
|
|
"modules:api",
|
|
"modules:json",
|
|
"modules:io",
|
|
"modules:rule",
|
|
"modules:security",
|
|
"modules:bot-platform",
|
|
"modules:official-bots",
|
|
"modules:account",
|
|
"modules:ws",
|
|
"modules:store",
|
|
"modules:coordinator",
|
|
"modules:tournament",
|
|
) |