End-to-end run on a Kotlin Multiplatform project in under five minutes. We will analyse a Ktor 2.3.8 → 2.3.11 bump on a sample project and open the HTML report.
Any KMP project that:
- keeps its versions in
gradle/libs.versions.toml, - has at least one Kotlin source file that imports the dependency you want to bump,
- builds with the Gradle wrapper.
For this walkthrough we'll use the demo Pokedex KMP app:
git clone https://github.com/EstebanCastel/KMP-IMPACT-Pokedex-with-tool.git ~/pokedex-kmpkmp-impact analyze \
--repo ~/pokedex-kmp \
--dependency io.ktor \
--before-version 2.3.8 \
--after-version 2.3.11 \
--output-dir output \
--skip-dynamicThe first run is the slowest because Gradle resolves dependencies for both BEFORE and AFTER shadow copies. Subsequent runs reuse the Gradle cache.
open output/report/index.html # macOS
xdg-open output/report/index.html # Linux
start output/report/index.html # WindowsYou will see six tabs:
| Tab | What it shows |
|---|---|
| Summary | Bump, impact counts, risk level, recommendation. |
| Static impact | List of .kt files marked direct (level 2) or transitive (level 1). |
| UI impact | DroidBot UTG diff. Empty when --skip-dynamic. |
| Traceability | File → Screen mapping with sticky header. |
| Visualization | Propagation tree (BFS, interactive) and CodeCharta JSON download. |
| Raw artifacts | Links to phase2/impact_graph.json, phase4/consolidated.json, etc. |
Re-run without --skip-dynamic, with the Android SDK and an emulator available:
kmp-impact analyze \
--repo ~/pokedex-kmp \
--dependency io.ktor \
--before-version 2.3.8 \
--after-version 2.3.11 \
--output-dir output-fullThe pipeline will:
- Build
:android:assembleDebugon the BEFORE state. - Build the same target on the AFTER state.
- Launch DroidBot against each APK and diff the resulting UTGs.
If either APK fails to build, the report will mark the dynamic phase BLOCKED with the compilation log attached. The static report is still produced.
- Adapt your own KMP repo with the Preparing an existing KMP project checklist before wiring it up.
- Plug it into a real PR flow with the GitHub Action guide.
- Read the Pipeline overview to understand what each phase contributes.
- Browse the Presets for ready-to-fork examples per KMP project.