From a611277d5df202d6d82a369cd70e72b119934606 Mon Sep 17 00:00:00 2001 From: Kgothatso Ngako Date: Fri, 4 Sep 2026 23:26:24 +0200 Subject: [PATCH] build: drop six unused dependencies and their catalog entries None of these are imported by any source file in composeApp, generated sources included, and none is the kind of dependency that gets used without an import. androidx.paging:paging-common no androidx.paging import anywhere; no DAO androidx.paging:paging-compose returns PagingSource and nothing calls collectAsLazyPagingItems, so the Room-Paging integration that would need it is not in use androidx.work:work-runtime-ktx no Worker, CoroutineWorker or WorkManager reference, and no provider or initializer entry in AndroidManifest.xml okhttp3:okhttp-coroutines redundant rather than unused: quartz-android 1.14.0 depends on it and at 5.5.0, which was already upgrading this declaration's 5.4.0. It stays on the runtime classpath either way com.ionspin.kotlin:bignum no com.ionspin import. Arrived in a10dc1a with lightning-mobile support, not with secp256k1-frost-kmp, though frost was the last thing in the tree that used bignum at all no.synth:kmp-zip no no.synth import no.synth:kmp-zip-okio The catalog entries and the pagingCommon, workRuntimeKtx and okhttp version refs go with them, since each was referenced exactly once and nothing else in this build points at them. lightning-kmp-app also declares work-runtime-ktx, but reads it from its own catalog, so it is unaffected. Deliberately kept: app.cash.sqldelight looks unused by the same test -- no .kt file under composeApp/src imports it -- but composeApp holds .sq schemas for three databases (ChannelsDatabase, PaymentsDatabase, AppDatabase) and the generated sources import it in 29 files. The runtime, the coroutines extensions and the platform drivers all stay. compose.desktop.currentOs and kotlinx-coroutines-swing in jvmMain are untouched, but worth flagging: the `jvm()` target is commented out, so that source set and the files under composeApp/src/jvmMain are not built. Whether they are dead or waiting for the desktop target to come back is a decision about the target, not about a dependency, so this commit leaves both alone. Commented-out declarations elsewhere in the file -- room vs room3, kspIosX64, kspJvm -- are left as the migration markers they are. `:composeApp:assembleDebug` passes and the APK still packages libsecp256k1-jni.so for all four ABIs. Co-Authored-By: Claude Opus 5 --- composeApp/build.gradle.kts | 10 ---------- gradle/libs.versions.toml | 7 ------- 2 files changed, 17 deletions(-) diff --git a/composeApp/build.gradle.kts b/composeApp/build.gradle.kts index ed273566..7d1eb406 100644 --- a/composeApp/build.gradle.kts +++ b/composeApp/build.gradle.kts @@ -60,10 +60,8 @@ kotlin { implementation("fr.acinq.secp256k1:secp256k1-kmp-jni-android:0.24.0") implementation(libs.androidx.activity.compose) - implementation(libs.androidx.work.runtime.ktx) // implementation(libs.androidx.room.sqlite.wrapper) implementation(libs.compose.uiToolingPreview) - implementation(libs.okhttp.coroutines) implementation(libs.sqldelight.android.driver) } @@ -74,9 +72,6 @@ kotlin { implementation(libs.androidx.lifecycle.viewmodelCompose) implementation(libs.androidx.lifecycle.runtimeCompose) - implementation(libs.androidx.paging.common) - implementation(libs.androidx.paging.compose) - // implementation(libs.androidx.room.runtime) implementation(libs.androidx.room3.runtime) implementation(libs.androidx.sqlite.bundled) @@ -123,11 +118,6 @@ kotlin { implementation(libs.sqldelight.coroutines.extensions) implementation(libs.vitorpamplona.quartz) - - implementation("com.ionspin.kotlin:bignum:0.3.10") - - implementation("no.synth:kmp-zip:0.8.0") - implementation("no.synth:kmp-zip-okio:0.8.0") } commonTest.dependencies { implementation(libs.kotlin.test) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 102aff9f..e51ecfde 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -26,15 +26,12 @@ material3 = "1.10.0-alpha05" materialIconsCore = "1.7.3" materialIconsExtended = "1.7.3" navigationCompose = "2.9.2" -okhttp = "5.4.0" okio = "3.18.1" -pagingCommon = "3.5.1" qrose = "1.1.2" quartz = "1.14.0" room3 = "3.0.1" sqldelight = "2.3.2" sqlite = "2.7.0" -workRuntimeKtx = "2.11.1" [libraries] androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core" } @@ -44,13 +41,10 @@ androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "a androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" } androidx-datastore = { module = "androidx.datastore:datastore", version.ref = "datastorePreferences" } androidx-datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastorePreferences" } -androidx-paging-common = { module = "androidx.paging:paging-common", version.ref = "pagingCommon" } -androidx-paging-compose = { module = "androidx.paging:paging-compose", version.ref = "pagingCommon" } androidx-sqlite-bundled = { module = "androidx.sqlite:sqlite-bundled", version.ref = "sqlite" } androidx-room3-runtime = { module = "androidx.room3:room3-runtime", version.ref = "room3" } androidx-room3-compiler = { module = "androidx.room3:room3-compiler", version.ref = "room3" } androidx-room3-sqlite-wrapper = { module = "androidx.room3:room3-sqlite-wrapper", version.ref = "room3" } -androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version.ref = "workRuntimeKtx" } androidx-lifecycle-viewmodelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" } androidx-lifecycle-runtimeCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" } coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coilCompose" } @@ -78,7 +72,6 @@ ktor-client-websockets = { module = "io.ktor:ktor-client-websockets", version.re ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" } lightning-kmp-core = { module = "fr.acinq.lightning:lightning-kmp-core", version.ref = "lightningKmpCore" } navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "navigationCompose" } -okhttp-coroutines = { group = "com.squareup.okhttp3", name = "okhttp-coroutines", version.ref = "okhttp" } okio = { module = "com.squareup.okio:okio", version.ref = "okio" } qrose = { module = "io.github.alexzhirkevich:qrose", version.ref = "qrose" } sqldelight-android-driver = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" }