Files
Bitsy 59bb159351 feat(koin): vendor the Koin modules that stop at apple+android upstream
koin-core 4.2.2 already publishes mingwX64 + linux klibs, so it stays a plain
Maven dependency. These four do not, and their sources are platform-agnostic,
so the port rebuilds the same code for its desktop targets:

  :koin:koin-core-viewmodel      org.koin.viewmodel.* + module DSL
  :koin:koin-compose             org.koin.compose.*
  :koin:koin-compose-viewmodel   org.koin.compose.viewmodel.*
  :koin:koin-compose-navigation3 org.koin.compose.navigation3.*

Vendored VERBATIM from InsertKoinIO/koin @ 4.2.2 (new KOIN_REF pin + manifests);
36 files, no local edits needed - everything compiled for mingwX64 unmodified.

NAV3, NOT NAV2: the requested koin-compose-viewmodel-navigation sits on nav2's
navigation-compose, which publishes no mingwX64/linux klibs under EITHER the
androidx.* or org.jetbrains.androidx.* coordinates - it cannot reach this port's
targets without vendoring nav2 too. This port's navigation story is Navigation 3
(:navigation3:navigation3-ui), and koin-compose-navigation3 needs only
koin-compose + navigation3-runtime, both already reachable. Vendored that instead.

GOOGLE lifecycle coordinates (androidx.lifecycle:*), not the
org.jetbrains.androidx.* mirrors upstream koin uses: the port already resolves
the google ones, and mixing both puts the same classes on the path twice.

Published as com.bitsycore.koin:<module>; bridge substitution rules added so
consumers keep declaring the official io.insert-koin coordinates.
2026-09-12 00:19:39 +02:00

35 lines
3.1 KiB
Plaintext

# :koin:koin-compose - vendored verbatim from InsertKoinIO/koin.
# Upstream publishes apple + android only. nativeMain carries the KoinApplication
# actual, which is target-agnostic and serves mingwX64 / linux unchanged.
SET_REPO=https://github.com/InsertKoinIO/koin@<KOIN_REF>
SET_FOLDER=projects/compose/koin-compose/src
commonMain/kotlin/ -> src/vendor/common/kotlin/
# | commonMain/kotlin/org/koin/compose/ComposeContextWrapper.kt -> src/vendor/common/kotlin/org/koin/compose/ComposeContextWrapper.kt
# | commonMain/kotlin/org/koin/compose/Inject.kt -> src/vendor/common/kotlin/org/koin/compose/Inject.kt
# | commonMain/kotlin/org/koin/compose/KoinApplication.kt -> src/vendor/common/kotlin/org/koin/compose/KoinApplication.kt
# | commonMain/kotlin/org/koin/compose/application/CompositionKoinApplicationLoader.kt -> src/vendor/common/kotlin/org/koin/compose/application/CompositionKoinApplicationLoader.kt
# | commonMain/kotlin/org/koin/compose/application/RememberKoinApplication.kt -> src/vendor/common/kotlin/org/koin/compose/application/RememberKoinApplication.kt
# | commonMain/kotlin/org/koin/compose/error/UnknownKoinContext.kt -> src/vendor/common/kotlin/org/koin/compose/error/UnknownKoinContext.kt
# | commonMain/kotlin/org/koin/compose/module/CompositionKoinModuleLoader.kt -> src/vendor/common/kotlin/org/koin/compose/module/CompositionKoinModuleLoader.kt
# | commonMain/kotlin/org/koin/compose/module/RememberModules.kt -> src/vendor/common/kotlin/org/koin/compose/module/RememberModules.kt
# | commonMain/kotlin/org/koin/compose/scope/CompositionKoinScopeLoader.kt -> src/vendor/common/kotlin/org/koin/compose/scope/CompositionKoinScopeLoader.kt
# | commonMain/kotlin/org/koin/compose/scope/KoinScope.kt -> src/vendor/common/kotlin/org/koin/compose/scope/KoinScope.kt
# | commonMain/kotlin/org/koin/compose/scope/RememberScopes.kt -> src/vendor/common/kotlin/org/koin/compose/scope/RememberScopes.kt
# | commonMain/kotlin/org/koin/compose/scope/UnboundKoinScope.kt -> src/vendor/common/kotlin/org/koin/compose/scope/UnboundKoinScope.kt
nativeMain/kotlin/ -> src/vendor/native/kotlin/
# | nativeMain/kotlin/org/koin/compose/KoinApplication.native.kt -> src/vendor/native/kotlin/org/koin/compose/KoinApplication.native.kt
# >>> ---- DIAGNOSTIC GAPS ---- <<<<
# androidMain (2)
# | androidMain/kotlin/org/koin/compose/KoinApplication.android.kt -> src/vendor/android/kotlin/org/koin/compose/KoinApplication.android.kt
# | androidMain/kotlin/org/koin/compose/activity/KoinActivityInject.kt -> src/vendor/android/kotlin/org/koin/compose/activity/KoinActivityInject.kt
# jsMain (1)
# | jsMain/kotlin/org/koin/compose/KoinApplication.js.kt -> src/vendor/js/kotlin/org/koin/compose/KoinApplication.js.kt
# jvmMain (1)
# | jvmMain/kotlin/org/koin/compose/KoinApplication.jvm.kt -> src/vendor/jvm/kotlin/org/koin/compose/KoinApplication.jvm.kt
# wasmJsMain (1)
# | wasmJsMain/kotlin/org/koin/compose/KoinApplication.wasmJS.kt -> src/vendor/wasmJs/kotlin/org/koin/compose/KoinApplication.wasmJS.kt
# <<< ---- DIAGNOSTIC GAPS ---- >>>>