From 69c80b9e329de4b8c02d83100743d5f67904484c Mon Sep 17 00:00:00 2001 From: OmarAlJarrah Date: Wed, 17 Jun 2026 05:02:22 +0300 Subject: [PATCH] build: bump R8 to 9.1.31 for Kotlin 2.3 metadata parsing The shrink-survival module pinned R8 8.9.35, whose Kotlin-metadata support only covers Kotlin up to 2.1. Since this project compiles with Kotlin 2.3, every R8 shrink run emitted non-fatal Info/Warning lines reporting that it could not parse the 2.3 @Metadata annotations. The output stayed correct (the @Metadata annotation is retained via the shipped keep-rules and the Jackson kotlin-reflect round-trip passes), but the noise on every run risked masking a genuinely relevant warning. R8 9.1.31 is the current stable release and parses Kotlin 2.3 metadata. It is still Java-11 bytecode, so the JDK-11 launcher and --lib boot image in sdk-shrink-test are unchanged. The shrink run is now quiet. Closes #112 --- gradle/libs.versions.toml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index b670bde7..f01f5988 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -11,7 +11,11 @@ jackson = "2.18.2" junit-jupiter = "5.10.2" # R8 is used only by the test-only sdk-shrink-test module to verify the SDK survives consumer-side # shrinking. It is fetched from Google's Maven repo and never enters a published artifact. -r8 = "8.9.35" +# Pinned to a release whose Kotlin-metadata support covers the Kotlin version this project compiles +# with (2.3): the 8.9.x line only parsed @Metadata up to Kotlin 2.1 and emitted Info/Warning noise on +# every shrink run. R8 9.x is still Java-11 bytecode, so the JDK-11 launcher in sdk-shrink-test is +# unchanged. +r8 = "9.1.31" kover = "0.9.8" binary-compatibility-validator = "0.16.3" ktlint-plugin = "12.1.1"