Skip to content

Commit e3b892a

Browse files
bedaHovorkaclaude
andcommitted
Bump kDisco to 0.6.1-SNAPSHOT (cz.hovorka.kdisco -> cz.ksimulantenbande.kdisco)
kDisco PR #54 renamed its Maven group and Kotlin package from the maintainer's personal namespace to the neutral cz.ksimulantenbande.kdisco and added public-domain license headers. Update all consumer-side references (dependency coordinates, imports, checkKdisco path, docs) to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent b30df7f commit e3b892a

51 files changed

Lines changed: 90 additions & 89 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ For complete navigation services architecture, Koin DI integration patterns, and
202202
- `objects/paths/` - Route management
203203

204204
**Simulation engine:**
205-
- Built on kDisco library (`cz.hovorka.kdisco:kdisco-core-jvm:0.6.0`) — replaces jDisco entirely (Phase 1 migration complete 2026-03-20)
205+
- Built on kDisco library (`cz.ksimulantenbande.kdisco:kdisco-core-jvm:0.6.1-SNAPSHOT`) — replaces jDisco entirely (Phase 1 migration complete 2026-03-20)
206206
- kDisco repo: https://github.com/bedaHovorka/kdisco
207207
- `sim/` package contains simulation processes (e.g., `ShuntingLoop`)
208208

TEAM.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ This file defines specialized agent roles for the interlockSim project. When Cla
2929

3030
**Focus Areas:**
3131
1. **Simulation Engine**
32-
- kDisco 0.6.0 (Phase 1 migration complete 2026-03-20; Koin injection now allowed in sim/)
32+
- kDisco 0.6.1-SNAPSHOT (Phase 1 migration complete 2026-03-20; Koin injection now allowed in sim/)
3333
- Kalasim migration planning (Goal 10, Phase 2, future)
3434
- `:fast-sim` native CLI subproject (linuxX64, PR #421)
3535
- Discrete-event simulation patterns

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ val checkKdisco by tasks.registering {
5050
doLast {
5151
val kdiscoJar =
5252
file(
53-
"${System.getProperty("user.home")}/.m2/repository/cz/hovorka/kdisco/kdisco-core-jvm/$kdiscoVersion/kdisco-core-jvm-$kdiscoVersion.jar",
53+
"${System.getProperty("user.home")}/.m2/repository/cz/ksimulantenbande/kdisco/kdisco-core-jvm/$kdiscoVersion/kdisco-core-jvm-$kdiscoVersion.jar",
5454
)
5555

5656
if (kdiscoJar.exists()) {

core/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
* which benefits from commonMain staying free of JVM-only APIs.
2222
* 3. kDisco 0.4.0 ships multiplatform artifacts (jvm + linuxX64
2323
* klibs) and this module consumes the multiplatform coordinate
24-
* (`cz.hovorka.kdisco:kdisco-core`; see commonMain dependencies
24+
* (`cz.ksimulantenbande.kdisco:kdisco-core`; see commonMain dependencies
2525
* below). Remaining blockers for fully portable common code are
2626
* test infrastructure (MockK/JUnit5 are JVM-only; commonTest is
2727
* restricted to kotlin.test) and a Koin/xmlutil native audit on
@@ -129,7 +129,7 @@ kotlin {
129129
val commonMain by getting {
130130
dependencies {
131131
// KMP multiplatform artifacts (jvm + linuxX64 klibsavailable in mavenLocal)
132-
implementation("cz.hovorka.kdisco:kdisco-core:$kdiscoVersion")
132+
implementation("cz.ksimulantenbande.kdisco:kdisco-core:$kdiscoVersion")
133133
implementation("io.insert-koin:koin-core:$koinVersion")
134134
implementation("io.github.oshai:kotlin-logging:$kotlinLoggingVersion")
135135
implementation("org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion")

core/src/commonMain/kotlin/cz/vutbr/fit/interlockSim/context/DefaultSimulationContext.kt

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@
99
*/
1010
package cz.vutbr.fit.interlockSim.context
1111

12-
import cz.hovorka.kdisco.DiscoException
13-
import cz.hovorka.kdisco.Process
14-
import cz.hovorka.kdisco.Random
15-
import cz.hovorka.kdisco.Simulation
12+
import cz.ksimulantenbande.kdisco.DiscoException
13+
import cz.ksimulantenbande.kdisco.Process
14+
import cz.ksimulantenbande.kdisco.Random
15+
import cz.ksimulantenbande.kdisco.Simulation
1616
import cz.vutbr.fit.interlockSim.context.SimulationContext.ReportType
1717
import cz.vutbr.fit.interlockSim.context.navigation.BlockEvent
1818
import cz.vutbr.fit.interlockSim.context.navigation.PathReservationService
@@ -61,6 +61,7 @@ import cz.vutbr.fit.interlockSim.util.Util
6161
import cz.vutbr.fit.interlockSim.util.platformIdentityCode
6262
import io.github.oshai.kotlinlogging.KotlinLogging
6363
import kotlinx.coroutines.runBlocking
64+
import cz.ksimulantenbande.kdisco.SimulationEvent as KDiscoSimulationEvent
6465
import cz.vutbr.fit.interlockSim.sim.events.BlockEvent as AnimBlockEvent
6566

6667
/**
@@ -206,7 +207,7 @@ open class DefaultSimulationContext(
206207
private val pendingBlockEventListeners: MutableList<(BlockEvent) -> Unit> = mutableListOf()
207208

208209
/** Raw kdisco event listeners registered before run(); wired into kdisco at run() time. */
209-
private val pendingSimEventListeners: MutableList<(cz.hovorka.kdisco.SimulationEvent) -> Unit> = mutableListOf()
210+
private val pendingSimEventListeners: MutableList<(KDiscoSimulationEvent) -> Unit> = mutableListOf()
210211

211212
/** Spatial-conflict event listeners registered before run(); wired into kdisco at run() time. */
212213
private val pendingConflictEventListeners: MutableList<(ConflictDetectedEvent) -> Unit> = mutableListOf()
@@ -1227,7 +1228,7 @@ open class DefaultSimulationContext(
12271228
pendingBlockEventListeners += listener
12281229
}
12291230

1230-
override fun onSimulationEvent(listener: (cz.hovorka.kdisco.SimulationEvent) -> Unit) {
1231+
override fun onSimulationEvent(listener: (KDiscoSimulationEvent) -> Unit) {
12311232
if (simulationHasStarted) return
12321233
pendingSimEventListeners += listener
12331234
}
@@ -1410,7 +1411,7 @@ open class DefaultSimulationContext(
14101411
if (listeners.isEmpty()) return
14111412
val snapshot = listeners.toList()
14121413
sim.onEvent { event ->
1413-
if (event is cz.hovorka.kdisco.SimulationEvent.Custom) {
1414+
if (event is KDiscoSimulationEvent.Custom) {
14141415
val payload = event.payload
14151416
if (payload is T) {
14161417
snapshot.forEach { it(payload) }

core/src/commonMain/kotlin/cz/vutbr/fit/interlockSim/context/SimulationEnvironment.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*/
1010
package cz.vutbr.fit.interlockSim.context
1111

12-
import cz.hovorka.kdisco.Condition
12+
import cz.ksimulantenbande.kdisco.Condition
1313
import cz.vutbr.fit.interlockSim.context.navigation.BlockEvent
1414
import cz.vutbr.fit.interlockSim.context.navigation.PathResult
1515
import cz.vutbr.fit.interlockSim.context.navigation.RoutingServices
@@ -29,7 +29,7 @@ import cz.vutbr.fit.interlockSim.sim.conflict.TemporalConflictDetector
2929
import cz.vutbr.fit.interlockSim.sim.conflict.TemporalConflictEvent
3030
import cz.vutbr.fit.interlockSim.sim.events.BlockEventListener
3131
import cz.vutbr.fit.interlockSim.sim.metrics.MetricsServices
32-
import cz.hovorka.kdisco.SimulationEvent as KDiscoSimulationEvent
32+
import cz.ksimulantenbande.kdisco.SimulationEvent as KDiscoSimulationEvent
3333
import cz.vutbr.fit.interlockSim.sim.events.BlockEvent as AnimBlockEvent
3434

3535
/**
@@ -150,7 +150,7 @@ interface SimulationEnvironment : NetworkState {
150150
* Create a kDisco [Condition] that becomes true when the path starting at
151151
* [separator] is reserved for [trainId].
152152
*
153-
* This lets a train process suspend with [cz.hovorka.kdisco.Process.waitUntil]
153+
* This lets a train process suspend with [cz.ksimulantenbande.kdisco.Process.waitUntil]
154154
* and resume deterministically as soon as the dispatcher reserves the path
155155
* (or as soon as a conflicting train releases the required blocks).
156156
*

core/src/commonMain/kotlin/cz/vutbr/fit/interlockSim/context/navigation/BlockEvent.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import cz.vutbr.fit.interlockSim.objects.tracks.DynamicTrackBlock
66
/**
77
* Domain events emitted when block reservation or occupancy state changes.
88
*
9-
* Delivered via kdisco's event bus as [cz.hovorka.kdisco.SimulationEvent.Custom] payloads.
9+
* Delivered via kdisco's event bus as [cz.ksimulantenbande.kdisco.SimulationEvent.Custom] payloads.
1010
* Subscribe via [cz.vutbr.fit.interlockSim.context.SimulationEnvironment.onBlockEvent].
1111
*
1212
* All fields are captured at emission time (simulation-thread values).

core/src/commonMain/kotlin/cz/vutbr/fit/interlockSim/context/navigation/DefaultPathReservationService.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@
99
*/
1010
package cz.vutbr.fit.interlockSim.context.navigation
1111

12-
import cz.hovorka.kdisco.Process
13-
import cz.hovorka.kdisco.emitCustom
12+
import cz.ksimulantenbande.kdisco.Process
13+
import cz.ksimulantenbande.kdisco.emitCustom
1414
import cz.vutbr.fit.interlockSim.context.RouteFinder
1515
import cz.vutbr.fit.interlockSim.context.SimulationEnvironment
1616
import cz.vutbr.fit.interlockSim.exceptions.PathSeparatorChangeException

core/src/commonMain/kotlin/cz/vutbr/fit/interlockSim/context/navigation/PathReservationRegistry.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*/
1010
package cz.vutbr.fit.interlockSim.context.navigation
1111

12-
import cz.hovorka.kdisco.Condition
12+
import cz.ksimulantenbande.kdisco.Condition
1313
import cz.vutbr.fit.interlockSim.context.SimulationContext
1414
import cz.vutbr.fit.interlockSim.exceptions.requireValidState
1515
import cz.vutbr.fit.interlockSim.objects.cells.DynamicRailSwitch
@@ -506,7 +506,7 @@ class PathReservationRegistry(
506506
* The condition is deterministic: kDisco re-evaluates all wait notices after
507507
* every discrete event (including the block-release event that happens when
508508
* [unregister] or [unregisterBlock] removes the owner). A process can suspend
509-
* with [cz.hovorka.kdisco.Process.waitUntil] and resume without busy-polling.
509+
* with [cz.ksimulantenbande.kdisco.Process.waitUntil] and resume without busy-polling.
510510
*
511511
* @param block The block to wait for
512512
* @return A condition evaluating to true once the block is free

core/src/commonMain/kotlin/cz/vutbr/fit/interlockSim/exceptions/SimulationException.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
*/
1010
package cz.vutbr.fit.interlockSim.exceptions
1111

12-
import cz.hovorka.kdisco.Process
12+
import cz.ksimulantenbande.kdisco.Process
1313

1414
/**
1515
* Exception thrown during simulation - at start, between start and end of simulation.

0 commit comments

Comments
 (0)