diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 40d8e40f3..1d7f8e012 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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' diff --git a/app/src/test/kotlin/org/meshtastic/app/ui/NavigationAssemblyTest.kt b/app/src/test/kotlin/org/meshtastic/app/ui/NavigationAssemblyTest.kt index de6062d33..1fd4b39ce 100644 --- a/app/src/test/kotlin/org/meshtastic/app/ui/NavigationAssemblyTest.kt +++ b/app/src/test/kotlin/org/meshtastic/app/ui/NavigationAssemblyTest.kt @@ -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 diff --git a/build-logic/convention/src/main/kotlin/org/meshtastic/buildlogic/AndroidCompose.kt b/build-logic/convention/src/main/kotlin/org/meshtastic/buildlogic/AndroidCompose.kt index b438fe6c6..d3cfceb2a 100644 --- a/build-logic/convention/src/main/kotlin/org/meshtastic/buildlogic/AndroidCompose.kt +++ b/build-logic/convention/src/main/kotlin/org/meshtastic/buildlogic/AndroidCompose.kt @@ -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) } diff --git a/core/barcode/src/test/kotlin/org/meshtastic/core/barcode/BarcodeScannerTest.kt b/core/barcode/src/test/kotlin/org/meshtastic/core/barcode/BarcodeScannerTest.kt index aa222b7c2..f930b9ba5 100644 --- a/core/barcode/src/test/kotlin/org/meshtastic/core/barcode/BarcodeScannerTest.kt +++ b/core/barcode/src/test/kotlin/org/meshtastic/core/barcode/BarcodeScannerTest.kt @@ -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 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 954c50b21..81f73a9f7 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -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"