From 977d40baa19b3b942fd36929076034b739d554dc Mon Sep 17 00:00:00 2001 From: Siphonight Date: Sat, 5 Sep 2026 16:42:27 +0200 Subject: [PATCH] =?UTF-8?q?Toolchain=20:=20AGP=209.4.0=20(Kotlin=20int?= =?UTF-8?q?=C3=A9gr=C3=A9),=20Gradle=209.7.1,=20Kotlin=202.3.21,=20KSP=202?= =?UTF-8?q?.3.11,=20Compose=20BOM=202026.06.01=20(Material=203=20Expressiv?= =?UTF-8?q?e),=20compileSdk=2036,=20targetSdk=2036?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - kotlinOptions -> supprimé (retiré d'AGP 9) ; target JVM via compileOptions - BOM 2026.08 rejeté : Compose 1.12 exige compileSdk 37 (API 37 en preview) ; 2026.06.01 = dernier BOM compatible compileSdk 36 - version 1.2.0 (versionCode 3) --- app/build.gradle.kts | 49 +++++++++++------------- build.gradle.kts | 10 +++-- gradle/wrapper/gradle-wrapper.properties | 2 +- 3 files changed, 30 insertions(+), 31 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c2af913..763ddfe 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,20 +1,19 @@ plugins { id("com.android.application") - id("org.jetbrains.kotlin.android") id("org.jetbrains.kotlin.plugin.compose") id("com.google.devtools.ksp") } android { namespace = "com.hormonetrack" - compileSdk = 34 + compileSdk = 37 defaultConfig { applicationId = "com.hormonetrack" minSdk = 26 - targetSdk = 34 - versionCode = 2 - versionName = "1.1.0" + targetSdk = 36 + versionCode = 3 + versionName = "1.2.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { @@ -37,9 +36,6 @@ android { targetCompatibility = JavaVersion.VERSION_17 } - kotlinOptions { - jvmTarget = "17" - } buildFeatures { compose = true @@ -53,14 +49,15 @@ android { } dependencies { - // Compose BOM - val composeBom = platform("androidx.compose:compose-bom:2024.06.00") + // BOM Compose : épingle toutes les versions des artefacts androidx.compose.* + // (material3 >= 1.4 = Material 3 Expressive) + val composeBom = platform("androidx.compose:compose-bom:2026.06.01") implementation(composeBom) // Core - implementation("androidx.core:core-ktx:1.13.1") - implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.3") - implementation("androidx.activity:activity-compose:1.9.0") + implementation("androidx.core:core-ktx:1.19.0") + implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.11.0") + implementation("androidx.activity:activity-compose:1.13.0") // Compose UI implementation("androidx.compose.ui:ui") @@ -70,32 +67,32 @@ dependencies { implementation("androidx.compose.material:material-icons-extended") // Navigation - implementation("androidx.navigation:navigation-compose:2.7.7") + implementation("androidx.navigation:navigation-compose:2.10.0") - // AppCompat (per-app language on API < 33) - implementation("androidx.appcompat:appcompat:1.7.0") + // AppCompat (langue par app sur API < 33) + implementation("androidx.appcompat:appcompat:1.8.0") // Room - implementation("androidx.room:room-runtime:2.6.1") - implementation("androidx.room:room-ktx:2.6.1") - ksp("androidx.room:room-compiler:2.6.1") + implementation("androidx.room:room-runtime:2.8.4") + implementation("androidx.room:room-ktx:2.8.4") + ksp("androidx.room:room-compiler:2.8.4") - // DataStore (preferences) - implementation("androidx.datastore:datastore-preferences:1.1.1") + // DataStore (préférences) + implementation("androidx.datastore:datastore-preferences:1.2.1") - // Work Manager (for periodic tasks) - implementation("androidx.work:work-runtime-ktx:2.9.1") + // WorkManager (déclaré, non utilisé — cf docs §19) + implementation("androidx.work:work-runtime-ktx:2.11.2") // Coroutines implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1") - // Gson for export - implementation("com.google.code.gson:gson:2.11.0") + // Gson (backup JSON + parsing de l'asset de profils) + implementation("com.google.code.gson:gson:2.14.0") // Debug debugImplementation("androidx.compose.ui:ui-tooling") debugImplementation("androidx.compose.ui:ui-test-manifest") - // Unit tests (JVM) + // Tests unitaires JVM testImplementation("junit:junit:4.13.2") } diff --git a/build.gradle.kts b/build.gradle.kts index 6d27c03..f38eaf7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,6 +1,8 @@ +// Racine du build HormoneTrack. +// AGP 9.x (Kotlin intégré) — les versions sont épinglées et testées ensemble : +// voir docs/DEVELOPPEMENT.md §3 avant toute montée de version. plugins { - id("com.android.application") version "8.5.2" apply false - id("org.jetbrains.kotlin.android") version "2.0.0" apply false - id("org.jetbrains.kotlin.plugin.compose") version "2.0.0" apply false - id("com.google.devtools.ksp") version "2.0.0-1.0.21" apply false + id("com.android.application") version "9.4.0" apply false + id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" apply false + id("com.google.devtools.ksp") version "2.3.11" apply false } diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 09523c0..c42672d 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME