fix(build): repair main after the Kotlin 2.4 dependency merge storm#70
fix(build): repair main after the Kotlin 2.4 dependency merge storm#70jamesarich wants to merge 1 commit into
Conversation
The rapid-fire Renovate automerges each passed CI individually but broke
main in combination — three separate semantic conflicts:
1. build-logic: KGP 2.4 removed the old per-flavor ABI-validation DSL
(AbiValidationMultiplatformExtension, its enabled property, and
filters on the MPP variant spec). Migrate to the unified
abiValidation { } function on the Kotlin extension, which both
enables and configures validation.
2. Kotlin 2.4.10 -> 2.4.0: SKIE 0.10.13 (latest, 2026-06-24) hard-fails
on 2.4.10 — its ceiling is 2.4.0 — killing every Apple-target build.
The renovate PR went green because only ubuntu jobs ran it. Pin
Kotlin to 2.4.0 and bump both together once SKIE adds support.
kable 0.44.x klibs (built with Kotlin 2.4.0) resolve fine.
3. kable 0.44.1 renamed ExperimentalApi -> ExperimentalKableApi;
transport-ble's FakePeripheral opt-in updated.
Also regenerates the ABI reference dumps under the 2.4 toolchain:
internal-member mangling changed ($core -> $org_meshtastic_core),
default constructors are now dumped, and transport-tcp's
READ_CHUNK_BYTES / READ_TIMEOUT_MS constants left the public dump —
reviewers should eyeball that last one. No published release exists
yet, so dump churn has no consumer impact.
Verified locally (macOS, arm64):
./gradlew :build-logic:convention:compileKotlin
./gradlew checkKotlinAbi jvmTest
./gradlew :core:iosSimulatorArm64Test \
:samples:parity-app:linkReleaseFrameworkIosSimulatorArm64 # SKIE gate
./gradlew spotlessCheck detekt
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughThe PR updates Kotlin ABI validation to the unified DSL, changes the Kotlin version to 2.4.0, refreshes JVM API declarations, updates the BLE test’s Kable opt-in annotation, and removes two public TCP constants from the API baseline. ChangesKotlin and API maintenance
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Main broke when the Renovate backlog automerged in quick succession — each PR was green individually (ubuntu-only luck + stale merge bases), but three semantic conflicts landed together:
build-logic(broke every Gradle job)abiValidation { }DSLExperimentalApi→ExperimentalKableApiAlso regenerates the ABI reference dumps under the 2.4 toolchain — mangling suffix change (
$core→$org_meshtastic_core), constructors now dumped, and transport-tcp'sREAD_CHUNK_BYTES/READ_TIMEOUT_MSleft the public dump (reviewers: please eyeball). No release has shipped yet, so dump churn has no consumer impact.Verified locally on macOS/arm64: build-logic compile,
checkKotlinAbi jvmTest,:core:iosSimulatorArm64Test+ parity-app SKIE framework link,spotlessCheck detekt.Unblocks #52 and the v0.1.0 tag (#53).
🤖 Generated with Claude Code
Summary by CodeRabbit
New Features
API Updates
Compatibility