From 5714c9fed8960f7bae4e317786ee1f704304c6a5 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Tue, 9 Sep 2025 12:55:18 +0200 Subject: [PATCH 1/4] Use Kotlin stdlib 1.9.24 dependency for Android modules --- buildSrc/src/main/java/Config.kt | 1 + sentry-android-core/build.gradle.kts | 3 +-- sentry-android-distribution/build.gradle.kts | 3 +-- .../sentry-uitest-android-benchmark/build.gradle.kts | 4 +--- .../sentry-uitest-android-critical/build.gradle.kts | 4 +--- .../sentry-uitest-android/build.gradle.kts | 4 +--- sentry-android-ndk/build.gradle.kts | 4 +--- sentry-android-replay/build.gradle.kts | 4 +--- sentry-android-sqlite/build.gradle.kts | 3 +-- sentry-android-timber/build.gradle.kts | 3 +-- sentry-ktor-client/build.gradle.kts | 3 +-- sentry-okhttp/build.gradle.kts | 3 +-- 12 files changed, 12 insertions(+), 27 deletions(-) diff --git a/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt index b620979232f..8f373df14dd 100644 --- a/buildSrc/src/main/java/Config.kt +++ b/buildSrc/src/main/java/Config.kt @@ -4,6 +4,7 @@ import java.math.BigDecimal object Config { val AGP = System.getenv("VERSION_AGP") ?: "8.6.0" val kotlinStdLib = "stdlib-jdk8" + val kotlinStdLibVersionAndroid = "1.9.24" val kotlinTestJunit = "test-junit" object BuildPlugins { diff --git a/sentry-android-core/build.gradle.kts b/sentry-android-core/build.gradle.kts index 802a8bfb118..cb66a9a1645 100644 --- a/sentry-android-core/build.gradle.kts +++ b/sentry-android-core/build.gradle.kts @@ -1,5 +1,4 @@ import net.ltgt.gradle.errorprone.errorprone -import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.library") @@ -88,7 +87,7 @@ dependencies { errorprone(libs.nullaway) // tests - testImplementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + testImplementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) testImplementation(libs.roboelectric) testImplementation(libs.kotlin.test.junit) testImplementation(libs.androidx.core.ktx) diff --git a/sentry-android-distribution/build.gradle.kts b/sentry-android-distribution/build.gradle.kts index fa869097c2d..aff4a7b9230 100644 --- a/sentry-android-distribution/build.gradle.kts +++ b/sentry-android-distribution/build.gradle.kts @@ -1,4 +1,3 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { @@ -26,5 +25,5 @@ androidComponents.beforeVariants { dependencies { implementation(projects.sentry) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) } diff --git a/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts index e6480d8b37d..55f35a7fc2b 100644 --- a/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts @@ -92,9 +92,7 @@ android { } dependencies { - implementation( - kotlin(Config.kotlinStdLib, org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION) - ) + implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) implementation(projects.sentryAndroid) implementation(libs.androidx.appcompat) implementation(libs.androidx.constraintlayout) diff --git a/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts index 4b0cd68ca90..0c48471c63f 100644 --- a/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts @@ -40,9 +40,7 @@ android { } dependencies { - implementation( - kotlin(Config.kotlinStdLib, org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION) - ) + implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.foundation) implementation(libs.androidx.compose.material3) diff --git a/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts index 0c32cbad941..5a33f352ae1 100644 --- a/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts @@ -87,9 +87,7 @@ android { val applySentryIntegrations = System.getenv("APPLY_SENTRY_INTEGRATIONS")?.toBoolean() ?: true dependencies { - implementation( - kotlin(Config.kotlinStdLib, org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION) - ) + implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) if (applySentryIntegrations) { implementation(projects.sentryAndroid) diff --git a/sentry-android-ndk/build.gradle.kts b/sentry-android-ndk/build.gradle.kts index 413fd3a7b77..91944032ee5 100644 --- a/sentry-android-ndk/build.gradle.kts +++ b/sentry-android-ndk/build.gradle.kts @@ -1,5 +1,3 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion - plugins { id("com.android.library") alias(libs.plugins.kotlin.android) @@ -70,7 +68,7 @@ dependencies { implementation(libs.sentry.native.ndk) - testImplementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + testImplementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) testImplementation(libs.kotlin.test.junit) testImplementation(libs.mockito.kotlin) testImplementation(projects.sentryTestSupport) diff --git a/sentry-android-replay/build.gradle.kts b/sentry-android-replay/build.gradle.kts index 30afc911910..60d38c0ae0a 100644 --- a/sentry-android-replay/build.gradle.kts +++ b/sentry-android-replay/build.gradle.kts @@ -1,5 +1,4 @@ import io.gitlab.arturbosch.detekt.Detekt -import org.jetbrains.kotlin.config.KotlinCompilerVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask plugins { @@ -73,8 +72,7 @@ dependencies { api(projects.sentry) compileOnly(libs.androidx.compose.ui.replay) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) - + implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) // tests testImplementation(projects.sentryTestSupport) testImplementation(projects.sentryAndroidCore) diff --git a/sentry-android-sqlite/build.gradle.kts b/sentry-android-sqlite/build.gradle.kts index 58e19ee54f8..07fa7ad343f 100644 --- a/sentry-android-sqlite/build.gradle.kts +++ b/sentry-android-sqlite/build.gradle.kts @@ -1,5 +1,4 @@ import io.gitlab.arturbosch.detekt.Detekt -import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.library") @@ -69,7 +68,7 @@ dependencies { compileOnly(libs.androidx.sqlite) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) // tests testImplementation(libs.androidx.sqlite) diff --git a/sentry-android-timber/build.gradle.kts b/sentry-android-timber/build.gradle.kts index 11be26e8936..16083b43f1b 100644 --- a/sentry-android-timber/build.gradle.kts +++ b/sentry-android-timber/build.gradle.kts @@ -1,5 +1,4 @@ import io.gitlab.arturbosch.detekt.Detekt -import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.library") @@ -69,7 +68,7 @@ dependencies { compileOnly(libs.timber) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) // tests testImplementation(libs.timber) diff --git a/sentry-ktor-client/build.gradle.kts b/sentry-ktor-client/build.gradle.kts index 1c989d012fe..1fb3e98f126 100644 --- a/sentry-ktor-client/build.gradle.kts +++ b/sentry-ktor-client/build.gradle.kts @@ -1,5 +1,4 @@ import net.ltgt.gradle.errorprone.errorprone -import org.jetbrains.kotlin.config.KotlinCompilerVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -23,7 +22,7 @@ kotlin { explicitApi() } dependencies { api(projects.sentry) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) api(projects.sentryKotlinExtensions) compileOnly(libs.jetbrains.annotations) diff --git a/sentry-okhttp/build.gradle.kts b/sentry-okhttp/build.gradle.kts index 783b578e3c1..e2c10ffc5a1 100644 --- a/sentry-okhttp/build.gradle.kts +++ b/sentry-okhttp/build.gradle.kts @@ -1,5 +1,4 @@ import net.ltgt.gradle.errorprone.errorprone -import org.jetbrains.kotlin.config.KotlinCompilerVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -23,7 +22,7 @@ kotlin { explicitApi() } dependencies { api(projects.sentry) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) compileOnly(libs.jetbrains.annotations) compileOnly(libs.nopen.annotations) From 6d9afec422452508b138748fbdd1afa0d5e04d4e Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Tue, 9 Sep 2025 13:10:36 +0200 Subject: [PATCH 2/4] Limit Kotlin 1.9.24 dependency to published Android modules only --- sentry-android-core/build.gradle.kts | 3 ++- .../sentry-uitest-android-benchmark/build.gradle.kts | 3 ++- .../sentry-uitest-android-critical/build.gradle.kts | 3 ++- .../sentry-uitest-android/build.gradle.kts | 3 ++- sentry-android-ndk/build.gradle.kts | 4 +++- 5 files changed, 11 insertions(+), 5 deletions(-) diff --git a/sentry-android-core/build.gradle.kts b/sentry-android-core/build.gradle.kts index cb66a9a1645..802a8bfb118 100644 --- a/sentry-android-core/build.gradle.kts +++ b/sentry-android-core/build.gradle.kts @@ -1,4 +1,5 @@ import net.ltgt.gradle.errorprone.errorprone +import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.library") @@ -87,7 +88,7 @@ dependencies { errorprone(libs.nullaway) // tests - testImplementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) + testImplementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) testImplementation(libs.roboelectric) testImplementation(libs.kotlin.test.junit) testImplementation(libs.androidx.core.ktx) diff --git a/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts index 55f35a7fc2b..2612536f3e2 100644 --- a/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts @@ -1,5 +1,6 @@ import io.gitlab.arturbosch.detekt.Detekt import net.ltgt.gradle.errorprone.errorprone +import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.application") @@ -92,7 +93,7 @@ android { } dependencies { - implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) + implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) implementation(projects.sentryAndroid) implementation(libs.androidx.appcompat) implementation(libs.androidx.constraintlayout) diff --git a/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts index 0c48471c63f..e831d3ea95f 100644 --- a/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts @@ -1,4 +1,5 @@ import io.gitlab.arturbosch.detekt.Detekt +import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.application") @@ -40,7 +41,7 @@ android { } dependencies { - implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) + implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.foundation) implementation(libs.androidx.compose.material3) diff --git a/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts index 5a33f352ae1..f5bde9c75b3 100644 --- a/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts @@ -1,5 +1,6 @@ import io.gitlab.arturbosch.detekt.Detekt import net.ltgt.gradle.errorprone.errorprone +import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.application") @@ -87,7 +88,7 @@ android { val applySentryIntegrations = System.getenv("APPLY_SENTRY_INTEGRATIONS")?.toBoolean() ?: true dependencies { - implementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) + implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) if (applySentryIntegrations) { implementation(projects.sentryAndroid) diff --git a/sentry-android-ndk/build.gradle.kts b/sentry-android-ndk/build.gradle.kts index 91944032ee5..413fd3a7b77 100644 --- a/sentry-android-ndk/build.gradle.kts +++ b/sentry-android-ndk/build.gradle.kts @@ -1,3 +1,5 @@ +import org.jetbrains.kotlin.config.KotlinCompilerVersion + plugins { id("com.android.library") alias(libs.plugins.kotlin.android) @@ -68,7 +70,7 @@ dependencies { implementation(libs.sentry.native.ndk) - testImplementation(kotlin(Config.kotlinStdLib, Config.kotlinStdLibVersionAndroid)) + testImplementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) testImplementation(libs.kotlin.test.junit) testImplementation(libs.mockito.kotlin) testImplementation(projects.sentryTestSupport) From 9062af41cdca5a81b7008c3e51cbca3a5a99d736 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Tue, 9 Sep 2025 14:04:16 +0200 Subject: [PATCH 3/4] Let UI tests use bundled kotlin version --- .../sentry-uitest-android-benchmark/build.gradle.kts | 5 +++-- .../sentry-uitest-android-critical/build.gradle.kts | 5 +++-- .../sentry-uitest-android/build.gradle.kts | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts index 2612536f3e2..e6480d8b37d 100644 --- a/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts @@ -1,6 +1,5 @@ import io.gitlab.arturbosch.detekt.Detekt import net.ltgt.gradle.errorprone.errorprone -import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.application") @@ -93,7 +92,9 @@ android { } dependencies { - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation( + kotlin(Config.kotlinStdLib, org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION) + ) implementation(projects.sentryAndroid) implementation(libs.androidx.appcompat) implementation(libs.androidx.constraintlayout) diff --git a/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts index e831d3ea95f..4b0cd68ca90 100644 --- a/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts @@ -1,5 +1,4 @@ import io.gitlab.arturbosch.detekt.Detekt -import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.application") @@ -41,7 +40,9 @@ android { } dependencies { - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation( + kotlin(Config.kotlinStdLib, org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION) + ) implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.foundation) implementation(libs.androidx.compose.material3) diff --git a/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts index f5bde9c75b3..0c32cbad941 100644 --- a/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts @@ -1,6 +1,5 @@ import io.gitlab.arturbosch.detekt.Detekt import net.ltgt.gradle.errorprone.errorprone -import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.application") @@ -88,7 +87,9 @@ android { val applySentryIntegrations = System.getenv("APPLY_SENTRY_INTEGRATIONS")?.toBoolean() ?: true dependencies { - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation( + kotlin(Config.kotlinStdLib, org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION) + ) if (applySentryIntegrations) { implementation(projects.sentryAndroid) From 52914dd9c94f8f0299013b0d075110c00bacbf50 Mon Sep 17 00:00:00 2001 From: Markus Hintersteiner Date: Tue, 9 Sep 2025 14:09:51 +0200 Subject: [PATCH 4/4] Update Changelog --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 262a8471b01..a57ee1611b0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## Unreleased + +### Fixes + +- Use Kotlin stdlib 1.9.24 dependency instead of 2.2.0 for all Android modules ([#4707](https://github.com/getsentry/sentry-java/pull/4707)) + - This fixes compile time issues if your app is using Kotlin < 2.x + ## 8.21.0 ### Fixes