
Monorepo of small reusable libraries: cross-thread/coroutine-local context utilities, coroutine-friendly signal/observer primitives, and a composable action/expectation graph with dispatching helpers, including tests and a sample runtime demo.
A Kotlin Multiplatform (KMP) monorepo containing small, reusable libraries:
This repository is organized as a Gradle multi-module build.
Cross-platform utilities for local context in threads and coroutines.
Signal/observer helpers with coroutine-friendly APIs.
main() function (see signals/src/commonMain/.../Main.kt) demonstrating usage.Composable actions graph with expectations and dispatching utilities.
action, context, expect, delegate, v1
problem-graph/src/commonTest/...)Gradle wrapper is included, so no local Gradle installation is required.
Clone the repository:
Build all modules:
Run all tests:
Build a single module (example: problem-graph):
Run tests for a single module:
Publish to local Maven (for development/testing):
The repository is a library-first setup. There is a demonstrative entry point in the signals module:
signals/src/commonMain/kotlin/com/github/kshulzh/kshku/signals/Main.kt
fun main()
Ways to run it:
main() function.JavaExec task for JVM to run :signals main from Gradle.)Kotlin/Native binaries are not explicitly configured to produce executables in the current build scripts; the target is created but no run task is exposed. Library artifacts are still built for the configured targets.
All modules define commonTest (and for JVM, jvmTest) source sets using Kotlin Test.
Run all tests:
Run tests for a module:
Example test locations:
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
JavaExec task to run signals main via Gradle.thread-local, or document the intended distribution strategy.A Kotlin Multiplatform (KMP) monorepo containing small, reusable libraries:
This repository is organized as a Gradle multi-module build.
Cross-platform utilities for local context in threads and coroutines.
Signal/observer helpers with coroutine-friendly APIs.
main() function (see signals/src/commonMain/.../Main.kt) demonstrating usage.Composable actions graph with expectations and dispatching utilities.
action, context, expect, delegate, v1
problem-graph/src/commonTest/...)Gradle wrapper is included, so no local Gradle installation is required.
Clone the repository:
Build all modules:
Run all tests:
Build a single module (example: problem-graph):
Run tests for a single module:
Publish to local Maven (for development/testing):
The repository is a library-first setup. There is a demonstrative entry point in the signals module:
signals/src/commonMain/kotlin/com/github/kshulzh/kshku/signals/Main.kt
fun main()
Ways to run it:
main() function.JavaExec task for JVM to run :signals main from Gradle.)Kotlin/Native binaries are not explicitly configured to produce executables in the current build scripts; the target is created but no run task is exposed. Library artifacts are still built for the configured targets.
All modules define commonTest (and for JVM, jvmTest) source sets using Kotlin Test.
Run all tests:
Run tests for a module:
Example test locations:
This project is licensed under the Apache License 2.0. See the LICENSE file for details.
JavaExec task to run signals main via Gradle.thread-local, or document the intended distribution strategy.