phoenix
phoenix copied to clipboard
Upgrade to Kotlin 2.0.10
This PR upgrades Kotlin as well as some other libraries to Kotlin 2.0.10. This upgrade is required due to side effects of iOS 18 and Xcode 16.
- ktor to 2.3.12
- kotlinx.serialisation to 1.7.1 (transitive, see https://github.com/ACINQ/lightning-kmp/pull/701)
- kotlinx.coroutine to 1.9.0 (transitive)
- kermit to 2.0.4 (transitive)
- skie to 0.8.4
- sqldelight to 2.0.2
Issues found
iOS: SKIE
does not support kotlin 2.0.20 yet
We have to use Kotlin 2.0.10 instead, although lightning-kmp
can keep using 2.0.20 without issues.
kotlinx.serialisation
v1.7.2 is not compatible
This is a side effect of SKIE. kotlinx.serialisation
v1.7.2 requires Kotlin 2.0.20 (because they use the new kotlin.uuid.Uuid
object). In the meantime, we must use kotlinx.serialisation
v1.7.1.
iOS: Framework script removed
In the build phases of phoenix-ios-framework
we have a script that manually copied the phoenix-shared
framework (and DSYM) generated by gradle in phoenix-shared/build
into the Xcode DerivedData
folder for the phoenix-ios
application.
This script now fails with Kotlin 2.0 because the files are already copied during the build process. @robbiehanson It should be investigated further but it seems this script is not needed anymore, and thus must be removed.
iOS: Odd cache error
⚠️ needs investigation
An odd build error occurs in :phoenix-shared:linkDebugFrameworkIosArm64
:
/Users/xxx/.gradle/caches/modules-2/files-2.1/app.cash.sqldelight/coroutines-extensions-iosarm64/2.0.2/51f8ddc76a4aa3d45402f46017e7b8405a5f6761/coroutines-extensions is cached (in /Users/xxx/.konan/kotlin-native-prebuilt-macos-x86_64-2.0.10/klib/cache/ios_arm64-gSTATIC-pl/app.cash.sqldelight:sqldelight-coroutines-extensions/unspecified/1v8rzgt0jt9l5.30bg0yuy4wun9/app.cash.sqldelight:sqldelight-coroutines-extensions-cache/bin/libapp.cash.sqldelight:sqldelight-coroutines-extensions-cache.a), but its dependency isn't: /Users/xxx/.konan/kotlin-native-prebuilt-macos-x86_64-2.0.10/klib/common/stdlib
Although it's mentioned in the log, it does not seem linked to the sqldelight coroutine extension. This error is "fixed" by removing the kotlinOptions.freeCompilerArgs += "-Xallocator=std"
in phoenix-shared/build.gradle.kts
.
A similar report can be found here.