diff --git a/build.gradle.kts b/build.gradle.kts index 820624fa1d4..086f1e4ca79 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,6 +18,11 @@ plugins { alias(libs.plugins.kover) apply false alias(libs.plugins.vanniktech.maven.publish) apply false alias(libs.plugins.kotlin.android) apply false + alias(libs.plugins.kotlin.multiplatform) apply false + alias(libs.plugins.kotlin.jvm) apply false +// alias(libs.plugins.kotlin.jvm.spring7) apply false + alias(libs.plugins.kotlin.spring) apply false +// alias(libs.plugins.kotlin.spring7) apply false alias(libs.plugins.buildconfig) apply false // dokka is required by gradle-maven-publish-plugin. alias(libs.plugins.dokka) apply false diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts index 5d8cbb335fc..451e5827ed9 100644 --- a/buildSrc/build.gradle.kts +++ b/buildSrc/build.gradle.kts @@ -9,5 +9,5 @@ repositories { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 80fe6ae520d..70631b58c82 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -13,7 +13,7 @@ jackson = "2.18.3" jetbrainsCompose = "1.6.11" kotlin = "1.9.24" kotlinSpring7 = "2.2.0" -kotlin-compatible-version = "1.6" +kotlin-compatible-version = "1.9" ktorClient = "3.0.0" logback = "1.2.9" log4j2 = "2.20.0" @@ -41,6 +41,11 @@ spotless = "7.0.4" [plugins] kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" } +kotlin-spring7 = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlinSpring7" } +kotlin-jvm-spring7 = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlinSpring7" } +kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } +kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } +kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" } buildconfig = { id = "com.github.gmazzo.buildconfig", version = "5.6.5" } dokka = { id = "org.jetbrains.dokka", version = "2.0.0" } dokka-javadoc = { id = "org.jetbrains.dokka-javadoc", version = "2.0.0" } diff --git a/sentry-android-core/build.gradle.kts b/sentry-android-core/build.gradle.kts index 01e89ff27c6..802a8bfb118 100644 --- a/sentry-android-core/build.gradle.kts +++ b/sentry-android-core/build.gradle.kts @@ -3,7 +3,7 @@ import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.library") - kotlin("android") + alias(libs.plugins.kotlin.android) jacoco alias(libs.plugins.jacoco.android) alias(libs.plugins.errorprone) @@ -34,7 +34,7 @@ android { getByName("release") { consumerProguardFiles("proguard-rules.pro") } } - kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() } + kotlin { compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } testOptions { animationsDisabled = true diff --git a/sentry-android-fragment/build.gradle.kts b/sentry-android-fragment/build.gradle.kts index 455f09af5d8..3c231c14676 100644 --- a/sentry-android-fragment/build.gradle.kts +++ b/sentry-android-fragment/build.gradle.kts @@ -2,7 +2,7 @@ import io.gitlab.arturbosch.detekt.Detekt plugins { id("com.android.library") - kotlin("android") + alias(libs.plugins.kotlin.android) jacoco alias(libs.plugins.jacoco.android) alias(libs.plugins.gradle.versions) @@ -25,7 +25,11 @@ android { getByName("release") { consumerProguardFiles("proguard-rules.pro") } } - kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() } + kotlin { + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_8 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_8 + } testOptions { animationsDisabled = true 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 f4ac7d99068..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 @@ -3,7 +3,7 @@ import net.ltgt.gradle.errorprone.errorprone plugins { id("com.android.application") - kotlin("android") + alias(libs.plugins.kotlin.android) alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) alias(libs.plugins.detekt) @@ -76,7 +76,7 @@ android { } } - kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() } + kotlin { compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } lint { warningsAsErrors = true 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 9af3fdaf8f3..258a4b45027 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 @@ -2,7 +2,8 @@ import io.gitlab.arturbosch.detekt.Detekt plugins { id("com.android.application") - kotlin("android") + alias(libs.plugins.kotlin.android) + // alias(libs.plugins.kotlin.compose) } android { @@ -30,7 +31,7 @@ android { proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } - kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() } + kotlin { compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() } androidComponents.beforeVariants { 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 ed57263f6f8..d3b2bdbd421 100644 --- a/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts @@ -3,7 +3,8 @@ import net.ltgt.gradle.errorprone.errorprone plugins { id("com.android.application") - kotlin("android") + alias(libs.plugins.kotlin.android) + // alias(libs.plugins.kotlin.compose) alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) alias(libs.plugins.detekt) @@ -68,7 +69,7 @@ android { } } - kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() } + kotlin { compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } lint { warningsAsErrors = true diff --git a/sentry-android-navigation/build.gradle.kts b/sentry-android-navigation/build.gradle.kts index 7fd5683adbf..7f5d1017ec3 100644 --- a/sentry-android-navigation/build.gradle.kts +++ b/sentry-android-navigation/build.gradle.kts @@ -2,7 +2,7 @@ import io.gitlab.arturbosch.detekt.Detekt plugins { id("com.android.library") - kotlin("android") + alias(libs.plugins.kotlin.android) jacoco alias(libs.plugins.jacoco.android) alias(libs.plugins.gradle.versions) @@ -25,9 +25,10 @@ android { getByName("release") { consumerProguardFiles("proguard-rules.pro") } } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + kotlin { + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } testOptions { diff --git a/sentry-android-ndk/build.gradle.kts b/sentry-android-ndk/build.gradle.kts index 8b01c7beaef..413fd3a7b77 100644 --- a/sentry-android-ndk/build.gradle.kts +++ b/sentry-android-ndk/build.gradle.kts @@ -2,7 +2,7 @@ import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.library") - kotlin("android") + alias(libs.plugins.kotlin.android) jacoco alias(libs.plugins.jacoco.android) alias(libs.plugins.gradle.versions) @@ -28,7 +28,7 @@ android { getByName("release") { consumerProguardFiles("proguard-rules.pro") } } - kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() } + kotlin { compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } testOptions { animationsDisabled = true diff --git a/sentry-android-replay/build.gradle.kts b/sentry-android-replay/build.gradle.kts index 9cb46cc007b..b8554ae44de 100644 --- a/sentry-android-replay/build.gradle.kts +++ b/sentry-android-replay/build.gradle.kts @@ -4,7 +4,8 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompilationTask plugins { id("com.android.library") - kotlin("android") + alias(libs.plugins.kotlin.android) + // alias(libs.plugins.kotlin.compose) jacoco alias(libs.plugins.jacoco.android) alias(libs.plugins.gradle.versions) @@ -37,9 +38,10 @@ android { getByName("release") { consumerProguardFiles("proguard-rules.pro") } } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + kotlin { + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } testOptions { diff --git a/sentry-android-sqlite/build.gradle.kts b/sentry-android-sqlite/build.gradle.kts index 2c0908bd4fa..58e19ee54f8 100644 --- a/sentry-android-sqlite/build.gradle.kts +++ b/sentry-android-sqlite/build.gradle.kts @@ -3,7 +3,7 @@ import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.library") - kotlin("android") + alias(libs.plugins.kotlin.android) jacoco alias(libs.plugins.jacoco.android) alias(libs.plugins.gradle.versions) @@ -26,9 +26,10 @@ android { getByName("release") { consumerProguardFiles("proguard-rules.pro") } } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + kotlin { + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } testOptions { diff --git a/sentry-android-timber/build.gradle.kts b/sentry-android-timber/build.gradle.kts index d9b3b897637..c1f0a42ca92 100644 --- a/sentry-android-timber/build.gradle.kts +++ b/sentry-android-timber/build.gradle.kts @@ -3,7 +3,7 @@ import org.jetbrains.kotlin.config.KotlinCompilerVersion plugins { id("com.android.library") - kotlin("android") + alias(libs.plugins.kotlin.android) jacoco alias(libs.plugins.jacoco.android) alias(libs.plugins.gradle.versions) @@ -33,9 +33,10 @@ android { getByName("release") { consumerProguardFiles("proguard-rules.pro") } } - kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + kotlin { + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_8 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_8 } testOptions { diff --git a/sentry-android/build.gradle.kts b/sentry-android/build.gradle.kts index 378358c3665..a2d92829b29 100644 --- a/sentry-android/build.gradle.kts +++ b/sentry-android/build.gradle.kts @@ -1,6 +1,6 @@ plugins { id("com.android.library") - kotlin("android") + alias(libs.plugins.kotlin.android) alias(libs.plugins.gradle.versions) } diff --git a/sentry-apache-http-client-5/build.gradle.kts b/sentry-apache-http-client-5/build.gradle.kts index bb71bac9a2e..4c9aba6e31b 100644 --- a/sentry-apache-http-client-5/build.gradle.kts +++ b/sentry-apache-http-client-5/build.gradle.kts @@ -4,15 +4,16 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-apollo-3/build.gradle.kts b/sentry-apollo-3/build.gradle.kts index 299f275bf59..d9971397a2f 100644 --- a/sentry-apollo-3/build.gradle.kts +++ b/sentry-apollo-3/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,8 +12,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-apollo-4/build.gradle.kts b/sentry-apollo-4/build.gradle.kts index f07fc61885a..931a646eb52 100644 --- a/sentry-apollo-4/build.gradle.kts +++ b/sentry-apollo-4/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -17,8 +17,9 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-apollo/build.gradle.kts b/sentry-apollo/build.gradle.kts index 8fd32f26580..ce6ceb08bb6 100644 --- a/sentry-apollo/build.gradle.kts +++ b/sentry-apollo/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,8 +12,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-compose/build.gradle.kts b/sentry-compose/build.gradle.kts index 9624bd018b9..a5666b4c566 100644 --- a/sentry-compose/build.gradle.kts +++ b/sentry-compose/build.gradle.kts @@ -2,7 +2,8 @@ import io.gitlab.arturbosch.detekt.Detekt import org.jetbrains.dokka.gradle.DokkaTask plugins { - kotlin("multiplatform") + alias(libs.plugins.kotlin.multiplatform) + alias(libs.plugins.kotlin.compose) id("com.android.library") id("org.jetbrains.compose") alias(libs.plugins.kover) diff --git a/sentry-graphql-22/build.gradle.kts b/sentry-graphql-22/build.gradle.kts index e11b38ac916..a8256ca8a27 100644 --- a/sentry-graphql-22/build.gradle.kts +++ b/sentry-graphql-22/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,8 +12,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-graphql-core/build.gradle.kts b/sentry-graphql-core/build.gradle.kts index dbda965fc4f..cb8c9f49493 100644 --- a/sentry-graphql-core/build.gradle.kts +++ b/sentry-graphql-core/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,8 +12,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-graphql/build.gradle.kts b/sentry-graphql/build.gradle.kts index 08d29e38a7f..46bef6e4b9d 100644 --- a/sentry-graphql/build.gradle.kts +++ b/sentry-graphql/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,8 +12,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-jdbc/build.gradle.kts b/sentry-jdbc/build.gradle.kts index 6ffcbefbdf3..0415fd8ccff 100644 --- a/sentry-jdbc/build.gradle.kts +++ b/sentry-jdbc/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,7 +12,7 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies { diff --git a/sentry-jul/build.gradle.kts b/sentry-jul/build.gradle.kts index 2035c6f4db8..13bee6418d6 100644 --- a/sentry-jul/build.gradle.kts +++ b/sentry-jul/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,7 +12,7 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies { diff --git a/sentry-kotlin-extensions/build.gradle.kts b/sentry-kotlin-extensions/build.gradle.kts index ebdf8320444..e5e6c89a9d0 100644 --- a/sentry-kotlin-extensions/build.gradle.kts +++ b/sentry-kotlin-extensions/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,8 +12,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-ktor-client/build.gradle.kts b/sentry-ktor-client/build.gradle.kts index 4369812e806..e7b8f92dd11 100644 --- a/sentry-ktor-client/build.gradle.kts +++ b/sentry-ktor-client/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco id("io.sentry.javadoc") alias(libs.plugins.errorprone) @@ -13,7 +13,7 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } kotlin { explicitApi() } diff --git a/sentry-log4j2/build.gradle.kts b/sentry-log4j2/build.gradle.kts index 10fbc165d41..68ebd90b1e8 100644 --- a/sentry-log4j2/build.gradle.kts +++ b/sentry-log4j2/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,7 +12,7 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies { diff --git a/sentry-logback/build.gradle.kts b/sentry-logback/build.gradle.kts index 55915b8d314..385209e8c49 100644 --- a/sentry-logback/build.gradle.kts +++ b/sentry-logback/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,7 +12,7 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies { diff --git a/sentry-okhttp/build.gradle.kts b/sentry-okhttp/build.gradle.kts index 3f0f596c3aa..114f6460e14 100644 --- a/sentry-okhttp/build.gradle.kts +++ b/sentry-okhttp/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco id("io.sentry.javadoc") alias(libs.plugins.errorprone) @@ -13,7 +13,7 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } kotlin { explicitApi() } diff --git a/sentry-openfeign/build.gradle.kts b/sentry-openfeign/build.gradle.kts index a2f9646fe5a..40119987f72 100644 --- a/sentry-openfeign/build.gradle.kts +++ b/sentry-openfeign/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,7 +12,7 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies { diff --git a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/build.gradle.kts index 85746e4064e..b4a84300efd 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/build.gradle.kts +++ b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/build.gradle.kts @@ -4,14 +4,14 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies { diff --git a/sentry-opentelemetry/sentry-opentelemetry-bootstrap/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-bootstrap/build.gradle.kts index 825bda09170..64db4096bb9 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-bootstrap/build.gradle.kts +++ b/sentry-opentelemetry/sentry-opentelemetry-bootstrap/build.gradle.kts @@ -4,14 +4,14 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies { diff --git a/sentry-opentelemetry/sentry-opentelemetry-core/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-core/build.gradle.kts index cafdf06563d..2ab3d4988d5 100644 --- a/sentry-opentelemetry/sentry-opentelemetry-core/build.gradle.kts +++ b/sentry-opentelemetry/sentry-opentelemetry-core/build.gradle.kts @@ -4,14 +4,14 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies { diff --git a/sentry-quartz/build.gradle.kts b/sentry-quartz/build.gradle.kts index 07e3e25626a..f81254f110f 100644 --- a/sentry-quartz/build.gradle.kts +++ b/sentry-quartz/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,8 +12,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-reactor/build.gradle.kts b/sentry-reactor/build.gradle.kts index 22d500b0cc5..9e8b6e74be9 100644 --- a/sentry-reactor/build.gradle.kts +++ b/sentry-reactor/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -17,8 +17,9 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-samples/sentry-samples-android/build.gradle.kts b/sentry-samples/sentry-samples-android/build.gradle.kts index 48f8c3d833e..613dd2e5799 100644 --- a/sentry-samples/sentry-samples-android/build.gradle.kts +++ b/sentry-samples/sentry-samples-android/build.gradle.kts @@ -5,7 +5,8 @@ import org.gradle.internal.extensions.stdlib.capitalized plugins { id("com.android.application") - kotlin("android") + alias(libs.plugins.kotlin.android) + // alias(libs.plugins.kotlin.compose) } android { @@ -89,7 +90,7 @@ android { } } - kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() } + kotlin { compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } androidComponents.beforeVariants { it.enable = !Config.Android.shouldSkipDebugVariant(it.buildType) diff --git a/sentry-samples/sentry-samples-console-opentelemetry-noagent/build.gradle.kts b/sentry-samples/sentry-samples-console-opentelemetry-noagent/build.gradle.kts index 8821c25626b..74f95e193cf 100644 --- a/sentry-samples/sentry-samples-console-opentelemetry-noagent/build.gradle.kts +++ b/sentry-samples/sentry-samples-console-opentelemetry-noagent/build.gradle.kts @@ -3,7 +3,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { java application - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.gradle.versions) id("com.github.johnrengelman.shadow") version "8.1.1" } @@ -22,13 +22,13 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-console/build.gradle.kts b/sentry-samples/sentry-samples-console/build.gradle.kts index b9d754db204..3e4a2b889f3 100644 --- a/sentry-samples/sentry-samples-console/build.gradle.kts +++ b/sentry-samples/sentry-samples-console/build.gradle.kts @@ -3,7 +3,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { java application - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.gradle.versions) id("com.github.johnrengelman.shadow") version "8.1.1" } @@ -22,13 +22,13 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-ktor-client/build.gradle.kts b/sentry-samples/sentry-samples-ktor-client/build.gradle.kts index 01fe56067f2..08a08b01c88 100644 --- a/sentry-samples/sentry-samples-ktor-client/build.gradle.kts +++ b/sentry-samples/sentry-samples-ktor-client/build.gradle.kts @@ -1,5 +1,5 @@ plugins { - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) application alias(libs.plugins.gradle.versions) } @@ -12,7 +12,7 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies { diff --git a/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts b/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts index d79812593a9..ade18a0cbc1 100644 --- a/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts +++ b/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.springboot2) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -35,8 +35,8 @@ dependencies { tasks.withType().configureEach { useJUnitPlatform() } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_1_8.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } } diff --git a/sentry-samples/sentry-samples-spring-7/build.gradle.kts b/sentry-samples/sentry-samples-spring-7/build.gradle.kts index bf5eecea94b..f1565124743 100644 --- a/sentry-samples/sentry-samples-spring-7/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-7/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { alias(libs.plugins.springboot4) apply false alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) id("war") alias(libs.plugins.gretty) @@ -45,8 +45,13 @@ dependencies { tasks.withType().configureEach { useJUnitPlatform() } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + explicitApi() + // skip metadata version check, as Spring 7 / Spring Boot 4 is + // compiled against a newer version of Kotlin + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } } diff --git a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/SecurityConfiguration.java b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/SecurityConfiguration.java index d6c8a315583..12085aa3b65 100644 --- a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/SecurityConfiguration.java +++ b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/SecurityConfiguration.java @@ -20,9 +20,10 @@ public class SecurityConfiguration { @SuppressWarnings({"lgtm[java/spring-disabled-csrf-protection]", "removal"}) @Bean public SecurityFilterChain filterChain(final @NotNull HttpSecurity http) throws Exception { - http.csrf().disable().authorizeHttpRequests().anyRequest().authenticated().and().httpBasic(); - - return http.build(); + return http.csrf((csrf) -> csrf.disable()) + .authorizeHttpRequests((r) -> r.anyRequest().authenticated()) + .httpBasic((h) -> {}) + .build(); } @Bean diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts index 05964eb76dc..107098fa096 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -24,10 +24,14 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + explicitApi() + // skip metadata version check, as Spring 7 / Spring Boot 4 is + // compiled against a newer version of Kotlin + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } } @@ -42,6 +46,7 @@ dependencies { implementation(libs.springboot4.starter.web) implementation(libs.springboot4.starter.webflux) implementation(libs.springboot4.starter.websocket) + implementation(libs.springboot4.starter.restclient) implementation(Config.Libs.aspectj) implementation(Config.Libs.kotlinReflect) implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java index e5987c8f4a2..9551bf2260b 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java @@ -18,9 +18,10 @@ public class SecurityConfiguration { @SuppressWarnings({"lgtm[java/spring-disabled-csrf-protection]", "removal"}) @Bean public SecurityFilterChain filterChain(final @NotNull HttpSecurity http) throws Exception { - http.csrf().disable().authorizeHttpRequests().anyRequest().authenticated().and().httpBasic(); - - return http.build(); + return http.csrf((csrf) -> csrf.disable()) + .authorizeHttpRequests((r) -> r.anyRequest().authenticated()) + .httpBasic((h) -> {}) + .build(); } @Bean diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java index 7f412eaa0d6..dc69256c020 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java @@ -10,7 +10,7 @@ import org.quartz.SimpleTrigger; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.boot.restclient.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.quartz.CronTriggerFactoryBean; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts index 23a73cfd991..c1626053bc2 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.tasks.run.BootRun plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -25,13 +25,14 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() -} - -tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + explicitApi() + // skip metadata version check, as Spring 7 / Spring Boot 4 is + // compiled against a newer version of Kotlin + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } } @@ -46,6 +47,7 @@ dependencies { implementation(libs.springboot4.starter.web) implementation(libs.springboot4.starter.webflux) implementation(libs.springboot4.starter.websocket) + implementation(libs.springboot4.starter.restclient) implementation(Config.Libs.aspectj) implementation(Config.Libs.kotlinReflect) implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java index e5987c8f4a2..9551bf2260b 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java @@ -18,9 +18,10 @@ public class SecurityConfiguration { @SuppressWarnings({"lgtm[java/spring-disabled-csrf-protection]", "removal"}) @Bean public SecurityFilterChain filterChain(final @NotNull HttpSecurity http) throws Exception { - http.csrf().disable().authorizeHttpRequests().anyRequest().authenticated().and().httpBasic(); - - return http.build(); + return http.csrf((csrf) -> csrf.disable()) + .authorizeHttpRequests((r) -> r.anyRequest().authenticated()) + .httpBasic((h) -> {}) + .build(); } @Bean diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java index a6eb46f4c74..50f8efad4a3 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java @@ -10,7 +10,7 @@ import org.quartz.SimpleTrigger; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.boot.restclient.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.quartz.CronTriggerFactoryBean; diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts index 1d68ad1a83e..e6193b35c88 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -45,9 +45,14 @@ dependencies { configure { test { java.srcDir("src/test/java") } } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + explicitApi() + // skip metadata version check, as Spring 7 / Spring Boot 4 is + // compiled against a newer version of Kotlin + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } } diff --git a/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts index 95aa93c1ed0..eb35bc8bb09 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.springboot4) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -24,13 +24,14 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() -} - -tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + explicitApi() + // skip metadata version check, as Spring 7 / Spring Boot 4 is + // compiled against a newer version of Kotlin + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict", "-Xskip-metadata-version-check") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } } @@ -45,6 +46,7 @@ dependencies { implementation(libs.springboot4.starter.web) implementation(libs.springboot4.starter.webflux) implementation(libs.springboot4.starter.websocket) + implementation(libs.springboot4.starter.restclient) implementation(Config.Libs.aspectj) implementation(Config.Libs.kotlinReflect) implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java index e5987c8f4a2..9551bf2260b 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java @@ -18,9 +18,10 @@ public class SecurityConfiguration { @SuppressWarnings({"lgtm[java/spring-disabled-csrf-protection]", "removal"}) @Bean public SecurityFilterChain filterChain(final @NotNull HttpSecurity http) throws Exception { - http.csrf().disable().authorizeHttpRequests().anyRequest().authenticated().and().httpBasic(); - - return http.build(); + return http.csrf((csrf) -> csrf.disable()) + .authorizeHttpRequests((r) -> r.anyRequest().authenticated()) + .httpBasic((h) -> {}) + .build(); } @Bean diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java index 8050cb8e74c..2c63a9c66bc 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java @@ -8,7 +8,7 @@ import org.quartz.SimpleTrigger; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.boot.restclient.RestTemplateBuilder; import org.springframework.context.annotation.Bean; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.quartz.CronTriggerFactoryBean; diff --git a/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/build.gradle.kts index c40b9e0f468..5a341f82892 100644 --- a/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.springboot3) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -24,10 +24,10 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/build.gradle.kts index 307f6e6803f..40eb4c04c2b 100644 --- a/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.tasks.run.BootRun plugins { alias(libs.plugins.springboot3) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -25,13 +25,13 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts index 009088ce53c..b3593ed46bb 100644 --- a/sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.springboot3) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -24,13 +24,13 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/build.gradle.kts index 47f1b42629d..2223458dc76 100644 --- a/sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.springboot2) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -24,13 +24,13 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts index 774ab356e69..a704a6d6004 100644 --- a/sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.tasks.run.BootRun plugins { alias(libs.plugins.springboot2) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -25,10 +25,10 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-spring-boot-webflux-jakarta/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-webflux-jakarta/build.gradle.kts index 144dcf57773..7be7d68eb94 100644 --- a/sentry-samples/sentry-samples-spring-boot-webflux-jakarta/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-webflux-jakarta/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.springboot3) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -45,9 +45,9 @@ dependencies { configure { test { java.srcDir("src/test/java") } } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-spring-boot-webflux/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-webflux/build.gradle.kts index dae155e5c22..58662e614d6 100644 --- a/sentry-samples/sentry-samples-spring-boot-webflux/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-webflux/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.springboot2) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -44,9 +44,9 @@ dependencies { configure { test { java.srcDir("src/test/java") } } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-spring-boot/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot/build.gradle.kts index b024b2618f4..e5344e38c9a 100644 --- a/sentry-samples/sentry-samples-spring-boot/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.springboot2) alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) } @@ -24,13 +24,13 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts b/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts index 2ecc26c4045..c48c97907bd 100644 --- a/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { alias(libs.plugins.springboot3) apply false alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) id("war") alias(libs.plugins.gretty) @@ -45,8 +45,8 @@ dependencies { tasks.withType().configureEach { useJUnitPlatform() } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_17.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } } diff --git a/sentry-samples/sentry-samples-spring/build.gradle.kts b/sentry-samples/sentry-samples-spring/build.gradle.kts index 170f58d19e9..986493af9bc 100644 --- a/sentry-samples/sentry-samples-spring/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES plugins { alias(libs.plugins.springboot2) apply false alias(libs.plugins.spring.dependency.management) - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) alias(libs.plugins.kotlin.spring) id("war") alias(libs.plugins.gretty) @@ -58,8 +58,8 @@ tasks.withType().configureEach { } tasks.withType().configureEach { - kotlinOptions { - freeCompilerArgs = listOf("-Xjsr305=strict") - jvmTarget = JavaVersion.VERSION_1_8.toString() + kotlin { + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } } diff --git a/sentry-servlet-jakarta/build.gradle.kts b/sentry-servlet-jakarta/build.gradle.kts index 0dab0cdc406..ec079b6d65f 100644 --- a/sentry-servlet-jakarta/build.gradle.kts +++ b/sentry-servlet-jakarta/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,8 +12,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-servlet-jakarta/src/test/kotlin/io/sentry/servlet/jakarta/SentryRequestHttpServletRequestProcessorTest.kt b/sentry-servlet-jakarta/src/test/kotlin/io/sentry/servlet/jakarta/SentryRequestHttpServletRequestProcessorTest.kt index 9fd1ae6a21e..3e420aa1dfb 100644 --- a/sentry-servlet-jakarta/src/test/kotlin/io/sentry/servlet/jakarta/SentryRequestHttpServletRequestProcessorTest.kt +++ b/sentry-servlet-jakarta/src/test/kotlin/io/sentry/servlet/jakarta/SentryRequestHttpServletRequestProcessorTest.kt @@ -145,7 +145,7 @@ fun toRequestUrl(uri: URI): StringBuffer? { url.append(':').append(port) } - if (uri?.isNotBlank()) { + if (uri.isNotBlank()) { url.append(uri) } return url diff --git a/sentry-servlet/build.gradle.kts b/sentry-servlet/build.gradle.kts index 0af2cb30718..ceaa160695a 100644 --- a/sentry-servlet/build.gradle.kts +++ b/sentry-servlet/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,8 +12,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-spring-7/build.gradle.kts b/sentry-spring-7/build.gradle.kts index 4923383bf95..45a70b33a6b 100644 --- a/sentry-spring-7/build.gradle.kts +++ b/sentry-spring-7/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -57,11 +57,11 @@ dependencies { // tests testImplementation(projects.sentryTestSupport) testImplementation(projects.sentryGraphql) - testImplementation(kotlin(Config.kotlinStdLib, "2.2.0")) + testImplementation(kotlin(Config.kotlinStdLib)) testImplementation(libs.awaitility.kotlin.spring7) testImplementation(libs.context.propagation) testImplementation(libs.graphql.java24) - testImplementation(kotlin(Config.kotlinTestJunit, "2.2.0")) + testImplementation(libs.kotlin.test.junit) testImplementation(libs.mockito.kotlin.spring7) testImplementation(libs.mockito.inline) testImplementation(libs.springboot4.starter.aop) @@ -70,6 +70,8 @@ dependencies { testImplementation(libs.springboot4.starter.test) testImplementation(libs.springboot4.starter.web) testImplementation(libs.springboot4.starter.webflux) + testImplementation(libs.springboot4.starter.restclient) + testImplementation(libs.springboot4.starter.webclient) testImplementation(projects.sentryReactor) } @@ -125,3 +127,12 @@ tasks.jar { ) } } + +kotlin { + explicitApi() + compilerOptions { + // skip metadata version check, as Spring 7 / Spring Boot 4 is + // compiled against a newer version of Kotlin + freeCompilerArgs.add("-Xskip-metadata-version-check") + } +} diff --git a/sentry-spring-boot-4-starter/build.gradle.kts b/sentry-spring-boot-4-starter/build.gradle.kts index 503a66dd004..2c8eab0ba66 100644 --- a/sentry-spring-boot-4-starter/build.gradle.kts +++ b/sentry-spring-boot-4-starter/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -18,8 +18,9 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-spring-boot-4/build.gradle.kts b/sentry-spring-boot-4/build.gradle.kts index 16f9e46a40f..8bfbef7577d 100644 --- a/sentry-spring-boot-4/build.gradle.kts +++ b/sentry-spring-boot-4/build.gradle.kts @@ -5,8 +5,10 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + // alias(libs.plugins.kotlin.jvm) jacoco + alias(libs.plugins.kotlin.jvm) + alias(libs.plugins.kotlin.spring) alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) alias(libs.plugins.buildconfig) @@ -19,8 +21,11 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) + languageVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9) + freeCompilerArgs.add("-Xjsr305=strict") + } } dependencies { @@ -89,6 +94,8 @@ dependencies { testImplementation(libs.springboot4.starter.test) testImplementation(libs.springboot4.starter.web) testImplementation(libs.springboot4.starter.webflux) + testImplementation(libs.springboot4.starter.restclient) + testImplementation(libs.springboot4.starter.webclient) } configure { test { java.srcDir("src/test/java") } } @@ -143,3 +150,12 @@ tasks.jar { ) } } + +kotlin { + explicitApi() + compilerOptions { + // skip metadata version check, as Spring 7 / Spring Boot 4 is + // compiled against a newer version of Kotlin + freeCompilerArgs.add("-Xskip-metadata-version-check") + } +} diff --git a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryAutoConfigurationTest.kt b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryAutoConfigurationTest.kt index 7b290a42880..de01ba828a0 100644 --- a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryAutoConfigurationTest.kt +++ b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryAutoConfigurationTest.kt @@ -24,6 +24,7 @@ import io.sentry.opentelemetry.agent.AgentMarker import io.sentry.protocol.SentryTransaction import io.sentry.protocol.User import io.sentry.quartz.SentryJobListener +import io.sentry.spring.boot4.BuildConfig import io.sentry.spring.jakarta.ContextTagsEventProcessor import io.sentry.spring.jakarta.HttpServletRequestSentryUserProvider import io.sentry.spring.jakarta.SentryExceptionResolver @@ -58,15 +59,15 @@ import org.quartz.core.QuartzScheduler import org.slf4j.MDC import org.springframework.aop.support.NameMatchMethodPointcut import org.springframework.boot.autoconfigure.AutoConfigurations -import org.springframework.boot.autoconfigure.quartz.QuartzAutoConfiguration -import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer -import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration import org.springframework.boot.context.annotation.UserConfigurations import org.springframework.boot.info.GitProperties +import org.springframework.boot.quartz.autoconfigure.QuartzAutoConfiguration +import org.springframework.boot.quartz.autoconfigure.SchedulerFactoryBeanCustomizer import org.springframework.boot.test.context.FilteredClassLoader import org.springframework.boot.test.context.assertj.ApplicationContextAssert import org.springframework.boot.test.context.runner.WebApplicationContextRunner import org.springframework.boot.web.servlet.FilterRegistrationBean +import org.springframework.boot.webmvc.autoconfigure.WebMvcAutoConfiguration import org.springframework.context.ApplicationContext import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @@ -317,7 +318,7 @@ class SentryAutoConfigurationTest { assertThat(event.sdk).isNotNull val sdk = event.sdk!! assertThat(sdk.version).isEqualTo(BuildConfig.VERSION_NAME) - assertThat(sdk.name).isEqualTo(BuildConfig.SENTRY_SPRING_BOOT_JAKARTA_SDK_NAME) + assertThat(sdk.name).isEqualTo(BuildConfig.SENTRY_SPRING_BOOT_4_SDK_NAME) assertThat(sdk.packageSet).anyMatch { pkg -> pkg.name == "maven:io.sentry:sentry-spring-boot-starter-jakarta" && pkg.version == BuildConfig.VERSION_NAME diff --git a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanRestTemplateCustomizerTest.kt b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanRestTemplateCustomizerTest.kt index f7a7f55c5db..8621149932d 100644 --- a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanRestTemplateCustomizerTest.kt +++ b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanRestTemplateCustomizerTest.kt @@ -30,7 +30,7 @@ import org.mockito.kotlin.doAnswer import org.mockito.kotlin.mock import org.mockito.kotlin.verify import org.mockito.kotlin.whenever -import org.springframework.boot.web.client.RestTemplateBuilder +import org.springframework.boot.restclient.RestTemplateBuilder import org.springframework.http.HttpEntity import org.springframework.http.HttpHeaders import org.springframework.http.HttpMethod @@ -43,8 +43,8 @@ class SentrySpanRestTemplateCustomizerTest { val scopes = mock() val restTemplate = RestTemplateBuilder() - .setConnectTimeout(Duration.ofSeconds(2)) - .setReadTimeout(Duration.ofSeconds(2)) + .connectTimeout(Duration.ofSeconds(2)) + .readTimeout(Duration.ofSeconds(2)) .build() var mockServer = MockWebServer() val transaction: SentryTracer diff --git a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryWebfluxAutoConfigurationTest.kt b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryWebfluxAutoConfigurationTest.kt index fd47317d1d2..61ae6c62174 100644 --- a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryWebfluxAutoConfigurationTest.kt +++ b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryWebfluxAutoConfigurationTest.kt @@ -7,9 +7,9 @@ import io.sentry.spring.jakarta.webflux.SentryWebFilterWithThreadLocalAccessor import kotlin.test.Test import org.assertj.core.api.Assertions.assertThat import org.springframework.boot.autoconfigure.AutoConfigurations -import org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration import org.springframework.boot.test.context.FilteredClassLoader import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner +import org.springframework.boot.webflux.autoconfigure.WebFluxAutoConfiguration import reactor.core.scheduler.Schedulers class SentryWebfluxAutoConfigurationTest { diff --git a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/it/SentrySpringIntegrationTest.kt b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/it/SentrySpringIntegrationTest.kt index 89d378d2087..980a2b67da4 100644 --- a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/it/SentrySpringIntegrationTest.kt +++ b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/it/SentrySpringIntegrationTest.kt @@ -25,9 +25,8 @@ import org.slf4j.LoggerFactory import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.test.context.SpringBootTest -import org.springframework.boot.test.mock.mockito.SpyBean -import org.springframework.boot.test.web.client.TestRestTemplate -import org.springframework.boot.test.web.server.LocalServerPort +import org.springframework.boot.web.server.test.LocalServerPort +import org.springframework.boot.web.server.test.client.TestRestTemplate import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration import org.springframework.http.HttpEntity @@ -44,6 +43,7 @@ import org.springframework.security.crypto.password.PasswordEncoder import org.springframework.security.provisioning.InMemoryUserDetailsManager import org.springframework.security.web.SecurityFilterChain import org.springframework.stereotype.Service +import org.springframework.test.context.bean.override.mockito.MockitoSpyBean import org.springframework.test.context.junit4.SpringRunner import org.springframework.web.bind.annotation.ControllerAdvice import org.springframework.web.bind.annotation.ExceptionHandler @@ -69,7 +69,7 @@ class SentrySpringIntegrationTest { @Autowired lateinit var transport: ITransport - @SpyBean lateinit var scopes: IScopes + @MockitoSpyBean lateinit var scopes: IScopes @LocalServerPort var port: Int? = null @@ -82,7 +82,7 @@ class SentrySpringIntegrationTest { fun `attaches request and user information to SentryEvents`() { val restTemplate = TestRestTemplate().withBasicAuth("user", "password") val headers = HttpHeaders() - headers["X-FORWARDED-FOR"] = listOf("169.128.0.1") + headers.put("X-FORWARDED-FOR", listOf("169.128.0.1")) val entity = HttpEntity(headers) restTemplate.exchange("http://localhost:$port/hello", HttpMethod.GET, entity, Void::class.java) @@ -148,7 +148,7 @@ class SentrySpringIntegrationTest { fun `attaches first ip address if multiple addresses exist in a header`() { val restTemplate = TestRestTemplate().withBasicAuth("user", "password") val headers = HttpHeaders() - headers["X-FORWARDED-FOR"] = listOf("169.128.0.1, 192.168.0.1") + headers.put("X-FORWARDED-FOR", listOf("169.128.0.1, 192.168.0.1")) val entity = HttpEntity(headers) restTemplate.exchange("http://localhost:$port/hello", HttpMethod.GET, entity, Void::class.java) @@ -334,7 +334,10 @@ open class SecurityConfiguration { @Bean @Throws(Exception::class) open fun filterChain(http: HttpSecurity): SecurityFilterChain { - http.csrf().disable().authorizeRequests().anyRequest().authenticated().and().httpBasic() + http + .csrf { it.disable() } + .authorizeHttpRequests { it.anyRequest().authenticated() } + .httpBasic {} return http.build() } diff --git a/sentry-spring-boot-jakarta/build.gradle.kts b/sentry-spring-boot-jakarta/build.gradle.kts index 0976ff93083..2dad5d25dd1 100644 --- a/sentry-spring-boot-jakarta/build.gradle.kts +++ b/sentry-spring-boot-jakarta/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -19,8 +19,9 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-spring-boot-starter-jakarta/build.gradle.kts b/sentry-spring-boot-starter-jakarta/build.gradle.kts index e671425de3c..60ac812b013 100644 --- a/sentry-spring-boot-starter-jakarta/build.gradle.kts +++ b/sentry-spring-boot-starter-jakarta/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -18,8 +18,9 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-spring-boot-starter/build.gradle.kts b/sentry-spring-boot-starter/build.gradle.kts index 06a49453019..a8b22a50f09 100644 --- a/sentry-spring-boot-starter/build.gradle.kts +++ b/sentry-spring-boot-starter/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -13,8 +13,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-spring-boot/build.gradle.kts b/sentry-spring-boot/build.gradle.kts index 8e5159dfb8e..7a486ef0968 100644 --- a/sentry-spring-boot/build.gradle.kts +++ b/sentry-spring-boot/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -14,8 +14,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-spring-jakarta/build.gradle.kts b/sentry-spring-jakarta/build.gradle.kts index e4a902d35c0..f1920e24510 100644 --- a/sentry-spring-jakarta/build.gradle.kts +++ b/sentry-spring-jakarta/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -19,10 +19,11 @@ configure { } tasks.withType().configureEach { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() - languageVersion = libs.versions.kotlin.compatible.version.get() - freeCompilerArgs = listOf("-Xjsr305=strict") + kotlin { + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.freeCompilerArgs = listOf("-Xjsr305=strict") } } diff --git a/sentry-spring/build.gradle.kts b/sentry-spring/build.gradle.kts index be395e65dfb..57c0b9d9f31 100644 --- a/sentry-spring/build.gradle.kts +++ b/sentry-spring/build.gradle.kts @@ -5,7 +5,7 @@ import org.springframework.boot.gradle.plugin.SpringBootPlugin plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -14,8 +14,9 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() - kotlinOptions.languageVersion = libs.versions.kotlin.compatible.version.get() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 + compilerOptions.languageVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 + compilerOptions.apiVersion = org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_1_9 } dependencies { diff --git a/sentry-system-test-support/build.gradle.kts b/sentry-system-test-support/build.gradle.kts index 4828ac6052d..d027e9383cf 100644 --- a/sentry-system-test-support/build.gradle.kts +++ b/sentry-system-test-support/build.gradle.kts @@ -1,7 +1,7 @@ plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -14,7 +14,7 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17 } dependencies { diff --git a/sentry-test-support/build.gradle.kts b/sentry-test-support/build.gradle.kts index a6de28d5029..64ade4c382c 100644 --- a/sentry-test-support/build.gradle.kts +++ b/sentry-test-support/build.gradle.kts @@ -1,7 +1,7 @@ plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -13,7 +13,7 @@ configure { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies { diff --git a/sentry/build.gradle.kts b/sentry/build.gradle.kts index 6a5a2182a89..416ddc7623a 100644 --- a/sentry/build.gradle.kts +++ b/sentry/build.gradle.kts @@ -4,7 +4,7 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { `java-library` id("io.sentry.javadoc") - kotlin("jvm") + alias(libs.plugins.kotlin.jvm) jacoco alias(libs.plugins.errorprone) alias(libs.plugins.gradle.versions) @@ -12,7 +12,7 @@ plugins { } tasks.withType().configureEach { - kotlinOptions.jvmTarget = JavaVersion.VERSION_1_8.toString() + compilerOptions.jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_1_8 } dependencies {