From 2e7387299df70ce6ec6ebead6347a678ace65fcf Mon Sep 17 00:00:00 2001 From: Masashi Katsumata Date: Sun, 16 Aug 2026 23:42:05 +0900 Subject: [PATCH] Publish explicit versions for BOM-managed Compose dependencies MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- gradle.properties | 2 +- gradle/libs.versions.toml | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/gradle.properties b/gradle.properties index a60f5cd..26d9949 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,5 +8,5 @@ minSdk=26 javaVersion=17 jvmTarget=17 -libraryVersion=1.3.0 +libraryVersion=1.3.1 android.generateSyncIssueWhenLibraryConstraintsAreEnabled=false diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b09fa4b..a9d0e75 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,4 +1,5 @@ [versions] +composeLibs = "1.7.8" agp = "9.2.1" kotlin = "2.0.21" @@ -15,9 +16,9 @@ espressoCore = "3.7.0" [libraries] # Jetpack Compose (with BOM) androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" } -androidx-ui = { group = "androidx.compose.ui", name = "ui" } -androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" } -androidx-foundation = { group = "androidx.compose.foundation", name = "foundation" } +androidx-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "composeLibs" } +androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview", version.ref = "composeLibs" } +androidx-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "composeLibs" } # Lifecycle androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" } @@ -28,8 +29,8 @@ mapbox-android = { module = "com.mapbox.maps:android-ndk27", version.ref = "mapb # Sample app androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" } -androidx-material3 = { group = "androidx.compose.material3", name = "material3" } -androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" } +androidx-material3 = { group = "androidx.compose.material3", name = "material3", version.ref = "composeLibs" } +androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling", version.ref = "composeLibs" } # Test junit = { group = "junit", name = "junit", version.ref = "junit" }