Skip to content

Commit da586a7

Browse files
Rajan MauryaRajan Maurya
authored andcommitted
fix(catalog): add 16 missing libs.versions.toml aliases — unblocks gradle script compilation
CI failure on PR openMF#2691 commit 463426d (Test Coverage Floor workflow): script compilation errors in cmp-android/build.gradle.kts — unresolved `libs.plugins. android.application.convention`, `libs.plugins.android.application.compose. convention`, `libs.plugins.aboutLibraries`. Root cause: build.gradle.kts files across the project (cmp-android, core-base/*, libs/*) were sync'd from upstream template via sync-dirs.yaml but the matching catalog entries in gradle/libs. versions.toml weren't included in the sync (the toml is intentionally consumer- local — it carries the project's package namespaces + version overrides). This is the SAME failure mode that openMF/kmp-project-template#163 fixes upstream by making sync-dirs self-healing. Until that PR merges + the next sync-dirs run propagates the heal logic, field-officer needs a manual catch-up of every catalog entry referenced by sync'd build.gradle.kts files. Audit: project-wide grep of every `libs.<X>` reference in `**/*.kts` + `**/*.kt` against gradle/libs.versions.toml found 16 unresolved aliases (180 total refs scanned, 16 missing). Added to [versions]: kmptoolkit = "3.2.3" aboutLibraries = "13.2.1" androidxHiltNavigationCompose = "1.2.0" androidxSecurityCrypto = "1.1.0-alpha06" bouncycastle = "1.78.1" sqliteWeb = "2.6.2" store = "5.1.0-alpha08" turbine = "1.2.1" Added to [libraries]: aboutlibraries-core, aboutlibraries-compose-core, aboutlibraries-compose-m3 androidx-hilt-navigation-compose androidx-security-crypto androidx-sqlite-web androidx-test-ext-junit (uses existing junitVersion = "1.2.1" which is actually the ext-junit version, not junit4) bouncycastle cmp-network-monitor + cmp-network-monitor-compose (both use kmptoolkit version) junit (uses existing junit4 = "4.13.2" — separate from junitVersion) kermit-koin store5 + store5-cache turbine Added to [plugins]: aboutLibraries = { id = "com.mikepenz.aboutlibraries.plugin", … } android-application-convention = { id = "org.convention.android.application" } android-application-compose-convention = { id = "org.convention.android.application.compose" } The 3 plugin convention aliases match plugin IDs registered in build-logic/convention/build.gradle.kts — the registration was already there; only the alias entry was missing. Verification: full re-run of the libs-resolution audit (the exact algorithm that the upstream PR openMF#163 ships as a sync-dirs heal step) now reports 0 unresolved references project-wide: scanned: 188 libs.* refs missing: 0 Categories of the 188 refs: - 14 in build-logic/convention/build.gradle.kts (fixed in commit 4077e85) - ~50 in cmp-android, cmp-shared, cmp-navigation, cmp-desktop, cmp-web, cmp-ios - ~80 in core-base/*, libs/* (vendored modules sync'd from template) - rest in feature/*, core/* This unblocks the next CI run on PR openMF#2691. Expected outcome: kover coverage job progresses past script compilation; surfaces whatever non-catalog compile issues remain (likely a smaller surface from B4/B6/B6.10 cross-tier moves).
1 parent 463426d commit da586a7

1 file changed

Lines changed: 37 additions & 0 deletions

File tree

gradle/libs.versions.toml

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,19 @@ kotlinxHtml = "0.12.0"
117117
kotlin = "2.3.20"
118118
kover = "0.9.1"
119119
kmpProductFlavors = "2.4.2"
120+
kmptoolkit = "3.2.3"
120121
kotlinInject = "0.7.2"
122+
123+
# Auxiliary deps used by core-base/* + cmp-android (post-T0.1 catch-up — sync-dirs
124+
# brought build.gradle.kts files referencing these aliases without bringing the
125+
# matching catalog entries; field-officer's libs.versions.toml is consumer-local).
126+
aboutLibraries = "13.2.1"
127+
androidxHiltNavigationCompose = "1.2.0"
128+
androidxSecurityCrypto = "1.1.0-alpha06"
129+
bouncycastle = "1.78.1"
130+
sqliteWeb = "2.6.2"
131+
store = "5.1.0-alpha08"
132+
turbine = "1.2.1"
121133
kotlinxCoroutines = "1.10.2"
122134
kotlinxDatetime = "0.7.1"
123135
kotlinxImmutable = "0.4.0"
@@ -333,6 +345,23 @@ room-gradlePlugin = { module = "androidx.room3:room3-gradle-plugin", version.ref
333345
androidx-room-gradle-plugin = { module = "androidx.room3:room3-gradle-plugin", version.ref = "room" }
334346
kover-gradlePlugin = { group = "org.jetbrains.kotlinx", name = "kover-gradle-plugin", version.ref = "kover" }
335347
kmp-product-flavors-plugin = { group = "io.github.mobilebytelabs.kmpflavors", name = "flavor-plugin", version.ref = "kmpProductFlavors" }
348+
349+
# Post-T0.1 catch-up libraries — see [versions] above for the matching versions.
350+
aboutlibraries-core = { module = "com.mikepenz:aboutlibraries-core", version.ref = "aboutLibraries" }
351+
aboutlibraries-compose-core = { module = "com.mikepenz:aboutlibraries-compose", version.ref = "aboutLibraries" }
352+
aboutlibraries-compose-m3 = { module = "com.mikepenz:aboutlibraries-compose-m3", version.ref = "aboutLibraries" }
353+
androidx-hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "androidxHiltNavigationCompose" }
354+
androidx-security-crypto = { group = "androidx.security", name = "security-crypto", version.ref = "androidxSecurityCrypto" }
355+
androidx-sqlite-web = { module = "androidx.sqlite:sqlite-web", version.ref = "sqliteWeb" }
356+
androidx-test-ext-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
357+
bouncycastle = { module = "org.bouncycastle:bcprov-jdk18on", version.ref = "bouncycastle" }
358+
cmp-network-monitor = { module = "io.github.mobilebytelabs:cmp-network-monitor", version.ref = "kmptoolkit" }
359+
cmp-network-monitor-compose = { module = "io.github.mobilebytelabs:cmp-network-monitor-compose", version.ref = "kmptoolkit" }
360+
junit = { group = "junit", name = "junit", version.ref = "junit4" }
361+
kermit-koin = { group = "co.touchlab", name = "kermit-koin", version.ref = "kermit" }
362+
store5 = { group = "org.mobilenativefoundation.store", name = "store5", version.ref = "store" }
363+
store5-cache = { group = "org.mobilenativefoundation.store", name = "cache5", version.ref = "store" }
364+
turbine = { module = "app.cash.turbine:turbine", version.ref = "turbine" }
336365
appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
337366

338367

@@ -528,6 +557,14 @@ kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", versi
528557
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
529558
kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" }
530559
kover-convention = { id = "org.convention.kover.plugin" }
560+
561+
# Post-T0.1 catch-up plugin aliases — referenced by cmp-android/build.gradle.kts
562+
# (build.gradle.kts files are sync'd from template via sync-dirs but the
563+
# corresponding catalog entries weren't). Plugin IDs match what's registered in
564+
# build-logic/convention/build.gradle.kts.
565+
aboutLibraries = { id = "com.mikepenz.aboutlibraries.plugin", version.ref = "aboutLibraries" }
566+
android-application-convention = { id = "org.convention.android.application" }
567+
android-application-compose-convention = { id = "org.convention.android.application.compose" }
531568
kmp-product-flavors = { id = "io.github.mobilebytelabs.kmp-product-flavors", version.ref = "kmpProductFlavors" }
532569
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
533570

0 commit comments

Comments
 (0)