From 3266807ffebb8f6ad34d8a0b1efda2c7401bd567 Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Thu, 1 Oct 2026 17:23:24 +0200 Subject: [PATCH] build: add kotlinx.serialization and Glance for M10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A pure-Kotlin JSON codec (so the backup round-trip test runs on the JVM) and Jetpack Glance (the three M10 widgets). Both resolve from google()/mavenCentral() only, no verification-metadata file exists to update, and the repro guard checks vcsInfo/dependenciesInfo/foojay — none of which this touches. --- app/build.gradle.kts | 7 +++++++ gradle/libs.versions.toml | 12 ++++++++++++ 2 files changed, 19 insertions(+) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index bd99a03..d80b856 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -4,6 +4,7 @@ import java.io.FileInputStream plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.compose) + alias(libs.plugins.kotlin.serialization) alias(libs.plugins.ksp) alias(libs.plugins.hilt) } @@ -184,6 +185,12 @@ dependencies { implementation(libs.kotlinx.datetime) implementation(libs.kotlinx.coroutines.core) + implementation(libs.kotlinx.serialization.json) + + // M10 home-screen widgets (docs/PLAN.md §9). + implementation(libs.androidx.glance.appwidget) + implementation(libs.androidx.glance.material3) + implementation("de.jeanlucmakiola.floret:core-time") implementation("de.jeanlucmakiola.floret:core-locale") implementation("de.jeanlucmakiola.floret:core-crash") diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index f0c4c3e..b939e75 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -34,6 +34,10 @@ room = "2.8.3" # androidx.graphics.shapes — pulled in transitively today. M8 imports that # package directly, so it is declared at the version that already resolves. graphicsShapes = "1.0.1" +# M10 backup: a pure-Kotlin JSON codec so BackupCodecTest runs on the JVM. +kotlinxSerialization = "1.11.0" +# M10 widgets. +glance = "1.2.0" [libraries] # AndroidX core @@ -112,9 +116,17 @@ androidx-room-testing = { group = "androidx.room", name = "room-testing", versio # Android tests - GrantPermissionRule androidx-test-rules = { group = "androidx.test", name = "rules", version.ref = "androidxTestRules" } +# JSON — the backup codec (M10, docs/PLAN.md §7) +kotlinx-serialization-json = { group = "org.jetbrains.kotlinx", name = "kotlinx-serialization-json", version.ref = "kotlinxSerialization" } + +# Glance — home-screen widgets (M10, docs/PLAN.md §9) +androidx-glance-appwidget = { group = "androidx.glance", name = "glance-appwidget", version.ref = "glance" } +androidx-glance-material3 = { group = "androidx.glance", name = "glance-material3", version.ref = "glance" } + [plugins] android-application = { id = "com.android.application", version.ref = "agp" } android-library = { id = "com.android.library", version.ref = "agp" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +kotlin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" } ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" } hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }