Skip to content

Commit 6250c2c

Browse files
authored
Publish explicit versions for BOM-managed Compose dependencies (#15)
Maven Central rejects a POM that declares a dependency without a version: Dependency version information is missing for dependency: androidx.compose.runtime:runtime The Compose BOM supplies those versions at resolution time, but a BOM does not travel in the published POM, so consumers who do not import the BOM themselves get an unresolvable dependency. `for-arcgis`, `for-here` and `for-tomtom` were rejected outright; `for-googlemaps`, `for-maplibre` and `for-mapbox` slipped through with the same defect. Give the BOM-managed Compose artifacts an explicit version (`composeLibs`, 1.7.8 — what compose-bom 2025.02.00 resolves to) so the version reaches the POM. The BOM still governs resolution; this only fixes what is published. Release as 1.3.1: Maven Central versions cannot be replaced.
1 parent b8fbce6 commit 6250c2c

2 files changed

Lines changed: 7 additions & 6 deletions

File tree

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ minSdk=28
88
javaVersion=17
99
jvmTarget=17
1010

11-
libraryVersion=1.3.0
11+
libraryVersion=1.3.1
1212
android.generateSyncIssueWhenLibraryConstraintsAreEnabled=false

gradle/libs.versions.toml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
[versions]
2+
composeLibs = "1.7.8"
23
coroutines = "1.9.0"
34
playServicesMaps = "20.0.0"
45
agp = "9.2.1"
@@ -20,10 +21,10 @@ kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-
2021
play-services-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "playServicesMaps" }
2122
# Jetpack Compose (with BOM)
2223
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
23-
androidx-ui = { group = "androidx.compose.ui", name = "ui" }
24-
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
24+
androidx-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "composeLibs" }
25+
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "composeLibs" }
2526
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
26-
androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime" }
27+
androidx-compose-runtime = { group = "androidx.compose.runtime", name = "runtime", version.ref = "composeLibs" }
2728

2829
# Lifecycle
2930
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
@@ -37,8 +38,8 @@ arcgis-maps-kotlin-toolkit-authentication = { group = "com.esri", name = "arcgis
3738

3839
# Sample app
3940
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
40-
androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
41-
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
41+
androidx-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "composeLibs" }
42+
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "composeLibs" }
4243

4344
# Test
4445
junit = { group = "junit", name = "junit", version.ref = "junit" }

0 commit comments

Comments
 (0)