fix(desktop): unbreak release builds (CMP beta03 + pwsh -P quoting) (#5230)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: garthvh <1795163+garthvh@users.noreply.github.com>
This commit is contained in:
James Rich
2026-04-23 06:22:31 -05:00
committed by GitHub
parent f091b6bb2d
commit 0ab6285340
5 changed files with 22 additions and 16 deletions

View File

@@ -285,7 +285,10 @@ jobs:
env:
ORG_GRADLE_PROJECT_appVersionName: ${{ needs.prepare-build-info.outputs.APP_VERSION_NAME }}
APPIMAGE_EXTRACT_AND_RUN: 1
run: ./gradlew :desktop:packageReleaseDistributionForCurrentOS -PaboutLibraries.release=true --no-daemon
# Quote the -P flag: PowerShell on Windows interprets the dot in
# `-PaboutLibraries.release=true` as member access on `-PaboutLibraries`,
# splitting the token and feeding `.release=true` to Gradle as a task name.
run: ./gradlew :desktop:packageReleaseDistributionForCurrentOS '-PaboutLibraries.release=true' --no-daemon
- name: List Desktop Binaries
if: runner.os == 'Linux'

View File

@@ -17,7 +17,7 @@
package org.meshtastic.app.ui
import androidx.compose.ui.test.ExperimentalTestApi
import androidx.compose.ui.test.runComposeUiTest
import androidx.compose.ui.test.v2.runComposeUiTest
import androidx.navigation3.runtime.NavKey
import androidx.navigation3.runtime.entryProvider
import androidx.navigation3.runtime.rememberNavBackStack

View File

@@ -32,10 +32,12 @@ internal fun Project.configureAndroidCompose(commonExtension: CommonExtension) {
exclude(mapOf("group" to "androidx.compose", "module" to "compose-bom"))
}
// CMP publishes these core AndroidX groups at the CMP version tag.
// Material, Material3, and Adaptive follow separate AndroidX version numbers
// and must NOT be included here (see CMP release notes for the mapping table).
val cmpVersion = libs.version("compose-multiplatform")
// CMP publishes these core AndroidX groups at an AndroidX version tag that
// tracks (but does not equal) the CMP version. The exact mapping lives in
// the CMP release notes; we mirror it via the `androidx-compose-bom-aligned`
// version ref in libs.versions.toml. Material, Material3, and Adaptive follow
// separate AndroidX version numbers and must NOT be included here.
val androidxComposeVersion = libs.version("androidx-compose-bom-aligned")
val cmpAlignedGroups = setOf(
"androidx.compose.animation",
"androidx.compose.foundation",
@@ -51,7 +53,7 @@ internal fun Project.configureAndroidCompose(commonExtension: CommonExtension) {
configurations.configureEach {
resolutionStrategy.eachDependency {
if (requested.group in cmpAlignedGroups) {
useVersion(cmpVersion)
useVersion(androidxComposeVersion)
} else if (requested.group == "androidx.compose.material") {
useVersion(materialVersion)
}

View File

@@ -17,7 +17,7 @@
package org.meshtastic.core.barcode
import androidx.compose.ui.test.ExperimentalTestApi
import androidx.compose.ui.test.runComposeUiTest
import androidx.compose.ui.test.v2.runComposeUiTest
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner

View File

@@ -34,21 +34,22 @@ testRetry = "1.6.4"
turbine = "1.2.1"
# Compose Multiplatform
compose-multiplatform = "1.11.0-beta02"
compose-multiplatform-material3 = "1.11.0-alpha06"
# `androidx-compose-bom-aligned` tracks androidx.compose.{runtime,ui} test/tracing
compose-multiplatform = "1.11.0-beta03"
compose-multiplatform-material3 = "1.11.0-alpha07"
# `androidx-compose-bom-aligned` tracks androidx.compose.{runtime,ui,foundation,animation}
# artifacts that ship in lockstep with CMP. Kept as a separate version ref so Renovate
# can bump androidx releases (which often land first) without dragging the
# `org.jetbrains.compose:*` artifacts and Gradle plugin to a version JetBrains
# hasn't published yet (see PR #5180). Should normally match `compose-multiplatform`;
# AndroidCompose.kt's resolutionStrategy force-aligns these groups to the CMP version
# at resolution time regardless of the declared value here.
androidx-compose-bom-aligned = "1.11.0-rc01"
# hasn't published yet (see PR #5180). Should track the AndroidX version that the
# current `compose-multiplatform` release maps to (see CMP release notes).
# AndroidCompose.kt's resolutionStrategy force-aligns these groups to *this* version
# at resolution time, so it is the source of truth for the Android target.
androidx-compose-bom-aligned = "1.11.0"
# `androidx-compose-material` (M2) is independent of CMP and pinned separately
# because some third-party libs (maps-compose-widgets, datadog) drag in
# unversioned material transitives.
androidx-compose-material = "1.7.8"
jetbrains-adaptive = "1.3.0-alpha06"
jetbrains-adaptive = "1.3.0-alpha07"
# Google
maps-compose = "8.3.0"