From 9c50a7b60beffb777dce1ba639b882206e3d9ca0 Mon Sep 17 00:00:00 2001 From: Masashi Katsumata Date: Sun, 16 Aug 2026 23:41:33 +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 93704ac..5e2b5b2 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,4 +1,5 @@ [versions] +composeLibs = "1.7.8" coroutines = "1.9.0" agp = "9.2.1" kotlin = "2.0.21" @@ -19,9 +20,9 @@ espressoCore = "3.7.0" kotlinx-coroutines-android = { group = "org.jetbrains.kotlinx", name = "kotlinx-coroutines-android", version.ref = "coroutines" } # 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" } androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" } # Lifecycle @@ -34,8 +35,8 @@ play-services-maps = { module = "com.google.android.gms:play-services-maps", ver # 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" }