68655eae1a
Phase 1 work
2026-04-24 20:21:03 +02:00
c79f9218aa
merge(01-03): module refactor to recipe.* conventions + drop js
2026-04-24 18:41:51 +02:00
37f6191523
feat(01-04): wire JVM + Wasm main + Swift iOSApp to bootstrap Koin + Kermit
...
- Desktop main() calls configureLogging() → initKoin() before application { Window { App() } }
- Wasm main() calls configureLogging() → initKoin() before ComposeViewport { App() } (PITFALL #8 future-proof)
- iOSApp.swift imports ComposeApp and calls KoinIosKt.doInitKoin() in init() — single iOS call site (PITFALL #4 )
- MainViewController.kt and App.kt unmodified (anti-pattern guards)
2026-04-24 18:22:47 +02:00
4e6192293f
feat(01-04): add Android MainApplication + manifest registration
...
- Create MainApplication : Application() running configureLogging() then initKoin { androidContext(this@MainApplication) } in onCreate
- Register android:name=".MainApplication" on <application> element (MainActivity entry preserved)
- Establishes the canonical init order for Android process boot
2026-04-24 18:22:03 +02:00
7d750af710
feat(01-04): add Koin + Kermit bootstrap commonMain + iOS bridge
...
- Add initKoin(config) helper wrapping startKoin { modules(appModule) } (PITFALL #4 single entry)
- Add empty appModule placeholder (D-14) — Phase 2+ extends
- Add configureLogging() setting Kermit tag "recipe" (D-15)
- Add iosMain doInitKoin() bridge — Swift-accessible as KoinIosKt.doInitKoin()
- configureLogging() always runs before initKoin() so module loading can log
2026-04-24 18:21:36 +02:00
d76dcea18d
refactor(01-03): apply recipe.* conventions to composeApp + shared, drop js
...
- composeApp/build.gradle.kts now applies 4 recipe.* IDs (kotlin.multiplatform, compose.multiplatform, android.application, quality); removes all structural target/android/nativeDistributions blocks (114 -> 28 lines)
- shared/build.gradle.kts applies recipe.kotlin.multiplatform + recipe.quality + androidLibrary; adds explicitApi() (D-12) and KotlinNativeTarget/Framework baseName = "Shared" override (D-07 / PITFALL #10 ); keeps android { } block per Open Question #1
- Adds libs.koin.android to androidMain dependencies (for Plan 04's MainApplication androidContext)
- Drops js target per D-01: removes js { browser() } from both modules and deletes shared/src/jsMain/Platform.js.kt
- iosX64 remains absent per D-02
- No version literals leak; tools/verify-no-version-literals.sh + verify-shared-pure.sh both pass
2026-04-24 18:21:35 +02:00
c50d747cf6
Fix hot reload for desktop target
2026-04-24 14:11:23 +02:00
bf8b46bff2
Initial commit
2026-04-23 22:50:48 +02:00