Skip to content

WasmWasi Support - #484

Merged
faogustavo merged 2 commits into
mainfrom
gv/wasm-wasi
Aug 14, 2026
Merged

WasmWasi Support#484
faogustavo merged 2 commits into
mainfrom
gv/wasm-wasi

Conversation

@faogustavo

@faogustavo faogustavo commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

#481

  • Updates Kotlin and some dependencies
  • Extracted common target configuration logic to the build-logic module
  • Enabled WasmWasi on modules that support it
  • Updated Koin extension to support targets that we were missing

@faogustavo faogustavo self-assigned this Aug 12, 2026
@faogustavo
faogustavo requested review from KevinSchildhorn and a lite review from Copilot and removed request for Copilot August 12, 2026 16:45

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR modernizes the Kermit build/tooling setup and expands Kotlin Multiplatform target support to include wasmWasi, aligning the library with Kotlin’s newer Wasm target options and consolidating target configuration into convention/build-logic.

Changes:

  • Upgrades Kotlin/Gradle/AGP and related dependencies, and adjusts Android test compilation usage (androidHostTest).
  • Introduces a new kermit.multiplatform-library convention plugin and shared target helpers to centralize multiplatform target setup (including optional wasmWasi).
  • Updates tests and test utilities to use coroutines + atomic APIs instead of prior concurrency/testhelper utilities.

Reviewed changes

Copilot reviewed 29 out of 35 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
samples/sample/shared/build.gradle.kts Migrates sample shared module to Android KMP library plugin alias + kotlin { android { ... } } target config.
samples/sample/gradle/wrapper/gradle-wrapper.properties Upgrades sample Gradle wrapper to 9.7.0.
samples/sample/app/build.gradle.kts Adjusts sample app plugins; currently removes Kotlin Android plugin application.
samples/sample-production/shared/build.gradle.kts Migrates production sample shared module to Android KMP library plugin alias + kotlin { android { ... } } config.
samples/sample-production/gradle/wrapper/gradle-wrapper.properties Upgrades production sample Gradle wrapper to 9.7.0.
samples/sample-production/app/build.gradle.kts Adjusts production sample app plugins; currently removes Kotlin Android plugin application.
kotlin-js-store/package-lock.json Large JS toolchain lockfile refresh; adds GitHub-based Karma dependency and updates many packages.
kermit/src/commonTest/kotlin/co/touchlab/kermit/LoggerTest.kt Reworks multithreading tests to use coroutines (runTest, Dispatchers.Default) instead of testhelp threading helpers.
kermit/build.gradle.kts Switches to convention plugin + shared target configuration (allTargets).
kermit-test/src/commonMain/kotlin/co/touchlab/kermit/TestLogWriter.kt Replaces Stately frozen list usage with atomic list updates for cross-target concurrency safety.
kermit-test/build.gradle.kts Switches to convention plugin + allTargets(..., wasiEnabled = true) and removes Stately dependency.
kermit-simple/build.gradle.kts Switches to convention plugin and shared webTargets()/nativeTargets() helpers.
kermit-io/build.gradle.kts Switches to convention plugin and shared target helpers; updates Android test dependencies to androidHostTest.
kermit-core/src/wasmWasiMain/kotlin/co/touchlab/kermit/PlatformLogWriter.wasmWasi.kt Adds wasmWasi platformLogWriter actual implementation.
kermit-core/src/wasmWasiMain/kotlin/co/touchlab/kermit/KermitConfig.kt Adds wasmWasi mutableLoggerConfigInit actual implementation.
kermit-core/src/nativeMain/kotlin/co/touchlab/kermit/KermitConfig.kt Removes native-only atomic config implementation now shared from common.
kermit-core/src/commonMain/kotlin/co/touchlab/kermit/AtomicMutableLoggerConfig.kt Introduces shared atomic-backed MutableLoggerConfig implementation in commonMain.
kermit-core/src/androidHostTest/kotlin/co/touchlab/kermit/LogcatWriterTest.kt Adds host-side test validating Logcat writer behavior without Robolectric stubs.
kermit-core/src/androidHostTest/kotlin/co/touchlab/kermit/LogcatLoggerTest.kt Adds Robolectric-backed Logcat logger tests.
kermit-core/build.gradle.kts Switches to convention plugin + allTargets(..., wasiEnabled = true) and updates Android test compilation.
gradle/wrapper/gradle-wrapper.properties Upgrades root Gradle wrapper to 9.7.0.
gradle/libs.versions.toml Upgrades Kotlin/AGP/coroutines/etc; adds coroutines-test; switches Android library plugin id to KMP Android library plugin.
gradle.properties Removes enableWasm/Sonatype host flag; keeps publishing/signing properties.
extensions/kermit-ktor/build.gradle.kts Switches to convention plugin + shared target configuration (allTargets).
extensions/kermit-koin/build.gradle.kts Switches to convention plugin + shared target helpers; updates target coverage choices.
extensions/kermit-crashlytics/build.gradle.kts Switches to convention plugin + shared target helpers for Android/JVM + Apple.
extensions/kermit-bugsnag/build.gradle.kts Switches to convention plugin + shared target helpers for Android/JVM + Apple.
convention-plugins/src/main/kotlin/wasm-setup.gradle.kts Removes prior wasm setup convention plugin.
convention-plugins/src/main/kotlin/kermit/targets.kt Adds shared Kotlin MPP target helper functions (android/jvm/web/native + optional wasmWasi).
convention-plugins/src/main/kotlin/kermit.multiplatform-library.gradle.kts Adds new convention plugin for common MPP configuration + publishing + hierarchy template.
convention-plugins/settings.gradle.kts Adds google() repository for resolving Android-related Gradle plugins.
convention-plugins/build.gradle.kts Adds dependency on Android Gradle Plugin artifact for convention plugin compilation.
build.gradle.kts Removes global RequiresOptIn opt-in wiring (now handled by convention plugin).
Files not reviewed (1)
  • kotlin-js-store/package-lock.json: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread samples/sample/app/build.gradle.kts
Comment thread samples/sample-production/app/build.gradle.kts
Comment thread kotlin-js-store/package-lock.json
Comment thread kermit/build.gradle.kts
Comment thread kermit-core/src/wasmWasiMain/kotlin/co/touchlab/kermit/KermitConfig.kt Outdated
@faogustavo
faogustavo merged commit bd24683 into main Aug 14, 2026
2 checks passed
@faogustavo
faogustavo deleted the gv/wasm-wasi branch August 14, 2026 18:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants