diff --git a/.github/renovate.json b/.github/renovate.json index e08e3d2f3..dda9390c3 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -49,236 +49,15 @@ "automerge": true }, { + "description": "Meshtastic Protobufs changelog link", "matchPackageNames": [ "https://github.com/meshtastic/protobufs.git" ], "changelogUrl": "https://github.com/meshtastic/protobufs/compare/{{currentDigest}}...{{newDigest}}", - "groupName": "Meshtastic Protobufs", - "groupSlug": "meshtastic-protobufs", "automerge": true }, { - "description": "Group all AndroidX dependencies (excluding more specific AndroidX groups)", - "groupName": "AndroidX (General)", - "groupSlug": "androidx-general", - "matchPackageNames": [ - "/^androidx\\./", - "!/^androidx\\.room/", - "!/^androidx\\.lifecycle/", - "!/^androidx\\.navigation/", - "!/^androidx\\.datastore/", - "!/^androidx\\.compose\\.material3\\.adaptive/", - "!/^androidx\\.compose\\.material3:material3-adaptive-navigation-suite$/", - "!/^androidx\\.test\\.espresso/", - "!/^androidx\\.test\\.ext/", - "!/^androidx\\.hilt/" - ] - }, - { - "description": "Group JetBrains Compose Multiplatform plugin and libraries (separate versioning from AndroidX Compose)", - "groupName": "Compose Multiplatform (JetBrains)", - "groupSlug": "compose-multiplatform", - "matchPackageNames": [ - "/^org\\.jetbrains\\.compose/" - ] - }, - { - "description": "Group Kotlin standard library, coroutines, and serialization", - "groupName": "Kotlin Ecosystem", - "groupSlug": "kotlin", - "matchPackageNames": [ - "/^org\\.jetbrains\\.kotlin/", - "/^org\\.jetbrains\\.kotlinx/" - ] - }, - { - "description": "Group Dagger and Hilt dependencies", - "groupName": "Dagger & Hilt", - "groupSlug": "hilt", - "matchPackageNames": [ - "/^com\\.google\\.dagger/", - "/^androidx\\.hilt/" - ] - }, - { - "description": "Group Accompanist libraries", - "groupName": "Accompanist", - "groupSlug": "accompanist", - "matchPackageNames": [ - "/^com\\.google\\.accompanist/" - ] - }, - { - "description": "Group JVM testing libraries (JUnit, Mockito, Robolectric)", - "groupName": "JVM Testing Libraries", - "groupSlug": "jvm-testing", - "matchPackageNames": [ - "/^junit:junit$/", - "/^org\\.mockito:/", - "/^org\\.robolectric:robolectric$/" - ], - "automerge": true - }, - { - "description": "Group AndroidX Testing libraries", - "groupName": "AndroidX Testing", - "groupSlug": "androidx-testing", - "matchPackageNames": [ - "/^androidx\\.test\\.espresso/", - "/^androidx\\.test\\.ext/" - ], - "automerge": true - }, - { - "description": "Group Static Analysis tools (Detekt, Spotless)", - "groupName": "Static Analysis", - "groupSlug": "static-analysis", - "matchPackageNames": [ - "/^io\\.gitlab\\.arturbosch\\.detekt/", - "/^io\\.nlopez\\.compose\\.rules/", - "/^com\\.diffplug\\.spotless/" - ], - "automerge": true - }, - { - "description": "Group Square networking libraries (OkHttp, Retrofit)", - "groupName": "Square Networking", - "groupSlug": "square-network", - "matchPackageNames": [ - "/^com\\.squareup\\.okhttp3/", - "/^com\\.squareup\\.retrofit2/" - ], - "automerge": true - }, - { - "description": "Group Coil image loading library", - "groupName": "Coil", - "groupSlug": "coil", - "matchPackageNames": [ - "/^io\\.coil-kt\\.coil3/" - ], - "automerge": true - }, - { - "description": "Group ZXing barcode scanning libraries", - "groupName": "ZXing", - "groupSlug": "zxing", - "matchPackageNames": [ - "/^com\\.journeyapps:zxing-android-embedded/", - "/^com\\.google\\.zxing:core/" - ], - "automerge": true - }, - { - "description": "Group Eclipse Paho MQTT client libraries", - "groupName": "MQTT Paho Client", - "groupSlug": "mqtt-paho", - "matchPackageNames": [ - "/^org\\.eclipse\\.paho/" - ], - "automerge": true - }, - { - "description": "Group Mike Penz Markdown renderer libraries", - "groupName": "Markdown Renderer (Mike Penz)", - "groupSlug": "markdown-renderer-mikepenz", - "matchPackageNames": [ - "/^com\\.mikepenz/" - ], - "automerge": true - }, - { - "description": "Group Firebase libraries", - "groupName": "Firebase", - "groupSlug": "firebase", - "matchPackageNames": [ - "/^com\\.google\\.firebase/" - ], - "automerge": true - }, - { - "description": "Group Datadog libraries", - "groupName": "Datadog", - "groupSlug": "datadog", - "matchPackageNames": [ - "/^com\\.datadoghq/" - ], - "automerge": true - }, - { - "description": "Group OpenStreetMap (OSM) libraries", - "groupName": "OSM Libraries", - "groupSlug": "osm-libraries", - "matchPackageNames": [ - "/^org\\.osmdroid/", - "/^com\\.github\\.MKergall\\.osmbonuspack/", - "/^mil\\.nga/" - ], - "automerge": true - }, - { - "description": "Group Google Maps Compose libraries", - "groupName": "Google Maps Compose", - "groupSlug": "google-maps-compose", - "matchPackageNames": [ - "/^com\\.google\\.android\\.gms:play-services-location/", - "/^com\\.google\\.maps\\.android/" - ], - "automerge": true - }, - { - "description": "Group Google Protobuf runtime libraries", - "groupName": "Protobuf Runtime", - "groupSlug": "protobuf-runtime", - "matchPackageNames": [ - "/^com\\.google\\.protobuf/", - "!https://github.com/meshtastic/protobufs.git" - ] - }, - { - "description": "Group AndroidX Room libraries", - "groupName": "AndroidX Room", - "groupSlug": "androidx-room", - "matchPackageNames": [ - "/^androidx\\.room/" - ], - "automerge": true - }, - { - "description": "Group AndroidX Lifecycle libraries", - "groupName": "AndroidX Lifecycle", - "groupSlug": "androidx-lifecycle", - "matchPackageNames": [ - "/^androidx\\.lifecycle/" - ] - }, - { - "description": "Group AndroidX Navigation libraries", - "groupName": "AndroidX Navigation", - "groupSlug": "androidx-navigation", - "matchPackageNames": [ - "/^androidx\\.navigation/" - ] - }, - { - "description": "Group AndroidX DataStore libraries", - "groupName": "AndroidX DataStore", - "groupSlug": "androidx-datastore", - "matchPackageNames": [ - "/^androidx\\.datastore/" - ] - }, - { - "description": "Group AndroidX Adaptive UI libraries", - "groupName": "AndroidX Adaptive UI", - "groupSlug": "androidx-adaptive-ui", - "matchPackageNames": [ - "/^androidx\\.compose\\.material3\\.adaptive/", - "/^androidx\\.compose\\.material3:material3-adaptive-navigation-suite$/" - ] - }, - { - "description": "Restrict sensitive infrastructure to patch updates only (manual minor)", + "description": "Restrict sensitive infrastructure to manual minor updates", "matchUpdateTypes": [ "minor" ], @@ -305,4 +84,4 @@ "automerge": false } ] -} \ No newline at end of file +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index d1051dc2a..46299b360 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -40,6 +40,10 @@ compose-multiplatform = "1.11.0-beta02" # CMP-bundled version. Bump this together with compose-multiplatform. skiko = "0.144.5" compose-multiplatform-material3 = "1.11.0-alpha06" +# AndroidX Compose test/tracing artifacts share a version track with CMP but are resolved +# independently by Maven. Pinning them to their own ref prevents Renovate from bumping the +# CMP plugin version when a new AndroidX Compose pre-release appears. +androidx-compose = "1.11.0-beta02" androidx-compose-material = "1.7.8" jetbrains-adaptive = "1.3.0-alpha06" @@ -122,8 +126,8 @@ androidx-work-runtime-ktx = { module = "androidx.work:work-runtime-ktx", version androidx-work-testing = { module = "androidx.work:work-testing", version = "2.11.2" } # AndroidX Compose (explicit versions — BOM removed; CMP is the sole version authority) -androidx-compose-runtime-tracing = { module = "androidx.compose.runtime:runtime-tracing", version.ref = "compose-multiplatform" } -androidx-compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "compose-multiplatform" } # Required by Robolectric Compose tests (registers ComponentActivity) +androidx-compose-runtime-tracing = { module = "androidx.compose.runtime:runtime-tracing", version.ref = "androidx-compose" } +androidx-compose-ui-test-manifest = { module = "androidx.compose.ui:ui-test-manifest", version.ref = "androidx-compose" } # Required by Robolectric Compose tests (registers ComponentActivity) # Compose Multiplatform compose-multiplatform-animation = { module = "org.jetbrains.compose.animation:animation", version.ref = "compose-multiplatform" }