CI & Build / Python lint (push) Successful in 2s
CI & Build / Build now, or wait for Android? (push) Successful in 3s
Android / Build, or is the channel already serving this? (push) Successful in 3s
Desktop (Tauri) / Build, or is the channel already serving this? (push) Successful in 3s
Desktop (Tauri) / Web tests, clippy, Rust tests and rustfmt (push) Skipped
Desktop (Tauri) / Tauri desktop (Linux) (push) Skipped
Desktop (Tauri) / Windows installer (cross-compiled) (push) Skipped
Desktop (Tauri) / Update manifest (push) Skipped
CI & Build / Web typecheck and unit tests (push) Successful in 11s
CI & Build / Python tests (push) Successful in 14s
CI & Build / integration (push) Successful in 1m43s
CI & Build / Build & push image (push) Skipped
Android / Core and FFI clippy and tests (push) Successful in 1m7s
Android / Kotlin + Rust (APK) (push) Successful in 8m47s
Android / Build the server image (push) Successful in 2s
Run 8731 failed checkAarMetadata: Coil 3.6.x requires compileSdk 37, and it pulls in Compose 1.12, which requires AGP 9.1. This project is on compileSdk 36 and AGP 9.0.1. Coil 3.5.0's AARs ask for 36, and its Compose (JetBrains 1.11.1) is within this project's BOM (Compose 1.11.2). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
68 lines
3.8 KiB
TOML
68 lines
3.8 KiB
TOML
[versions]
|
|
# Pinned as a MATRIX, matching Minstrel's proven combination on the same JDK:
|
|
# - Gradle 9.1.0 supports JDK 25 (see gradle-wrapper.properties)
|
|
# - AGP 9.0.1 requires Gradle 9.1.0+
|
|
# - Kotlin 2.3.x is AGP 9's built-in Kotlin path
|
|
# ci-rust-android ships JDK 25, so the wrapper floor is load-bearing: an older
|
|
# Gradle fails on that JDK with an opaque "25.0.3" message.
|
|
agp = "9.0.1"
|
|
kotlin = "2.3.21"
|
|
compose-bom = "2026.05.01"
|
|
lifecycle = "2.8.7"
|
|
activity-compose = "1.9.3"
|
|
coroutines = "1.9.0"
|
|
|
|
# WorkManager runs the background sync. `work-runtime-ktx` is NOT used: as of
|
|
# 2.11 it is a 6 KB stub and every Kotlin extension (`PeriodicWorkRequestBuilder`,
|
|
# `CoroutineWorker`) has moved into `work-runtime` itself. Verified by unpacking
|
|
# both artifacts, not from memory.
|
|
work = "2.11.2"
|
|
|
|
# ktlint and detekt are NOT Gradle plugins here. ci-rust-android already ships
|
|
# both as pinned CLIs (M12 step 3), and the CI lane invokes those directly. Adding
|
|
# the Gradle plugins would mean a SECOND pinned version of each tool, resolved at
|
|
# build time, that has to be kept in lockstep with the image's by hand — and the
|
|
# first attempt at it failed outright, because the detekt version Minstrel pins
|
|
# (2.0.0-alpha.3) is not published to Maven Central or the plugin portal at all.
|
|
|
|
# JNA is not optional: uniffi's Kotlin bindings call into the .so through it.
|
|
# The @aar classifier matters — the plain jar has no Android native payload and
|
|
# fails at runtime with UnsatisfiedLinkError rather than at build time.
|
|
jna = "5.14.0"
|
|
|
|
junit = "4.13.2"
|
|
|
|
# Coil draws a link preview's image (Scribe #3307), the first image this client
|
|
# loads. Coil 3 ships its networking separately; the OkHttp fetcher is the one its
|
|
# docs name as the default, and it registers itself, so no loader is configured.
|
|
# Held at 3.5.0: 3.6.0 moved to compileSdk 37 and Compose 1.12, which need AGP 9.1.
|
|
# This project is on compileSdk 36 and AGP 9.0.1, so 3.6.x fails the AAR metadata
|
|
# check. Move it up together with agp and compileSdk.
|
|
coil = "3.5.0"
|
|
|
|
[libraries]
|
|
androidx-core-ktx = { module = "androidx.core:core-ktx", version = "1.13.1" }
|
|
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "activity-compose" }
|
|
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycle" }
|
|
androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "lifecycle" }
|
|
compose-bom = { module = "androidx.compose:compose-bom", version.ref = "compose-bom" }
|
|
compose-ui = { module = "androidx.compose.ui:ui" }
|
|
compose-ui-graphics = { module = "androidx.compose.ui:ui-graphics" }
|
|
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling" }
|
|
compose-ui-tooling-preview = { module = "androidx.compose.ui:ui-tooling-preview" }
|
|
compose-material3 = { module = "androidx.compose.material3:material3" }
|
|
# Icons only from -core, deliberately: it carries the common set (Menu, Search,
|
|
# Close, Add) and is already on the material3 path. -extended adds ~1,000 vectors
|
|
# for the handful the drawer would use.
|
|
compose-material-icons-core = { module = "androidx.compose.material:material-icons-core" }
|
|
kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" }
|
|
jna = { module = "net.java.dev.jna:jna", version.ref = "jna" }
|
|
androidx-work-runtime = { module = "androidx.work:work-runtime", version.ref = "work" }
|
|
junit = { module = "junit:junit", version.ref = "junit" }
|
|
coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" }
|
|
coil-network-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" }
|
|
|
|
[plugins]
|
|
android-application = { id = "com.android.application", version.ref = "agp" }
|
|
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|