Publishing a KMP library commits you to every target you listed
Dropping a target in a minor release breaks consumers at resolution time.
We use Google Analytics to see which pages help people. No ads, no profiles. Privacy Policy
8 posts
Dropping a target in a minor release breaks consumers at resolution time.
Copy-pasted build config drifts silently per module. A convention plugin makes the shared part shared.
Gradle metadata decides which variant each target gets. A library with no native artifact fails at link, not at resolution.
A processor sees one compilation at a time. Generating into commonMain is a race you win by accident.
Declared versions are requests, not guarantees. Resolution picks the highest.
Android and JVM targets cache well. Native link steps mostly do not, and that asymmetry is where your CI time goes.
Calling it a configuration cache incompatibility frames a real defect as a missing feature. The task captures a live object where it should capture a value.
Killing a build daemon discards the configuration cache, build cache, file watching and JIT state at once. Forty seconds becomes half an hour.