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/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt index a892af8e920..b620979232f 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 kotlinTestJunit = "test-junit" object BuildPlugins { val androidGradle = "com.android.tools.build:gradle:$AGP" diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 62a952dd6a0..70631b58c82 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -12,7 +12,8 @@ jacoco = "0.8.7" jackson = "2.18.3" jetbrainsCompose = "1.6.11" kotlin = "1.9.24" -kotlin-compatible-version = "1.6" +kotlinSpring7 = "2.2.0" +kotlin-compatible-version = "1.9" ktorClient = "3.0.0" logback = "1.2.9" log4j2 = "2.20.0" @@ -40,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" } @@ -96,6 +102,7 @@ jackson-databind = { module = "com.fasterxml.jackson.core:jackson-databind", ver jackson-kotlin = { module = "com.fasterxml.jackson.module:jackson-module-kotlin", version.ref = "jackson" } jetbrains-annotations = { module = "org.jetbrains:annotations", version = "23.0.0" } kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" } +kotlin-test-junit-spring7 = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlinSpring7" } kotlinx-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "coroutines" } kotlinx-coroutines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "coroutines" } ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktorClient" } @@ -162,6 +169,8 @@ springboot4-starter-websocket = { module = "org.springframework.boot:spring-boot springboot4-starter-webflux = { module = "org.springframework.boot:spring-boot-starter-webflux", version.ref = "springboot4" } springboot4-starter-aop = { module = "org.springframework.boot:spring-boot-starter-aop", version.ref = "springboot4" } springboot4-starter-security = { module = "org.springframework.boot:spring-boot-starter-security", version.ref = "springboot4" } +springboot4-starter-restclient = { module = "org.springframework.boot:spring-boot-starter-restclient", version.ref = "springboot4" } +springboot4-starter-webclient = { module = "org.springframework.boot:spring-boot-starter-webclient", version.ref = "springboot4" } springboot4-starter-jdbc = { module = "org.springframework.boot:spring-boot-starter-jdbc", version.ref = "springboot4" } springboot4-starter-actuator = { module = "org.springframework.boot:spring-boot-starter-actuator", version.ref = "springboot4" } timber = { module = "com.jakewharton.timber:timber", version = "4.7.1" } @@ -177,12 +186,14 @@ androidx-test-orchestrator = { module = "androidx.test:orchestrator", version = androidx-test-rules = { module = "androidx.test:rules", version.ref = "androidxTestCore" } androidx-test-runner = { module = "androidx.test:runner", version = "1.6.2" } awaitility-kotlin = { module = "org.awaitility:awaitility-kotlin", version = "4.1.1" } +awaitility-kotlin-spring7 = { module = "org.awaitility:awaitility-kotlin", version = "4.3.0" } awaitility3-kotlin = { module = "org.awaitility:awaitility-kotlin", version = "3.1.6" } hsqldb = { module = "org.hsqldb:hsqldb", version = "2.6.1" } javafaker = { module = "com.github.javafaker:javafaker", version = "1.0.2" } kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "coroutines" } leakcanary-instrumentation = { module = "com.squareup.leakcanary:leakcanary-android-instrumentation", version = "2.14" } mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version = "4.1.0" } +mockito-kotlin-spring7 = { module = "org.mockito.kotlin:mockito-kotlin", version = "6.0.0" } mockito-inline = { module = "org.mockito:mockito-inline", version = "4.8.0" } msgpack = { module = "org.msgpack:msgpack-core", version = "0.9.8" } okhttp-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp" } 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/AppConfig.java b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/AppConfig.java similarity index 76% rename from sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/AppConfig.java rename to sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/AppConfig.java index 72ecb14e2f4..d2e1442ed18 100644 --- a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/AppConfig.java +++ b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/AppConfig.java @@ -1,8 +1,8 @@ -package io.sentry.samples.spring.jakarta; +package io.sentry.samples.spring7; import io.sentry.IScopes; -import io.sentry.spring.jakarta.SentryUserFilter; -import io.sentry.spring.jakarta.SentryUserProvider; +import io.sentry.spring7.SentryUserFilter; +import io.sentry.spring7.SentryUserProvider; import java.util.List; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/AppInitializer.java b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/AppInitializer.java similarity index 93% rename from sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/AppInitializer.java rename to sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/AppInitializer.java index 374a416c3ce..3b8ff72c136 100644 --- a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/AppInitializer.java +++ b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/AppInitializer.java @@ -1,6 +1,6 @@ -package io.sentry.samples.spring.jakarta; +package io.sentry.samples.spring7; -import io.sentry.spring.jakarta.tracing.SentryTracingFilter; +import io.sentry.spring7.tracing.SentryTracingFilter; import jakarta.servlet.Filter; import org.springframework.web.filter.DelegatingFilterProxy; import org.springframework.web.filter.RequestContextFilter; 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/spring7/SecurityConfiguration.java similarity index 88% rename from sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/SecurityConfiguration.java rename to sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/SecurityConfiguration.java index d6c8a315583..0f593a1b7c1 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/spring7/SecurityConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.jakarta; +package io.sentry.samples.spring7; import org.jetbrains.annotations.NotNull; import org.springframework.context.annotation.Bean; @@ -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-7/src/main/java/io/sentry/samples/spring/jakarta/SentryConfig.java b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/SentryConfig.java similarity index 87% rename from sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/SentryConfig.java rename to sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/SentryConfig.java index 443299048f3..ef327a48758 100644 --- a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/SentryConfig.java +++ b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/SentryConfig.java @@ -1,9 +1,9 @@ -package io.sentry.samples.spring.jakarta; +package io.sentry.samples.spring7; import io.sentry.SentryOptions; import io.sentry.SentryOptions.TracesSamplerCallback; -import io.sentry.spring.jakarta.EnableSentry; -import io.sentry.spring.jakarta.tracing.SentryTracingConfiguration; +import io.sentry.spring7.EnableSentry; +import io.sentry.spring7.tracing.SentryTracingConfiguration; import jakarta.servlet.http.HttpServletRequest; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Import; diff --git a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/WebConfig.java similarity index 86% rename from sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java rename to sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/WebConfig.java index 73d425b2868..e8dce9b35c4 100644 --- a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/WebConfig.java +++ b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/WebConfig.java @@ -1,7 +1,7 @@ -package io.sentry.samples.spring.jakarta; +package io.sentry.samples.spring7; import io.sentry.IScopes; -import io.sentry.spring.jakarta.tracing.SentrySpanClientHttpRequestInterceptor; +import io.sentry.spring7.tracing.SentrySpanClientHttpRequestInterceptor; import java.util.Collections; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; @@ -12,7 +12,7 @@ @Configuration @EnableAspectJAutoProxy(proxyTargetClass = true) -@ComponentScan("io.sentry.samples.spring.jakarta") +@ComponentScan("io.sentry.samples.spring7") @EnableWebMvc public class WebConfig { diff --git a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/web/Person.java b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/Person.java similarity index 91% rename from sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/web/Person.java rename to sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/Person.java index ee1f4f0827e..784291f1c0d 100644 --- a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/web/Person.java +++ b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/Person.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.jakarta.web; +package io.sentry.samples.spring7.web; public class Person { private final String firstName; diff --git a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/web/PersonController.java b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/PersonController.java similarity index 96% rename from sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/web/PersonController.java rename to sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/PersonController.java index c5ee953810c..5baf24acc16 100644 --- a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/web/PersonController.java +++ b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/PersonController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.jakarta.web; +package io.sentry.samples.spring7.web; import io.sentry.Sentry; import org.slf4j.Logger; diff --git a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/web/PersonService.java b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/PersonService.java similarity index 90% rename from sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/web/PersonService.java rename to sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/PersonService.java index e8dcb8c1e30..fbe5b67ba4c 100644 --- a/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring/jakarta/web/PersonService.java +++ b/sentry-samples/sentry-samples-spring-7/src/main/java/io/sentry/samples/spring7/web/PersonService.java @@ -1,6 +1,6 @@ -package io.sentry.samples.spring.jakarta.web; +package io.sentry.samples.spring7.web; -import io.sentry.spring.jakarta.tracing.SentrySpan; +import io.sentry.spring7.tracing.SentrySpan; import java.util.Map; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; 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/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomEventProcessor.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/CustomEventProcessor.java similarity index 95% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomEventProcessor.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/CustomEventProcessor.java index 51451a5d77e..723d9683d31 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomEventProcessor.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/CustomEventProcessor.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.sentry.EventProcessor; import io.sentry.Hint; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomJob.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/CustomJob.java similarity index 80% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomJob.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/CustomJob.java index cac83e6d797..7d0175d0b91 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomJob.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/CustomJob.java @@ -1,7 +1,7 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; -import io.sentry.spring.jakarta.checkin.SentryCheckIn; -import io.sentry.spring.jakarta.tracing.SentryTransaction; +import io.sentry.spring7.checkin.SentryCheckIn; +import io.sentry.spring7.tracing.SentryTransaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.scheduling.annotation.Scheduled; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java similarity index 97% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java index cfff0be4702..790ac3c8418 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.opentelemetry.instrumentation.annotations.WithSpan; import java.nio.charset.Charset; diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/Person.java similarity index 90% rename from sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/Person.java index 2c8bdc33c62..a12881fb346 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/Person.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; public class Person { private final String firstName; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/PersonController.java similarity index 98% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/PersonController.java index b3f22fd7fd4..f3f03b39e1f 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/PersonController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Tracer; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/PersonService.java similarity index 90% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/PersonService.java index 50cdc9dd4e7..de2e684c920 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/PersonService.java @@ -1,8 +1,8 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.sentry.ISpan; import io.sentry.Sentry; -import io.sentry.spring.jakarta.tracing.SentrySpan; +import io.sentry.spring7.tracing.SentrySpan; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.jdbc.core.JdbcTemplate; 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-noagent/src/main/java/io/sentry/samples/spring/boot4/SecurityConfiguration.java similarity index 87% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/SecurityConfiguration.java index e5987c8f4a2..d12a40fb51d 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-noagent/src/main/java/io/sentry/samples/spring/boot4/SecurityConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import org.jetbrains.annotations.NotNull; import org.springframework.context.annotation.Bean; @@ -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/boot4/SentryDemoApplication.java similarity index 93% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/SentryDemoApplication.java index 7f412eaa0d6..61e726defcb 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/boot4/SentryDemoApplication.java @@ -1,16 +1,16 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import static io.sentry.quartz.SentryJobListener.SENTRY_SLUG_KEY; import io.opentelemetry.api.OpenTelemetry; import io.opentelemetry.api.trace.Tracer; -import io.sentry.samples.spring.boot.jakarta.quartz.SampleJob; +import io.sentry.samples.spring.boot4.quartz.SampleJob; import java.util.Collections; import org.quartz.JobDetail; 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/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/Todo.java similarity index 89% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/Todo.java index 5fc4164d1b0..ae3d128d6b9 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/Todo.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; public class Todo { private final Long id; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/TodoController.java similarity index 98% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/TodoController.java index 0fa450a879c..d4fda10d0bd 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/TodoController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Tracer; diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/AssigneeController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/AssigneeController.java similarity index 95% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/AssigneeController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/AssigneeController.java index 6fdf96506c8..d43cde143d1 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/AssigneeController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/AssigneeController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import java.util.HashMap; import java.util.Map; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java similarity index 89% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java index bfc383c9122..4770a75a255 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import org.springframework.graphql.data.method.annotation.Argument; import org.springframework.graphql.data.method.annotation.QueryMapping; diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/ProjectController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/ProjectController.java similarity index 98% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/ProjectController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/ProjectController.java index 63790bca628..2e1725ea644 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/ProjectController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/ProjectController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import java.nio.file.NoSuchFileException; import java.time.Duration; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/TaskCreatorController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/TaskCreatorController.java similarity index 97% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/TaskCreatorController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/TaskCreatorController.java index cb6677c0c37..f8824abd07f 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/TaskCreatorController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/graphql/TaskCreatorController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import java.util.HashMap; import java.util.Map; diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/quartz/SampleJob.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/quartz/SampleJob.java similarity index 89% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/quartz/SampleJob.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/quartz/SampleJob.java index d0f0973c864..c3b4ffd422f 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/quartz/SampleJob.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot4/quartz/SampleJob.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.quartz; +package io.sentry.samples.spring.boot4.quartz; import org.quartz.Job; import org.quartz.JobExecutionContext; 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-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomEventProcessor.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/CustomEventProcessor.java similarity index 95% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomEventProcessor.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/CustomEventProcessor.java index 51451a5d77e..723d9683d31 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomEventProcessor.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/CustomEventProcessor.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.sentry.EventProcessor; import io.sentry.Hint; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomJob.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/CustomJob.java similarity index 79% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomJob.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/CustomJob.java index 4cd609d67ce..b96d2a6c431 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomJob.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/CustomJob.java @@ -1,7 +1,7 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; -import io.sentry.spring.jakarta.checkin.SentryCheckIn; -import io.sentry.spring.jakarta.tracing.SentryTransaction; +import io.sentry.spring7.checkin.SentryCheckIn; +import io.sentry.spring7.tracing.SentryTransaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java similarity index 97% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java index d67059abb68..9018e4c2184 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import java.nio.charset.Charset; import org.slf4j.Logger; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/Person.java similarity index 90% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/Person.java index 2c8bdc33c62..a12881fb346 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/Person.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; public class Person { private final String firstName; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/PersonController.java similarity index 97% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/PersonController.java index 1584a9e823b..9b727447ffd 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/PersonController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Tracer; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/PersonService.java similarity index 90% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/PersonService.java index 50cdc9dd4e7..de2e684c920 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/PersonService.java @@ -1,8 +1,8 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.sentry.ISpan; import io.sentry.Sentry; -import io.sentry.spring.jakarta.tracing.SentrySpan; +import io.sentry.spring7.tracing.SentrySpan; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.jdbc.core.JdbcTemplate; 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/src/main/java/io/sentry/samples/spring/boot4/SecurityConfiguration.java similarity index 87% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/SecurityConfiguration.java index e5987c8f4a2..d12a40fb51d 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/src/main/java/io/sentry/samples/spring/boot4/SecurityConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import org.jetbrains.annotations.NotNull; import org.springframework.context.annotation.Bean; @@ -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/boot4/SentryDemoApplication.java similarity index 93% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/SentryDemoApplication.java index a6eb46f4c74..aa5ebce68cd 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/boot4/SentryDemoApplication.java @@ -1,16 +1,16 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import static io.sentry.quartz.SentryJobListener.SENTRY_SLUG_KEY; import io.opentelemetry.api.GlobalOpenTelemetry; import io.opentelemetry.api.trace.Tracer; -import io.sentry.samples.spring.boot.jakarta.quartz.SampleJob; +import io.sentry.samples.spring.boot4.quartz.SampleJob; import java.util.Collections; import org.quartz.JobDetail; 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/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/Todo.java similarity index 89% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/Todo.java index 5fc4164d1b0..ae3d128d6b9 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/Todo.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; public class Todo { private final Long id; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/TodoController.java similarity index 98% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/TodoController.java index 0fa450a879c..d4fda10d0bd 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/TodoController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.opentelemetry.api.trace.Span; import io.opentelemetry.api.trace.Tracer; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/AssigneeController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/AssigneeController.java similarity index 95% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/AssigneeController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/AssigneeController.java index 6fdf96506c8..d43cde143d1 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/AssigneeController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/AssigneeController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import java.util.HashMap; import java.util.Map; diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java similarity index 89% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java index bfc383c9122..4770a75a255 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import org.springframework.graphql.data.method.annotation.Argument; import org.springframework.graphql.data.method.annotation.QueryMapping; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/ProjectController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/ProjectController.java similarity index 98% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/ProjectController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/ProjectController.java index 63790bca628..2e1725ea644 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/ProjectController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/ProjectController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import java.nio.file.NoSuchFileException; import java.time.Duration; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/TaskCreatorController.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/TaskCreatorController.java similarity index 97% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/TaskCreatorController.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/TaskCreatorController.java index cb6677c0c37..f8824abd07f 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/TaskCreatorController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/graphql/TaskCreatorController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import java.util.HashMap; import java.util.Map; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/quartz/SampleJob.java b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/quartz/SampleJob.java similarity index 89% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/quartz/SampleJob.java rename to sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/quartz/SampleJob.java index d0f0973c864..c3b4ffd422f 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/quartz/SampleJob.java +++ b/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot4/quartz/SampleJob.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.quartz; +package io.sentry.samples.spring.boot4.quartz; import org.quartz.Job; import org.quartz.JobExecutionContext; 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-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java similarity index 97% rename from sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java rename to sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java index 38409509905..dd087100791 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import java.nio.charset.Charset; import org.slf4j.Logger; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/Person.java similarity index 90% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java rename to sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/Person.java index 2c8bdc33c62..a12881fb346 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/Person.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; public class Person { private final String firstName; diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/PersonController.java similarity index 96% rename from sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java rename to sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/PersonController.java index a7b7752806d..b2563200c83 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/PersonController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.sentry.Sentry; import org.slf4j.Logger; diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/PersonService.java similarity index 91% rename from sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java rename to sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/PersonService.java index 75b0e38b125..a45b9fa85c3 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/PersonService.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.sentry.Sentry; import java.time.Duration; diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/SentryDemoApplication.java similarity index 91% rename from sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java rename to sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/SentryDemoApplication.java index 926298bb97b..72980871730 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/SentryDemoApplication.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/Todo.java similarity index 89% rename from sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java rename to sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/Todo.java index 5fc4164d1b0..ae3d128d6b9 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/Todo.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; public class Todo { private final Long id; diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/TodoController.java similarity index 94% rename from sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java rename to sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/TodoController.java index de29c206ecb..352a83e4c93 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/TodoController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; diff --git a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java similarity index 91% rename from sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java rename to sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java index 421631ca7a5..73b5f04502b 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java +++ b/sentry-samples/sentry-samples-spring-boot-4-webflux/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import org.springframework.graphql.data.method.annotation.Argument; import org.springframework.graphql.data.method.annotation.QueryMapping; 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..9b127e1136f 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,8 @@ dependencies { implementation(libs.springboot4.starter.web) implementation(libs.springboot4.starter.webflux) implementation(libs.springboot4.starter.websocket) + implementation(libs.springboot4.starter.restclient) + implementation(libs.springboot4.starter.webclient) 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/Person.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java deleted file mode 100644 index 2c8bdc33c62..00000000000 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/Person.java +++ /dev/null @@ -1,24 +0,0 @@ -package io.sentry.samples.spring.boot.jakarta; - -public class Person { - private final String firstName; - private final String lastName; - - public Person(String firstName, String lastName) { - this.firstName = firstName; - this.lastName = lastName; - } - - public String getFirstName() { - return firstName; - } - - public String getLastName() { - return lastName; - } - - @Override - public String toString() { - return "Person{" + "firstName='" + firstName + '\'' + ", lastName='" + lastName + '\'' + '}'; - } -} diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomEventProcessor.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/CustomEventProcessor.java similarity index 95% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomEventProcessor.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/CustomEventProcessor.java index 51451a5d77e..723d9683d31 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomEventProcessor.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/CustomEventProcessor.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.sentry.EventProcessor; import io.sentry.Hint; diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomJob.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/CustomJob.java similarity index 79% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomJob.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/CustomJob.java index 4cd609d67ce..b96d2a6c431 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/CustomJob.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/CustomJob.java @@ -1,7 +1,7 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; -import io.sentry.spring.jakarta.checkin.SentryCheckIn; -import io.sentry.spring.jakarta.tracing.SentryTransaction; +import io.sentry.spring7.checkin.SentryCheckIn; +import io.sentry.spring7.tracing.SentryTransaction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java similarity index 97% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java index d67059abb68..9018e4c2184 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/DistributedTracingController.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/DistributedTracingController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import java.nio.charset.Charset; import org.slf4j.Logger; diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/Person.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/Person.java new file mode 100644 index 00000000000..a12881fb346 --- /dev/null +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/Person.java @@ -0,0 +1,24 @@ +package io.sentry.samples.spring.boot4; + +public class Person { + private final String firstName; + private final String lastName; + + public Person(String firstName, String lastName) { + this.firstName = firstName; + this.lastName = lastName; + } + + public String getFirstName() { + return firstName; + } + + public String getLastName() { + return lastName; + } + + @Override + public String toString() { + return "Person{" + "firstName='" + firstName + '\'' + ", lastName='" + lastName + '\'' + '}'; + } +} diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/PersonController.java similarity index 97% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/PersonController.java index 94a4b9b8520..305850ec18b 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonController.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/PersonController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.sentry.ISpan; import io.sentry.Sentry; diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/PersonService.java similarity index 90% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/PersonService.java index 50cdc9dd4e7..de2e684c920 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/PersonService.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/PersonService.java @@ -1,8 +1,8 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.sentry.ISpan; import io.sentry.Sentry; -import io.sentry.spring.jakarta.tracing.SentrySpan; +import io.sentry.spring7.tracing.SentrySpan; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.jdbc.core.JdbcTemplate; 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/boot4/SecurityConfiguration.java similarity index 87% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/SecurityConfiguration.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/SecurityConfiguration.java index e5987c8f4a2..d12a40fb51d 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/boot4/SecurityConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import org.jetbrains.annotations.NotNull; import org.springframework.context.annotation.Bean; @@ -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/boot4/SentryDemoApplication.java similarity index 93% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/SentryDemoApplication.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/SentryDemoApplication.java index 8050cb8e74c..71463a9a819 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/boot4/SentryDemoApplication.java @@ -1,14 +1,14 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import static io.sentry.quartz.SentryJobListener.SENTRY_SLUG_KEY; -import io.sentry.samples.spring.boot.jakarta.quartz.SampleJob; +import io.sentry.samples.spring.boot4.quartz.SampleJob; import java.util.Collections; import org.quartz.JobDetail; 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-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/Todo.java similarity index 89% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/Todo.java index 5fc4164d1b0..ae3d128d6b9 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/Todo.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/Todo.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; public class Todo { private final Long id; diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/TodoController.java similarity index 97% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/TodoController.java index 987d516936b..0f71cca0419 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/TodoController.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/TodoController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta; +package io.sentry.samples.spring.boot4; import io.sentry.reactor.SentryReactorUtils; import org.springframework.web.bind.annotation.GetMapping; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/AssigneeController.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/AssigneeController.java similarity index 95% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/AssigneeController.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/AssigneeController.java index 6fdf96506c8..d43cde143d1 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/AssigneeController.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/AssigneeController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import java.util.HashMap; import java.util.Map; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java similarity index 89% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java index bfc383c9122..4770a75a255 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/GreetingController.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/GreetingController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import org.springframework.graphql.data.method.annotation.Argument; import org.springframework.graphql.data.method.annotation.QueryMapping; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/ProjectController.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/ProjectController.java similarity index 98% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/ProjectController.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/ProjectController.java index 63790bca628..2e1725ea644 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry-noagent/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/ProjectController.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/ProjectController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import java.nio.file.NoSuchFileException; import java.time.Duration; diff --git a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/TaskCreatorController.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/TaskCreatorController.java similarity index 97% rename from sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/TaskCreatorController.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/TaskCreatorController.java index 434a4822084..9ee0ef2c7a4 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot/jakarta/graphql/TaskCreatorController.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/graphql/TaskCreatorController.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.graphql; +package io.sentry.samples.spring.boot4.graphql; import java.util.HashMap; import java.util.Map; diff --git a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/quartz/SampleJob.java b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/quartz/SampleJob.java similarity index 89% rename from sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/quartz/SampleJob.java rename to sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/quartz/SampleJob.java index d0f0973c864..c3b4ffd422f 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-opentelemetry/src/main/java/io/sentry/samples/spring/boot/jakarta/quartz/SampleJob.java +++ b/sentry-samples/sentry-samples-spring-boot-4/src/main/java/io/sentry/samples/spring/boot4/quartz/SampleJob.java @@ -1,4 +1,4 @@ -package io.sentry.samples.spring.boot.jakarta.quartz; +package io.sentry.samples.spring.boot4.quartz; import org.quartz.Job; import org.quartz.JobExecutionContext; 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/api/sentry-spring-jakarta.api b/sentry-spring-7/api/sentry-spring-7.api similarity index 59% rename from sentry-spring-7/api/sentry-spring-jakarta.api rename to sentry-spring-7/api/sentry-spring-7.api index 3c1db200cbb..cd17eab315e 100644 --- a/sentry-spring-7/api/sentry-spring-jakarta.api +++ b/sentry-spring-7/api/sentry-spring-7.api @@ -1,168 +1,168 @@ -public final class io/sentry/spring/jakarta/BuildConfig { - public static final field SENTRY_SPRING_JAKARTA_SDK_NAME Ljava/lang/String; +public final class io/sentry/spring7/BuildConfig { + public static final field SENTRY_SPRING_7_SDK_NAME Ljava/lang/String; public static final field VERSION_NAME Ljava/lang/String; } -public final class io/sentry/spring/jakarta/ContextTagsEventProcessor : io/sentry/EventProcessor { +public final class io/sentry/spring7/ContextTagsEventProcessor : io/sentry/EventProcessor { public fun (Lio/sentry/SentryOptions;)V public fun getOrder ()Ljava/lang/Long; public fun process (Lio/sentry/SentryEvent;Lio/sentry/Hint;)Lio/sentry/SentryEvent; } -public abstract interface annotation class io/sentry/spring/jakarta/EnableSentry : java/lang/annotation/Annotation { +public abstract interface annotation class io/sentry/spring7/EnableSentry : java/lang/annotation/Annotation { public abstract fun dsn ()Ljava/lang/String; public abstract fun exceptionResolverOrder ()I public abstract fun maxRequestBodySize ()Lio/sentry/SentryOptions$RequestSize; public abstract fun sendDefaultPii ()Z } -public final class io/sentry/spring/jakarta/HttpServletRequestSentryUserProvider : io/sentry/spring/jakarta/SentryUserProvider { +public final class io/sentry/spring7/HttpServletRequestSentryUserProvider : io/sentry/spring7/SentryUserProvider { public fun (Lio/sentry/SentryOptions;)V public fun provideUser ()Lio/sentry/protocol/User; } -public class io/sentry/spring/jakarta/SentryExceptionResolver : org/springframework/core/Ordered, org/springframework/web/servlet/HandlerExceptionResolver { +public class io/sentry/spring7/SentryExceptionResolver : org/springframework/core/Ordered, org/springframework/web/servlet/HandlerExceptionResolver { public static final field MECHANISM_TYPE Ljava/lang/String; - public fun (Lio/sentry/IScopes;Lio/sentry/spring/jakarta/tracing/TransactionNameProvider;I)V + public fun (Lio/sentry/IScopes;Lio/sentry/spring7/tracing/TransactionNameProvider;I)V protected fun createEvent (Ljakarta/servlet/http/HttpServletRequest;Ljava/lang/Exception;)Lio/sentry/SentryEvent; protected fun createHint (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;)Lio/sentry/Hint; public fun getOrder ()I public fun resolveException (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljava/lang/Object;Ljava/lang/Exception;)Lorg/springframework/web/servlet/ModelAndView; } -public class io/sentry/spring/jakarta/SentryHubRegistrar : org/springframework/context/annotation/ImportBeanDefinitionRegistrar { +public class io/sentry/spring7/SentryHubRegistrar : org/springframework/context/annotation/ImportBeanDefinitionRegistrar { public fun ()V public fun registerBeanDefinitions (Lorg/springframework/core/type/AnnotationMetadata;Lorg/springframework/beans/factory/support/BeanDefinitionRegistry;)V } -public class io/sentry/spring/jakarta/SentryInitBeanPostProcessor : org/springframework/beans/factory/DisposableBean, org/springframework/beans/factory/config/BeanPostProcessor, org/springframework/context/ApplicationContextAware { +public class io/sentry/spring7/SentryInitBeanPostProcessor : org/springframework/beans/factory/DisposableBean, org/springframework/beans/factory/config/BeanPostProcessor, org/springframework/context/ApplicationContextAware { public fun ()V public fun destroy ()V public fun postProcessAfterInitialization (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; public fun setApplicationContext (Lorg/springframework/context/ApplicationContext;)V } -public class io/sentry/spring/jakarta/SentryRequestHttpServletRequestProcessor : io/sentry/EventProcessor { - public fun (Lio/sentry/spring/jakarta/tracing/TransactionNameProvider;Ljakarta/servlet/http/HttpServletRequest;)V +public class io/sentry/spring7/SentryRequestHttpServletRequestProcessor : io/sentry/EventProcessor { + public fun (Lio/sentry/spring7/tracing/TransactionNameProvider;Ljakarta/servlet/http/HttpServletRequest;)V public fun getOrder ()Ljava/lang/Long; public fun process (Lio/sentry/SentryEvent;Lio/sentry/Hint;)Lio/sentry/SentryEvent; } -public class io/sentry/spring/jakarta/SentryRequestResolver { +public class io/sentry/spring7/SentryRequestResolver { protected static final field staticLock Lio/sentry/util/AutoClosableReentrantLock; public fun (Lio/sentry/IScopes;)V public fun resolveSentryRequest (Ljakarta/servlet/http/HttpServletRequest;)Lio/sentry/protocol/Request; } -public class io/sentry/spring/jakarta/SentrySpringFilter : org/springframework/web/filter/OncePerRequestFilter { +public class io/sentry/spring7/SentrySpringFilter : org/springframework/web/filter/OncePerRequestFilter { public fun ()V public fun (Lio/sentry/IScopes;)V - public fun (Lio/sentry/IScopes;Lio/sentry/spring/jakarta/SentryRequestResolver;Lio/sentry/spring/jakarta/tracing/TransactionNameProvider;)V + public fun (Lio/sentry/IScopes;Lio/sentry/spring7/SentryRequestResolver;Lio/sentry/spring7/tracing/TransactionNameProvider;)V protected fun doFilterInternal (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljakarta/servlet/FilterChain;)V } -public class io/sentry/spring/jakarta/SentrySpringServletContainerInitializer : jakarta/servlet/ServletContainerInitializer { +public class io/sentry/spring7/SentrySpringServletContainerInitializer : jakarta/servlet/ServletContainerInitializer { public fun ()V public fun onStartup (Ljava/util/Set;Ljakarta/servlet/ServletContext;)V } -public final class io/sentry/spring/jakarta/SentryTaskDecorator : org/springframework/core/task/TaskDecorator { +public final class io/sentry/spring7/SentryTaskDecorator : org/springframework/core/task/TaskDecorator { public fun ()V public fun decorate (Ljava/lang/Runnable;)Ljava/lang/Runnable; } -public class io/sentry/spring/jakarta/SentryUserFilter : org/springframework/web/filter/OncePerRequestFilter { +public class io/sentry/spring7/SentryUserFilter : org/springframework/web/filter/OncePerRequestFilter { public fun (Lio/sentry/IScopes;Ljava/util/List;)V protected fun doFilterInternal (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljakarta/servlet/FilterChain;)V public fun getSentryUserProviders ()Ljava/util/List; } -public abstract interface class io/sentry/spring/jakarta/SentryUserProvider { +public abstract interface class io/sentry/spring7/SentryUserProvider { public abstract fun provideUser ()Lio/sentry/protocol/User; } -public class io/sentry/spring/jakarta/SentryWebConfiguration { +public class io/sentry/spring7/SentryWebConfiguration { public fun ()V - public fun httpServletRequestSentryUserProvider (Lio/sentry/SentryOptions;)Lio/sentry/spring/jakarta/HttpServletRequestSentryUserProvider; + public fun httpServletRequestSentryUserProvider (Lio/sentry/SentryOptions;)Lio/sentry/spring7/HttpServletRequestSentryUserProvider; } -public final class io/sentry/spring/jakarta/SpringProfilesEventProcessor : io/sentry/EventProcessor { +public final class io/sentry/spring7/SpringProfilesEventProcessor : io/sentry/EventProcessor { public fun (Lorg/springframework/core/env/Environment;)V public fun process (Lio/sentry/SentryEvent;Lio/sentry/Hint;)Lio/sentry/SentryEvent; public fun process (Lio/sentry/SentryReplayEvent;Lio/sentry/Hint;)Lio/sentry/SentryReplayEvent; public fun process (Lio/sentry/protocol/SentryTransaction;Lio/sentry/Hint;)Lio/sentry/protocol/SentryTransaction; } -public final class io/sentry/spring/jakarta/SpringSecuritySentryUserProvider : io/sentry/spring/jakarta/SentryUserProvider { +public final class io/sentry/spring7/SpringSecuritySentryUserProvider : io/sentry/spring7/SentryUserProvider { public fun (Lio/sentry/SentryOptions;)V public fun provideUser ()Lio/sentry/protocol/User; } -public abstract interface annotation class io/sentry/spring/jakarta/checkin/SentryCheckIn : java/lang/annotation/Annotation { +public abstract interface annotation class io/sentry/spring7/checkin/SentryCheckIn : java/lang/annotation/Annotation { public abstract fun heartbeat ()Z public abstract fun monitorSlug ()Ljava/lang/String; public abstract fun value ()Ljava/lang/String; } -public class io/sentry/spring/jakarta/checkin/SentryCheckInAdvice : org/aopalliance/intercept/MethodInterceptor, org/springframework/context/EmbeddedValueResolverAware { +public class io/sentry/spring7/checkin/SentryCheckInAdvice : org/aopalliance/intercept/MethodInterceptor, org/springframework/context/EmbeddedValueResolverAware { public fun ()V public fun (Lio/sentry/IScopes;)V public fun invoke (Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; public fun setEmbeddedValueResolver (Lorg/springframework/util/StringValueResolver;)V } -public class io/sentry/spring/jakarta/checkin/SentryCheckInAdviceConfiguration { +public class io/sentry/spring7/checkin/SentryCheckInAdviceConfiguration { public fun ()V public fun sentryCheckInAdvice ()Lorg/aopalliance/aop/Advice; public fun sentryCheckInAdvisor (Lorg/springframework/aop/Pointcut;Lorg/aopalliance/aop/Advice;)Lorg/springframework/aop/Advisor; } -public class io/sentry/spring/jakarta/checkin/SentryCheckInPointcutConfiguration { +public class io/sentry/spring7/checkin/SentryCheckInPointcutConfiguration { public fun ()V public fun sentryCheckInPointcut ()Lorg/springframework/aop/Pointcut; } -public class io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration { +public class io/sentry/spring7/checkin/SentryQuartzConfiguration { public fun ()V - public fun schedulerFactoryBeanCustomizer ()Lorg/springframework/boot/autoconfigure/quartz/SchedulerFactoryBeanCustomizer; + public fun schedulerFactoryBeanCustomizer ()Lorg/springframework/boot/quartz/autoconfigure/SchedulerFactoryBeanCustomizer; } -public final class io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer : org/springframework/boot/autoconfigure/quartz/SchedulerFactoryBeanCustomizer { +public final class io/sentry/spring7/checkin/SentrySchedulerFactoryBeanCustomizer : org/springframework/boot/quartz/autoconfigure/SchedulerFactoryBeanCustomizer { public fun ()V public fun customize (Lorg/springframework/scheduling/quartz/SchedulerFactoryBean;)V } -public abstract interface annotation class io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameter : java/lang/annotation/Annotation { +public abstract interface annotation class io/sentry/spring7/exception/SentryCaptureExceptionParameter : java/lang/annotation/Annotation { } -public class io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterAdvice : org/aopalliance/intercept/MethodInterceptor { +public class io/sentry/spring7/exception/SentryCaptureExceptionParameterAdvice : org/aopalliance/intercept/MethodInterceptor { public fun ()V public fun (Lio/sentry/IScopes;)V public fun invoke (Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; } -public class io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterConfiguration { +public class io/sentry/spring7/exception/SentryCaptureExceptionParameterConfiguration { public fun ()V } -public class io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterPointcutConfiguration { +public class io/sentry/spring7/exception/SentryCaptureExceptionParameterPointcutConfiguration { public fun ()V public fun sentryCaptureExceptionParameterPointcut ()Lorg/springframework/aop/Pointcut; } -public class io/sentry/spring/jakarta/exception/SentryExceptionParameterAdviceConfiguration { +public class io/sentry/spring7/exception/SentryExceptionParameterAdviceConfiguration { public fun ()V public fun sentryCaptureExceptionParameterAdvice ()Lorg/aopalliance/aop/Advice; public fun sentryCaptureExceptionParameterAdvisor (Lorg/springframework/aop/Pointcut;Lorg/aopalliance/aop/Advice;)Lorg/springframework/aop/Advisor; } -public final class io/sentry/spring/jakarta/graphql/SentryBatchLoaderRegistry : org/springframework/graphql/execution/BatchLoaderRegistry { +public final class io/sentry/spring7/graphql/SentryBatchLoaderRegistry : org/springframework/graphql/execution/BatchLoaderRegistry { public fun forName (Ljava/lang/String;)Lorg/springframework/graphql/execution/BatchLoaderRegistry$RegistrationSpec; public fun forTypePair (Ljava/lang/Class;Ljava/lang/Class;)Lorg/springframework/graphql/execution/BatchLoaderRegistry$RegistrationSpec; public fun registerDataLoaders (Lorg/dataloader/DataLoaderRegistry;Lgraphql/GraphQLContext;)V } -public final class io/sentry/spring/jakarta/graphql/SentryBatchLoaderRegistry$SentryRegistrationSpec : org/springframework/graphql/execution/BatchLoaderRegistry$RegistrationSpec { +public final class io/sentry/spring7/graphql/SentryBatchLoaderRegistry$SentryRegistrationSpec : org/springframework/graphql/execution/BatchLoaderRegistry$RegistrationSpec { public fun (Lorg/springframework/graphql/execution/BatchLoaderRegistry$RegistrationSpec;Ljava/lang/Class;Ljava/lang/Class;)V public fun (Lorg/springframework/graphql/execution/BatchLoaderRegistry$RegistrationSpec;Ljava/lang/String;)V public fun registerBatchLoader (Ljava/util/function/BiFunction;)V @@ -172,62 +172,62 @@ public final class io/sentry/spring/jakarta/graphql/SentryBatchLoaderRegistry$Se public fun withOptions (Lorg/dataloader/DataLoaderOptions;)Lorg/springframework/graphql/execution/BatchLoaderRegistry$RegistrationSpec; } -public final class io/sentry/spring/jakarta/graphql/SentryDataFetcherExceptionResolverAdapter : org/springframework/graphql/execution/DataFetcherExceptionResolverAdapter { +public final class io/sentry/spring7/graphql/SentryDataFetcherExceptionResolverAdapter : org/springframework/graphql/execution/DataFetcherExceptionResolverAdapter { public fun ()V public fun isThreadLocalContextAware ()Z } -public final class io/sentry/spring/jakarta/graphql/SentryDgsSubscriptionHandler : io/sentry/graphql/SentrySubscriptionHandler { +public final class io/sentry/spring7/graphql/SentryDgsSubscriptionHandler : io/sentry/graphql/SentrySubscriptionHandler { public fun ()V public fun onSubscriptionResult (Ljava/lang/Object;Lio/sentry/IScopes;Lio/sentry/graphql/ExceptionReporter;Lgraphql/execution/instrumentation/parameters/InstrumentationFieldFetchParameters;)Ljava/lang/Object; } -public class io/sentry/spring/jakarta/graphql/SentryGraphql22Configuration { +public class io/sentry/spring7/graphql/SentryGraphql22Configuration { public fun ()V - public fun exceptionResolverAdapter ()Lio/sentry/spring/jakarta/graphql/SentryDataFetcherExceptionResolverAdapter; - public fun graphqlBeanPostProcessor ()Lio/sentry/spring/jakarta/graphql/SentryGraphqlBeanPostProcessor; + public fun exceptionResolverAdapter ()Lio/sentry/spring7/graphql/SentryDataFetcherExceptionResolverAdapter; + public fun graphqlBeanPostProcessor ()Lio/sentry/spring7/graphql/SentryGraphqlBeanPostProcessor; public fun sentryInstrumentationWebMvc (Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql22/SentryInstrumentation; public fun sentryInstrumentationWebflux (Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql22/SentryInstrumentation; } -public final class io/sentry/spring/jakarta/graphql/SentryGraphqlBeanPostProcessor : org/springframework/beans/factory/config/BeanPostProcessor, org/springframework/core/PriorityOrdered { +public final class io/sentry/spring7/graphql/SentryGraphqlBeanPostProcessor : org/springframework/beans/factory/config/BeanPostProcessor, org/springframework/core/PriorityOrdered { public fun ()V public fun getOrder ()I public fun postProcessAfterInitialization (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; } -public class io/sentry/spring/jakarta/graphql/SentryGraphqlConfiguration { +public class io/sentry/spring7/graphql/SentryGraphqlConfiguration { public fun ()V - public fun exceptionResolverAdapter ()Lio/sentry/spring/jakarta/graphql/SentryDataFetcherExceptionResolverAdapter; - public fun graphqlBeanPostProcessor ()Lio/sentry/spring/jakarta/graphql/SentryGraphqlBeanPostProcessor; + public fun exceptionResolverAdapter ()Lio/sentry/spring7/graphql/SentryDataFetcherExceptionResolverAdapter; + public fun graphqlBeanPostProcessor ()Lio/sentry/spring7/graphql/SentryGraphqlBeanPostProcessor; public fun sentryInstrumentationWebMvc (Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql/SentryInstrumentation; public fun sentryInstrumentationWebflux (Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql/SentryInstrumentation; } -public final class io/sentry/spring/jakarta/graphql/SentrySpringSubscriptionHandler : io/sentry/graphql/SentrySubscriptionHandler { +public final class io/sentry/spring7/graphql/SentrySpringSubscriptionHandler : io/sentry/graphql/SentrySubscriptionHandler { public fun ()V public fun onSubscriptionResult (Ljava/lang/Object;Lio/sentry/IScopes;Lio/sentry/graphql/ExceptionReporter;Lgraphql/execution/instrumentation/parameters/InstrumentationFieldFetchParameters;)Ljava/lang/Object; } -public class io/sentry/spring/jakarta/opentelemetry/SentryOpenTelemetryAgentWithoutAutoInitConfiguration { +public class io/sentry/spring7/opentelemetry/SentryOpenTelemetryAgentWithoutAutoInitConfiguration { public fun ()V public fun sentryOpenTelemetryOptionsConfiguration ()Lio/sentry/Sentry$OptionsConfiguration; } -public class io/sentry/spring/jakarta/opentelemetry/SentryOpenTelemetryNoAgentConfiguration { +public class io/sentry/spring7/opentelemetry/SentryOpenTelemetryNoAgentConfiguration { public fun ()V public static fun openTelemetrySpanFactory (Lio/opentelemetry/api/OpenTelemetry;)Lio/sentry/ISpanFactory; public fun sentryOpenTelemetryOptionsConfiguration ()Lio/sentry/Sentry$OptionsConfiguration; } -public final class io/sentry/spring/jakarta/tracing/CombinedTransactionNameProvider : io/sentry/spring/jakarta/tracing/TransactionNameProvider { +public final class io/sentry/spring7/tracing/CombinedTransactionNameProvider : io/sentry/spring7/tracing/TransactionNameProvider { public fun (Ljava/util/List;)V public fun provideTransactionName (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String; - public fun provideTransactionNameAndSource (Ljakarta/servlet/http/HttpServletRequest;)Lio/sentry/spring/jakarta/tracing/TransactionNameWithSource; + public fun provideTransactionNameAndSource (Ljakarta/servlet/http/HttpServletRequest;)Lio/sentry/spring7/tracing/TransactionNameWithSource; public fun provideTransactionSource ()Lio/sentry/protocol/TransactionNameSource; } -public class io/sentry/spring/jakarta/tracing/SentryAdviceConfiguration { +public class io/sentry/spring7/tracing/SentryAdviceConfiguration { public fun ()V public fun sentrySpanAdvice ()Lorg/aopalliance/aop/Advice; public fun sentrySpanAdvisor (Lorg/springframework/aop/Pointcut;Lorg/aopalliance/aop/Advice;)Lorg/springframework/aop/Advisor; @@ -235,89 +235,89 @@ public class io/sentry/spring/jakarta/tracing/SentryAdviceConfiguration { public fun sentryTransactionAdvisor (Lorg/springframework/aop/Pointcut;Lorg/aopalliance/aop/Advice;)Lorg/springframework/aop/Advisor; } -public abstract interface annotation class io/sentry/spring/jakarta/tracing/SentrySpan : java/lang/annotation/Annotation { +public abstract interface annotation class io/sentry/spring7/tracing/SentrySpan : java/lang/annotation/Annotation { public abstract fun description ()Ljava/lang/String; public abstract fun operation ()Ljava/lang/String; public abstract fun value ()Ljava/lang/String; } -public class io/sentry/spring/jakarta/tracing/SentrySpanAdvice : org/aopalliance/intercept/MethodInterceptor { +public class io/sentry/spring7/tracing/SentrySpanAdvice : org/aopalliance/intercept/MethodInterceptor { public fun ()V public fun (Lio/sentry/IScopes;)V public fun invoke (Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; } -public class io/sentry/spring/jakarta/tracing/SentrySpanClientHttpRequestInterceptor : org/springframework/http/client/ClientHttpRequestInterceptor { +public class io/sentry/spring7/tracing/SentrySpanClientHttpRequestInterceptor : org/springframework/http/client/ClientHttpRequestInterceptor { public fun (Lio/sentry/IScopes;)V public fun (Lio/sentry/IScopes;Z)V public fun intercept (Lorg/springframework/http/HttpRequest;[BLorg/springframework/http/client/ClientHttpRequestExecution;)Lorg/springframework/http/client/ClientHttpResponse; } -public class io/sentry/spring/jakarta/tracing/SentrySpanClientWebRequestFilter : org/springframework/web/reactive/function/client/ExchangeFilterFunction { +public class io/sentry/spring7/tracing/SentrySpanClientWebRequestFilter : org/springframework/web/reactive/function/client/ExchangeFilterFunction { public fun (Lio/sentry/IScopes;)V public fun filter (Lorg/springframework/web/reactive/function/client/ClientRequest;Lorg/springframework/web/reactive/function/client/ExchangeFunction;)Lreactor/core/publisher/Mono; } -public class io/sentry/spring/jakarta/tracing/SentrySpanPointcutConfiguration { +public class io/sentry/spring7/tracing/SentrySpanPointcutConfiguration { public fun ()V public fun sentrySpanPointcut ()Lorg/springframework/aop/Pointcut; } -public class io/sentry/spring/jakarta/tracing/SentryTracingConfiguration { +public class io/sentry/spring7/tracing/SentryTracingConfiguration { public fun ()V } -public class io/sentry/spring/jakarta/tracing/SentryTracingFilter : org/springframework/web/filter/OncePerRequestFilter { +public class io/sentry/spring7/tracing/SentryTracingFilter : org/springframework/web/filter/OncePerRequestFilter { public fun ()V public fun (Lio/sentry/IScopes;)V - public fun (Lio/sentry/IScopes;Lio/sentry/spring/jakarta/tracing/TransactionNameProvider;)V - public fun (Lio/sentry/IScopes;Lio/sentry/spring/jakarta/tracing/TransactionNameProvider;Z)V + public fun (Lio/sentry/IScopes;Lio/sentry/spring7/tracing/TransactionNameProvider;)V + public fun (Lio/sentry/IScopes;Lio/sentry/spring7/tracing/TransactionNameProvider;Z)V protected fun doFilterInternal (Ljakarta/servlet/http/HttpServletRequest;Ljakarta/servlet/http/HttpServletResponse;Ljakarta/servlet/FilterChain;)V protected fun shouldNotFilterAsyncDispatch ()Z } -public abstract interface annotation class io/sentry/spring/jakarta/tracing/SentryTransaction : java/lang/annotation/Annotation { +public abstract interface annotation class io/sentry/spring7/tracing/SentryTransaction : java/lang/annotation/Annotation { public abstract fun name ()Ljava/lang/String; public abstract fun operation ()Ljava/lang/String; public abstract fun value ()Ljava/lang/String; } -public class io/sentry/spring/jakarta/tracing/SentryTransactionAdvice : org/aopalliance/intercept/MethodInterceptor { +public class io/sentry/spring7/tracing/SentryTransactionAdvice : org/aopalliance/intercept/MethodInterceptor { public fun ()V public fun (Lio/sentry/IScopes;)V public fun invoke (Lorg/aopalliance/intercept/MethodInvocation;)Ljava/lang/Object; } -public class io/sentry/spring/jakarta/tracing/SentryTransactionPointcutConfiguration { +public class io/sentry/spring7/tracing/SentryTransactionPointcutConfiguration { public fun ()V public fun sentryTransactionPointcut ()Lorg/springframework/aop/Pointcut; } -public final class io/sentry/spring/jakarta/tracing/SpringMvcTransactionNameProvider : io/sentry/spring/jakarta/tracing/TransactionNameProvider { +public final class io/sentry/spring7/tracing/SpringMvcTransactionNameProvider : io/sentry/spring7/tracing/TransactionNameProvider { public fun ()V public fun provideTransactionName (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String; public fun provideTransactionSource ()Lio/sentry/protocol/TransactionNameSource; } -public final class io/sentry/spring/jakarta/tracing/SpringServletTransactionNameProvider : io/sentry/spring/jakarta/tracing/TransactionNameProvider { +public final class io/sentry/spring7/tracing/SpringServletTransactionNameProvider : io/sentry/spring7/tracing/TransactionNameProvider { public fun ()V public fun provideTransactionName (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String; public fun provideTransactionSource ()Lio/sentry/protocol/TransactionNameSource; } -public abstract interface class io/sentry/spring/jakarta/tracing/TransactionNameProvider { +public abstract interface class io/sentry/spring7/tracing/TransactionNameProvider { public abstract fun provideTransactionName (Ljakarta/servlet/http/HttpServletRequest;)Ljava/lang/String; - public fun provideTransactionNameAndSource (Ljakarta/servlet/http/HttpServletRequest;)Lio/sentry/spring/jakarta/tracing/TransactionNameWithSource; + public fun provideTransactionNameAndSource (Ljakarta/servlet/http/HttpServletRequest;)Lio/sentry/spring7/tracing/TransactionNameWithSource; public fun provideTransactionSource ()Lio/sentry/protocol/TransactionNameSource; } -public final class io/sentry/spring/jakarta/tracing/TransactionNameWithSource { +public final class io/sentry/spring7/tracing/TransactionNameWithSource { public fun (Ljava/lang/String;Lio/sentry/protocol/TransactionNameSource;)V public fun getTransactionName ()Ljava/lang/String; public fun getTransactionNameSource ()Lio/sentry/protocol/TransactionNameSource; } -public abstract class io/sentry/spring/jakarta/webflux/AbstractSentryWebFilter : org/springframework/web/server/WebFilter { +public abstract class io/sentry/spring7/webflux/AbstractSentryWebFilter : org/springframework/web/server/WebFilter { public static final field SENTRY_HUB_KEY Ljava/lang/String; public static final field SENTRY_SCOPES_KEY Ljava/lang/String; public fun (Lio/sentry/IScopes;)V @@ -329,35 +329,35 @@ public abstract class io/sentry/spring/jakarta/webflux/AbstractSentryWebFilter : protected fun startTransaction (Lio/sentry/IScopes;Lorg/springframework/http/server/reactive/ServerHttpRequest;Lio/sentry/TransactionContext;Ljava/lang/String;)Lio/sentry/ITransaction; } -public class io/sentry/spring/jakarta/webflux/SentryRequestResolver { +public class io/sentry/spring7/webflux/SentryRequestResolver { public fun (Lio/sentry/IScopes;)V public fun resolveSentryRequest (Lorg/springframework/http/server/reactive/ServerHttpRequest;)Lio/sentry/protocol/Request; } -public final class io/sentry/spring/jakarta/webflux/SentryScheduleHook : java/util/function/Function { +public final class io/sentry/spring7/webflux/SentryScheduleHook : java/util/function/Function { public fun ()V public synthetic fun apply (Ljava/lang/Object;)Ljava/lang/Object; public fun apply (Ljava/lang/Runnable;)Ljava/lang/Runnable; } -public final class io/sentry/spring/jakarta/webflux/SentryWebExceptionHandler : org/springframework/web/server/WebExceptionHandler { +public final class io/sentry/spring7/webflux/SentryWebExceptionHandler : org/springframework/web/server/WebExceptionHandler { public static final field MECHANISM_TYPE Ljava/lang/String; public fun (Lio/sentry/IScopes;)V public fun handle (Lorg/springframework/web/server/ServerWebExchange;Ljava/lang/Throwable;)Lreactor/core/publisher/Mono; } -public class io/sentry/spring/jakarta/webflux/SentryWebFilter : io/sentry/spring/jakarta/webflux/AbstractSentryWebFilter { +public class io/sentry/spring7/webflux/SentryWebFilter : io/sentry/spring7/webflux/AbstractSentryWebFilter { public fun (Lio/sentry/IScopes;)V public fun filter (Lorg/springframework/web/server/ServerWebExchange;Lorg/springframework/web/server/WebFilterChain;)Lreactor/core/publisher/Mono; } -public final class io/sentry/spring/jakarta/webflux/SentryWebFilterWithThreadLocalAccessor : io/sentry/spring/jakarta/webflux/AbstractSentryWebFilter { +public final class io/sentry/spring7/webflux/SentryWebFilterWithThreadLocalAccessor : io/sentry/spring7/webflux/AbstractSentryWebFilter { public static final field TRACE_ORIGIN Ljava/lang/String; public fun (Lio/sentry/IScopes;)V public fun filter (Lorg/springframework/web/server/ServerWebExchange;Lorg/springframework/web/server/WebFilterChain;)Lreactor/core/publisher/Mono; } -public final class io/sentry/spring/jakarta/webflux/reactor/ReactorUtils : io/sentry/reactor/SentryReactorUtils { +public final class io/sentry/spring7/webflux/reactor/ReactorUtils : io/sentry/reactor/SentryReactorUtils { public fun ()V } diff --git a/sentry-spring-7/build.gradle.kts b/sentry-spring-7/build.gradle.kts index 483549330a7..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) @@ -19,10 +19,10 @@ configure { } tasks.withType().configureEach { - kotlinOptions { - jvmTarget = JavaVersion.VERSION_17.toString() - languageVersion = libs.versions.kotlin.compatible.version.get() - freeCompilerArgs = listOf("-Xjsr305=strict") + compilerOptions { + jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) + languageVersion.set(org.jetbrains.kotlin.gradle.dsl.KotlinVersion.KOTLIN_2_1) + freeCompilerArgs.add("-Xjsr305=strict") } } @@ -58,11 +58,11 @@ dependencies { testImplementation(projects.sentryTestSupport) testImplementation(projects.sentryGraphql) testImplementation(kotlin(Config.kotlinStdLib)) - testImplementation(libs.awaitility.kotlin) + testImplementation(libs.awaitility.kotlin.spring7) testImplementation(libs.context.propagation) testImplementation(libs.graphql.java24) testImplementation(libs.kotlin.test.junit) - testImplementation(libs.mockito.kotlin) + testImplementation(libs.mockito.kotlin.spring7) testImplementation(libs.mockito.inline) testImplementation(libs.springboot4.starter.aop) testImplementation(libs.springboot4.starter.graphql) @@ -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-7/src/main/java/io/sentry/spring/jakarta/ContextTagsEventProcessor.java b/sentry-spring-7/src/main/java/io/sentry/spring7/ContextTagsEventProcessor.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/ContextTagsEventProcessor.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/ContextTagsEventProcessor.java index 94f49d83190..89fdef8d1b2 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/ContextTagsEventProcessor.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/ContextTagsEventProcessor.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import io.sentry.EventProcessor; import io.sentry.Hint; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/EnableSentry.java b/sentry-spring-7/src/main/java/io/sentry/spring7/EnableSentry.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/EnableSentry.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/EnableSentry.java index e8cd91f3f44..f65e91d3016 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/EnableSentry.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/EnableSentry.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import io.sentry.SentryOptions; import java.lang.annotation.ElementType; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/HttpServletRequestSentryUserProvider.java b/sentry-spring-7/src/main/java/io/sentry/spring7/HttpServletRequestSentryUserProvider.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/HttpServletRequestSentryUserProvider.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/HttpServletRequestSentryUserProvider.java index 6174da0dc5f..54ad7602ae0 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/HttpServletRequestSentryUserProvider.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/HttpServletRequestSentryUserProvider.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import io.sentry.SentryOptions; import io.sentry.protocol.User; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/RequestPayloadExtractor.java b/sentry-spring-7/src/main/java/io/sentry/spring7/RequestPayloadExtractor.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/RequestPayloadExtractor.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/RequestPayloadExtractor.java index 2eb41462f8a..60058cd4a98 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/RequestPayloadExtractor.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/RequestPayloadExtractor.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import io.sentry.SentryLevel; import io.sentry.SentryOptions; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryExceptionResolver.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryExceptionResolver.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryExceptionResolver.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentryExceptionResolver.java index efa98ef581b..5e8f20dfb36 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryExceptionResolver.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryExceptionResolver.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import static io.sentry.TypeCheckHint.SPRING_RESOLVER_REQUEST; import static io.sentry.TypeCheckHint.SPRING_RESOLVER_RESPONSE; @@ -10,7 +10,7 @@ import io.sentry.SentryLevel; import io.sentry.exception.ExceptionMechanismException; import io.sentry.protocol.Mechanism; -import io.sentry.spring.jakarta.tracing.TransactionNameProvider; +import io.sentry.spring7.tracing.TransactionNameProvider; import io.sentry.util.Objects; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryHubRegistrar.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryHubRegistrar.java similarity index 93% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryHubRegistrar.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentryHubRegistrar.java index cca74ae2a2d..72e69b18447 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryHubRegistrar.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryHubRegistrar.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import com.jakewharton.nopen.annotation.Open; import io.sentry.InitPriority; @@ -6,7 +6,7 @@ import io.sentry.SentryIntegrationPackageStorage; import io.sentry.SentryOptions; import io.sentry.protocol.SdkVersion; -import io.sentry.spring.jakarta.tracing.SpringMvcTransactionNameProvider; +import io.sentry.spring7.tracing.SpringMvcTransactionNameProvider; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.support.BeanDefinitionBuilder; import org.springframework.beans.factory.support.BeanDefinitionRegistry; @@ -22,7 +22,7 @@ public class SentryHubRegistrar implements ImportBeanDefinitionRegistrar { static { SentryIntegrationPackageStorage.getInstance() - .addPackage("maven:io.sentry:sentry-spring-jakarta", BuildConfig.VERSION_NAME); + .addPackage("maven:io.sentry:sentry-spring-7", BuildConfig.VERSION_NAME); } @Override @@ -50,7 +50,7 @@ private void registerSentryOptions( } builder.addPropertyValue("dsn", annotationAttributes.getString("dsn")); builder.addPropertyValue("enableExternalConfiguration", true); - builder.addPropertyValue("sentryClientName", BuildConfig.SENTRY_SPRING_JAKARTA_SDK_NAME); + builder.addPropertyValue("sentryClientName", BuildConfig.SENTRY_SPRING_7_SDK_NAME); builder.addPropertyValue("sdkVersion", createSdkVersion()); builder.addPropertyValue("initPriority", InitPriority.LOW); addPackageAndIntegrationInfo(); @@ -90,7 +90,7 @@ private void registerSentryExceptionResolver( final SentryOptions defaultOptions = new SentryOptions(); SdkVersion sdkVersion = defaultOptions.getSdkVersion(); - final String name = BuildConfig.SENTRY_SPRING_JAKARTA_SDK_NAME; + final String name = BuildConfig.SENTRY_SPRING_7_SDK_NAME; final String version = BuildConfig.VERSION_NAME; sdkVersion = SdkVersion.updateSdkVersion(sdkVersion, name, version); @@ -98,6 +98,6 @@ private void registerSentryExceptionResolver( } private static void addPackageAndIntegrationInfo() { - SentryIntegrationPackageStorage.getInstance().addIntegration("Spring6"); + SentryIntegrationPackageStorage.getInstance().addIntegration("Spring7"); } } diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryInitBeanPostProcessor.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryInitBeanPostProcessor.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryInitBeanPostProcessor.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentryInitBeanPostProcessor.java index d33dfca8d8a..4b778d68649 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryInitBeanPostProcessor.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryInitBeanPostProcessor.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import com.jakewharton.nopen.annotation.Open; import io.sentry.EventProcessor; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryRequestHttpServletRequestProcessor.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryRequestHttpServletRequestProcessor.java similarity index 93% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryRequestHttpServletRequestProcessor.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentryRequestHttpServletRequestProcessor.java index 91b27ddeac7..2412083812d 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryRequestHttpServletRequestProcessor.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryRequestHttpServletRequestProcessor.java @@ -1,10 +1,10 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import com.jakewharton.nopen.annotation.Open; import io.sentry.EventProcessor; import io.sentry.Hint; import io.sentry.SentryEvent; -import io.sentry.spring.jakarta.tracing.TransactionNameProvider; +import io.sentry.spring7.tracing.TransactionNameProvider; import io.sentry.util.Objects; import jakarta.servlet.http.HttpServletRequest; import org.jetbrains.annotations.NotNull; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryRequestResolver.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryRequestResolver.java similarity index 99% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryRequestResolver.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentryRequestResolver.java index 4bb2ad312bb..aba0ae808d1 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryRequestResolver.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryRequestResolver.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScopes; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentrySpringFilter.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentrySpringFilter.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentrySpringFilter.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentrySpringFilter.java index 34dd5f0c469..c709cebbca7 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentrySpringFilter.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentrySpringFilter.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import static io.sentry.SentryOptions.RequestSize.*; import static io.sentry.TypeCheckHint.SPRING_REQUEST_FILTER_REQUEST; @@ -15,8 +15,8 @@ import io.sentry.SentryLevel; import io.sentry.SentryOptions; import io.sentry.SentryOptions.RequestSize; -import io.sentry.spring.jakarta.tracing.SpringMvcTransactionNameProvider; -import io.sentry.spring.jakarta.tracing.TransactionNameProvider; +import io.sentry.spring7.tracing.SpringMvcTransactionNameProvider; +import io.sentry.spring7.tracing.TransactionNameProvider; import io.sentry.util.Objects; import jakarta.servlet.FilterChain; import jakarta.servlet.ServletException; @@ -111,7 +111,7 @@ private void configureScope( final @NotNull IScopes scopes, final @NotNull HttpServletRequest request) { if (scopes.getOptions().isSendDefaultPii() && qualifiesForCaching(request, scopes.getOptions().getMaxRequestBodySize())) { - return new ContentCachingRequestWrapper(request); + return new ContentCachingRequestWrapper(request, 0); } return request; } diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentrySpringServletContainerInitializer.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentrySpringServletContainerInitializer.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentrySpringServletContainerInitializer.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentrySpringServletContainerInitializer.java index 9a71bc6910b..b060eed4182 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentrySpringServletContainerInitializer.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentrySpringServletContainerInitializer.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import static io.sentry.util.ClassLoaderUtils.classLoaderOrDefault; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryTaskDecorator.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryTaskDecorator.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryTaskDecorator.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentryTaskDecorator.java index ba757952606..087608c1c37 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryTaskDecorator.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryTaskDecorator.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import io.sentry.IScopes; import io.sentry.ISentryLifecycleToken; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryUserFilter.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryUserFilter.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryUserFilter.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentryUserFilter.java index 31cc73a3468..b7e226929a5 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryUserFilter.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryUserFilter.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScope; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryUserProvider.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryUserProvider.java similarity index 90% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryUserProvider.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentryUserProvider.java index 9a87dbc78a5..0c6c4033a2b 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryUserProvider.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryUserProvider.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import io.sentry.protocol.User; import org.jetbrains.annotations.Nullable; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryWebConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryWebConfiguration.java similarity index 95% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryWebConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SentryWebConfiguration.java index 3f4d356505e..f53840a17bd 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SentryWebConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SentryWebConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import com.jakewharton.nopen.annotation.Open; import io.sentry.SentryOptions; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SpringProfilesEventProcessor.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SpringProfilesEventProcessor.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SpringProfilesEventProcessor.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SpringProfilesEventProcessor.java index 48957e88507..100bdd6a38b 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SpringProfilesEventProcessor.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SpringProfilesEventProcessor.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import io.sentry.EventProcessor; import io.sentry.Hint; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SpringSecuritySentryUserProvider.java b/sentry-spring-7/src/main/java/io/sentry/spring7/SpringSecuritySentryUserProvider.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SpringSecuritySentryUserProvider.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/SpringSecuritySentryUserProvider.java index d36bc4bf2b0..164a43c5bd2 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/SpringSecuritySentryUserProvider.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/SpringSecuritySentryUserProvider.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta; +package io.sentry.spring7; import io.sentry.SentryOptions; import io.sentry.protocol.User; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckIn.java b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckIn.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckIn.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckIn.java index a2f53da955c..70de3aaad4e 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckIn.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckIn.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.checkin; +package io.sentry.spring7.checkin; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckInAdvice.java b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckInAdvice.java similarity index 99% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckInAdvice.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckInAdvice.java index dd22f4dc5dc..f5f33c252a3 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckInAdvice.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckInAdvice.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.checkin; +package io.sentry.spring7.checkin; import com.jakewharton.nopen.annotation.Open; import io.sentry.CheckIn; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckInAdviceConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckInAdviceConfiguration.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckInAdviceConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckInAdviceConfiguration.java index 1f948581f18..4ef53629ddd 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckInAdviceConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckInAdviceConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.checkin; +package io.sentry.spring7.checkin; import com.jakewharton.nopen.annotation.Open; import org.aopalliance.aop.Advice; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckInPointcutConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckInPointcutConfiguration.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckInPointcutConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckInPointcutConfiguration.java index d5c7b8e97e6..40d1260a46e 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryCheckInPointcutConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryCheckInPointcutConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.checkin; +package io.sentry.spring7.checkin; import com.jakewharton.nopen.annotation.Open; import org.jetbrains.annotations.ApiStatus; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryQuartzConfiguration.java similarity index 85% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryQuartzConfiguration.java index e4e9104eb05..0d26fbeca6a 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentryQuartzConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentryQuartzConfiguration.java @@ -1,8 +1,8 @@ -package io.sentry.spring.jakarta.checkin; +package io.sentry.spring7.checkin; import com.jakewharton.nopen.annotation.Open; import org.jetbrains.annotations.ApiStatus; -import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; +import org.springframework.boot.quartz.autoconfigure.SchedulerFactoryBeanCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.Ordered; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentrySchedulerFactoryBeanCustomizer.java similarity index 81% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentrySchedulerFactoryBeanCustomizer.java index e37f5ac4674..9d65add5483 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/checkin/SentrySchedulerFactoryBeanCustomizer.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/checkin/SentrySchedulerFactoryBeanCustomizer.java @@ -1,8 +1,8 @@ -package io.sentry.spring.jakarta.checkin; +package io.sentry.spring7.checkin; import io.sentry.quartz.SentryJobListener; import org.jetbrains.annotations.ApiStatus; -import org.springframework.boot.autoconfigure.quartz.SchedulerFactoryBeanCustomizer; +import org.springframework.boot.quartz.autoconfigure.SchedulerFactoryBeanCustomizer; import org.springframework.scheduling.quartz.SchedulerFactoryBean; @ApiStatus.Experimental diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameter.java b/sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameter.java similarity index 91% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameter.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameter.java index 4911419c0b9..3d9e47c3a5f 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameter.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameter.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.exception; +package io.sentry.spring7.exception; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterAdvice.java b/sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameterAdvice.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterAdvice.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameterAdvice.java index c6537f853c2..24f0df0f91a 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterAdvice.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameterAdvice.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.exception; +package io.sentry.spring7.exception; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScopes; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameterConfiguration.java similarity index 92% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameterConfiguration.java index 0d4f4274be1..fac7ce3f2e4 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameterConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.exception; +package io.sentry.spring7.exception; import com.jakewharton.nopen.annotation.Open; import org.springframework.context.annotation.Configuration; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterPointcutConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameterPointcutConfiguration.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterPointcutConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameterPointcutConfiguration.java index 3744182a306..5397babb1e3 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterPointcutConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryCaptureExceptionParameterPointcutConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.exception; +package io.sentry.spring7.exception; import com.jakewharton.nopen.annotation.Open; import org.jetbrains.annotations.NotNull; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryExceptionParameterAdviceConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryExceptionParameterAdviceConfiguration.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryExceptionParameterAdviceConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryExceptionParameterAdviceConfiguration.java index aa75510c0a2..b84ba3db373 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/exception/SentryExceptionParameterAdviceConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/exception/SentryExceptionParameterAdviceConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.exception; +package io.sentry.spring7.exception; import com.jakewharton.nopen.annotation.Open; import org.aopalliance.aop.Advice; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryBatchLoaderRegistry.java b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryBatchLoaderRegistry.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryBatchLoaderRegistry.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryBatchLoaderRegistry.java index a75aa281349..591863d906b 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryBatchLoaderRegistry.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryBatchLoaderRegistry.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.graphql; +package io.sentry.spring7.graphql; import static io.sentry.graphql.SentryGraphqlInstrumentation.SENTRY_SCOPES_CONTEXT_KEY; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryDataFetcherExceptionResolverAdapter.java b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryDataFetcherExceptionResolverAdapter.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryDataFetcherExceptionResolverAdapter.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryDataFetcherExceptionResolverAdapter.java index 3f34931147c..864b0ae7fd5 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryDataFetcherExceptionResolverAdapter.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryDataFetcherExceptionResolverAdapter.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.graphql; +package io.sentry.spring7.graphql; import graphql.GraphQLError; import graphql.execution.DataFetcherExceptionHandlerResult; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryDgsSubscriptionHandler.java b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryDgsSubscriptionHandler.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryDgsSubscriptionHandler.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryDgsSubscriptionHandler.java index a7a6cccd3e3..cbcc6de4093 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryDgsSubscriptionHandler.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryDgsSubscriptionHandler.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.graphql; +package io.sentry.spring7.graphql; import graphql.execution.instrumentation.parameters.InstrumentationFieldFetchParameters; import io.sentry.IScopes; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryGraphql22Configuration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryGraphql22Configuration.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryGraphql22Configuration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryGraphql22Configuration.java index be94017201e..27e8cbee9c7 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryGraphql22Configuration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryGraphql22Configuration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.graphql; +package io.sentry.spring7.graphql; import com.jakewharton.nopen.annotation.Open; import io.sentry.SentryIntegrationPackageStorage; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryGraphqlBeanPostProcessor.java b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryGraphqlBeanPostProcessor.java similarity index 94% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryGraphqlBeanPostProcessor.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryGraphqlBeanPostProcessor.java index 5eb4374bb1f..2ea390fd2dd 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryGraphqlBeanPostProcessor.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryGraphqlBeanPostProcessor.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.graphql; +package io.sentry.spring7.graphql; import org.jetbrains.annotations.ApiStatus; import org.springframework.beans.BeansException; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryGraphqlConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryGraphqlConfiguration.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryGraphqlConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryGraphqlConfiguration.java index 611e6bf5279..9d34f3fa217 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentryGraphqlConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentryGraphqlConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.graphql; +package io.sentry.spring7.graphql; import com.jakewharton.nopen.annotation.Open; import io.sentry.SentryIntegrationPackageStorage; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentrySpringSubscriptionHandler.java b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentrySpringSubscriptionHandler.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentrySpringSubscriptionHandler.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentrySpringSubscriptionHandler.java index eec86f5e8b7..e0b091d494e 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/graphql/SentrySpringSubscriptionHandler.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/graphql/SentrySpringSubscriptionHandler.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.graphql; +package io.sentry.spring7.graphql; import graphql.execution.instrumentation.parameters.InstrumentationFieldFetchParameters; import io.sentry.IScopes; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/opentelemetry/SentryOpenTelemetryAgentWithoutAutoInitConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/opentelemetry/SentryOpenTelemetryAgentWithoutAutoInitConfiguration.java similarity index 95% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/opentelemetry/SentryOpenTelemetryAgentWithoutAutoInitConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/opentelemetry/SentryOpenTelemetryAgentWithoutAutoInitConfiguration.java index bac77cfafc1..76b27ce295a 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/opentelemetry/SentryOpenTelemetryAgentWithoutAutoInitConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/opentelemetry/SentryOpenTelemetryAgentWithoutAutoInitConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.opentelemetry; +package io.sentry.spring7.opentelemetry; import com.jakewharton.nopen.annotation.Open; import io.sentry.Sentry; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/opentelemetry/SentryOpenTelemetryNoAgentConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/opentelemetry/SentryOpenTelemetryNoAgentConfiguration.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/opentelemetry/SentryOpenTelemetryNoAgentConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/opentelemetry/SentryOpenTelemetryNoAgentConfiguration.java index 3e3ef9e2afd..f12cd09167b 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/opentelemetry/SentryOpenTelemetryNoAgentConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/opentelemetry/SentryOpenTelemetryNoAgentConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.opentelemetry; +package io.sentry.spring7.opentelemetry; import com.jakewharton.nopen.annotation.Open; import io.opentelemetry.api.OpenTelemetry; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/CombinedTransactionNameProvider.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/CombinedTransactionNameProvider.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/CombinedTransactionNameProvider.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/CombinedTransactionNameProvider.java index 1e142e958dc..a211ee6c759 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/CombinedTransactionNameProvider.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/CombinedTransactionNameProvider.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import io.sentry.protocol.TransactionNameSource; import jakarta.servlet.http.HttpServletRequest; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryAdviceConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryAdviceConfiguration.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryAdviceConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryAdviceConfiguration.java index c3e6e1ef6af..ec4d45a08ea 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryAdviceConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryAdviceConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import com.jakewharton.nopen.annotation.Open; import org.aopalliance.aop.Advice; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpan.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpan.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpan.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpan.java index 846cf53283a..b19902684b0 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpan.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpan.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import io.sentry.protocol.SentryTransaction; import java.lang.annotation.ElementType; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanAdvice.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanAdvice.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanAdvice.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanAdvice.java index 668c8d1b0b8..6c9a3287edc 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanAdvice.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanAdvice.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScopes; @@ -22,7 +22,7 @@ */ @Open public class SentrySpanAdvice implements MethodInterceptor { - private static final String TRACE_ORIGIN = "auto.function.spring_jakarta.advice"; + private static final String TRACE_ORIGIN = "auto.function.spring7.advice"; private final @NotNull IScopes scopes; public SentrySpanAdvice() { diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanClientHttpRequestInterceptor.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanClientHttpRequestInterceptor.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanClientHttpRequestInterceptor.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanClientHttpRequestInterceptor.java index f50c93976e5..901321f0213 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanClientHttpRequestInterceptor.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanClientHttpRequestInterceptor.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import static io.sentry.TypeCheckHint.SPRING_REQUEST_INTERCEPTOR_REQUEST; import static io.sentry.TypeCheckHint.SPRING_REQUEST_INTERCEPTOR_REQUEST_BODY; @@ -28,8 +28,8 @@ @Open public class SentrySpanClientHttpRequestInterceptor implements ClientHttpRequestInterceptor { - private static final String TRACE_ORIGIN_REST_TEMPLATE = "auto.http.spring_jakarta.resttemplate"; - private static final String TRACE_ORIGIN_REST_CLIENT = "auto.http.spring_jakarta.restclient"; + private static final String TRACE_ORIGIN_REST_TEMPLATE = "auto.http.spring7.resttemplate"; + private static final String TRACE_ORIGIN_REST_CLIENT = "auto.http.spring7.restclient"; private final @NotNull IScopes scopes; private final @NotNull String traceOrigin; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanClientWebRequestFilter.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanClientWebRequestFilter.java similarity index 97% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanClientWebRequestFilter.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanClientWebRequestFilter.java index 1189532c0c4..6726302a83e 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanClientWebRequestFilter.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanClientWebRequestFilter.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import static io.sentry.TypeCheckHint.SPRING_EXCHANGE_FILTER_REQUEST; import static io.sentry.TypeCheckHint.SPRING_EXCHANGE_FILTER_RESPONSE; @@ -26,7 +26,7 @@ @Open public class SentrySpanClientWebRequestFilter implements ExchangeFilterFunction { - private static final String TRACE_ORIGIN = "auto.http.spring_jakarta.webclient"; + private static final String TRACE_ORIGIN = "auto.http.spring7.webclient"; private final @NotNull IScopes scopes; public SentrySpanClientWebRequestFilter(final @NotNull IScopes scopes) { diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanPointcutConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanPointcutConfiguration.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanPointcutConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanPointcutConfiguration.java index 95544c7992d..df3cb7a2798 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentrySpanPointcutConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentrySpanPointcutConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import com.jakewharton.nopen.annotation.Open; import org.jetbrains.annotations.NotNull; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTracingConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTracingConfiguration.java similarity index 92% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTracingConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTracingConfiguration.java index ffd3d1d0d79..d91baf1c102 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTracingConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTracingConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import com.jakewharton.nopen.annotation.Open; import org.springframework.context.annotation.Configuration; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTracingFilter.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTracingFilter.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTracingFilter.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTracingFilter.java index d059338c0dc..60f302c4cc4 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTracingFilter.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTracingFilter.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import com.jakewharton.nopen.annotation.Open; import io.sentry.BaggageHeader; @@ -36,7 +36,7 @@ public class SentryTracingFilter extends OncePerRequestFilter { /** Operation used by {@link SentryTransaction} created in {@link SentryTracingFilter}. */ private static final String TRANSACTION_OP = "http.server"; - private static final String TRACE_ORIGIN = "auto.http.spring_jakarta.webmvc"; + private static final String TRACE_ORIGIN = "auto.http.spring7.webmvc"; private static final String TRANSACTION_ATTR = "sentry.transaction"; private final @NotNull TransactionNameProvider transactionNameProvider; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTransaction.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTransaction.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTransaction.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTransaction.java index 01d2e9e146b..d1f0708895b 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTransaction.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTransaction.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTransactionAdvice.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTransactionAdvice.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTransactionAdvice.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTransactionAdvice.java index 95618f76fd7..b16a6ab00ef 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTransactionAdvice.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTransactionAdvice.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScopes; @@ -27,7 +27,7 @@ @ApiStatus.Internal @Open public class SentryTransactionAdvice implements MethodInterceptor { - private static final String TRACE_ORIGIN = "auto.function.spring_jakarta.advice"; + private static final String TRACE_ORIGIN = "auto.function.spring7.advice"; private final @NotNull IScopes scopesBeforeForking; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTransactionPointcutConfiguration.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTransactionPointcutConfiguration.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTransactionPointcutConfiguration.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTransactionPointcutConfiguration.java index 6f2d886b750..c759452a5c1 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SentryTransactionPointcutConfiguration.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SentryTransactionPointcutConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import com.jakewharton.nopen.annotation.Open; import org.jetbrains.annotations.NotNull; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SpringMvcTransactionNameProvider.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SpringMvcTransactionNameProvider.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SpringMvcTransactionNameProvider.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SpringMvcTransactionNameProvider.java index 0dc8dd8a8c9..59402b23e9e 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SpringMvcTransactionNameProvider.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SpringMvcTransactionNameProvider.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import io.sentry.protocol.TransactionNameSource; import jakarta.servlet.http.HttpServletRequest; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SpringServletTransactionNameProvider.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SpringServletTransactionNameProvider.java similarity index 94% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SpringServletTransactionNameProvider.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SpringServletTransactionNameProvider.java index e0beda65a0b..44c5f2d7918 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/SpringServletTransactionNameProvider.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/SpringServletTransactionNameProvider.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import io.sentry.protocol.TransactionNameSource; import jakarta.servlet.http.HttpServletRequest; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/TransactionNameProvider.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/TransactionNameProvider.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/TransactionNameProvider.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/TransactionNameProvider.java index 7c0eac8152f..7e63c655b38 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/TransactionNameProvider.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/TransactionNameProvider.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import io.sentry.protocol.TransactionNameSource; import jakarta.servlet.http.HttpServletRequest; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/TransactionNameWithSource.java b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/TransactionNameWithSource.java similarity index 95% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/TransactionNameWithSource.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/tracing/TransactionNameWithSource.java index f913b895cf7..19ea4afb54b 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/tracing/TransactionNameWithSource.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/tracing/TransactionNameWithSource.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing; +package io.sentry.spring7.tracing; import io.sentry.protocol.TransactionNameSource; import org.jetbrains.annotations.ApiStatus; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/AbstractSentryWebFilter.java b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/AbstractSentryWebFilter.java similarity index 99% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/AbstractSentryWebFilter.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/webflux/AbstractSentryWebFilter.java index 57b7b86e40f..0b41974a69d 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/AbstractSentryWebFilter.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/AbstractSentryWebFilter.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux; +package io.sentry.spring7.webflux; import static io.sentry.TypeCheckHint.WEBFLUX_FILTER_REQUEST; import static io.sentry.TypeCheckHint.WEBFLUX_FILTER_RESPONSE; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryRequestResolver.java b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryRequestResolver.java similarity index 95% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryRequestResolver.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryRequestResolver.java index d58291ade6e..3d6857cb648 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryRequestResolver.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryRequestResolver.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux; +package io.sentry.spring7.webflux; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScopes; @@ -49,7 +49,7 @@ public SentryRequestResolver(final @NotNull IScopes scopes) { @NotNull Map resolveHeadersMap(final HttpHeaders request) { final Map headersMap = new HashMap<>(); - for (Map.Entry> entry : request.entrySet()) { + for (Map.Entry> entry : request.headerSet()) { // do not copy personal information identifiable headers String headerName = entry.getKey(); if (scopes.getOptions().isSendDefaultPii() diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryScheduleHook.java b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryScheduleHook.java similarity index 95% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryScheduleHook.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryScheduleHook.java index 57a74732ea8..625a1d4bd14 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryScheduleHook.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryScheduleHook.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux; +package io.sentry.spring7.webflux; import io.sentry.IScopes; import io.sentry.ISentryLifecycleToken; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryWebExceptionHandler.java b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryWebExceptionHandler.java similarity index 98% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryWebExceptionHandler.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryWebExceptionHandler.java index 1e1e387eb21..730d862af84 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryWebExceptionHandler.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryWebExceptionHandler.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux; +package io.sentry.spring7.webflux; import static io.sentry.TypeCheckHint.WEBFLUX_EXCEPTION_HANDLER_EXCHANGE; import static io.sentry.TypeCheckHint.WEBFLUX_EXCEPTION_HANDLER_REQUEST; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryWebFilter.java b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryWebFilter.java similarity index 92% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryWebFilter.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryWebFilter.java index 0ec4b44a0e5..508ddbaf7ce 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryWebFilter.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryWebFilter.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux; +package io.sentry.spring7.webflux; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScope; @@ -18,7 +18,7 @@ @Open public class SentryWebFilter extends AbstractSentryWebFilter { - private static final String TRACE_ORIGIN = "auto.spring_jakarta.webflux"; + private static final String TRACE_ORIGIN = "auto.spring7.webflux"; public SentryWebFilter(final @NotNull IScopes scopes) { super(scopes); diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryWebFilterWithThreadLocalAccessor.java b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryWebFilterWithThreadLocalAccessor.java similarity index 94% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryWebFilterWithThreadLocalAccessor.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryWebFilterWithThreadLocalAccessor.java index 7748d43a012..ff6c61353a9 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/SentryWebFilterWithThreadLocalAccessor.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/SentryWebFilterWithThreadLocalAccessor.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux; +package io.sentry.spring7.webflux; import io.sentry.IScope; import io.sentry.IScopes; @@ -16,7 +16,7 @@ @ApiStatus.Experimental public final class SentryWebFilterWithThreadLocalAccessor extends AbstractSentryWebFilter { - public static final String TRACE_ORIGIN = "auto.spring_jakarta.webflux"; + public static final String TRACE_ORIGIN = "auto.spring7.webflux"; public SentryWebFilterWithThreadLocalAccessor(final @NotNull IScopes scopes) { super(scopes); diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/TransactionNameProvider.java b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/TransactionNameProvider.java similarity index 96% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/TransactionNameProvider.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/webflux/TransactionNameProvider.java index 33b3eba36be..0691c570da0 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/TransactionNameProvider.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/TransactionNameProvider.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux; +package io.sentry.spring7.webflux; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/reactor/ReactorUtils.java b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/reactor/ReactorUtils.java similarity index 79% rename from sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/reactor/ReactorUtils.java rename to sentry-spring-7/src/main/java/io/sentry/spring7/webflux/reactor/ReactorUtils.java index b3249570369..c23faf62f57 100644 --- a/sentry-spring-7/src/main/java/io/sentry/spring/jakarta/webflux/reactor/ReactorUtils.java +++ b/sentry-spring-7/src/main/java/io/sentry/spring7/webflux/reactor/ReactorUtils.java @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux.reactor; +package io.sentry.spring7.webflux.reactor; import io.sentry.reactor.SentryReactorUtils; diff --git a/sentry-spring-7/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer b/sentry-spring-7/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer index 69f38f69c51..0101bfd4ec2 100644 --- a/sentry-spring-7/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer +++ b/sentry-spring-7/src/main/resources/META-INF/services/jakarta.servlet.ServletContainerInitializer @@ -1 +1 @@ -io.sentry.spring.jakarta.SentrySpringServletContainerInitializer +io.sentry.spring7.SentrySpringServletContainerInitializer diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/ContextTagsEventProcessorTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/ContextTagsEventProcessorTest.kt similarity index 98% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/ContextTagsEventProcessorTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/ContextTagsEventProcessorTest.kt index 5f91887a50b..ddf19c41e6a 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/ContextTagsEventProcessorTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/ContextTagsEventProcessorTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.SentryEvent import io.sentry.SentryOptions diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/EnableSentryTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/EnableSentryTest.kt similarity index 98% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/EnableSentryTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/EnableSentryTest.kt index 3fa5a38ac22..d6588ad4013 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/EnableSentryTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/EnableSentryTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.EventProcessor import io.sentry.IScopes @@ -46,13 +46,13 @@ class EnableSentryTest { contextRunner.run { assertThat(it).hasSingleBean(SentryOptions::class.java) val options = it.getBean(SentryOptions::class.java) - assertThat(options.sentryClientName).isEqualTo("sentry.java.spring.jakarta") + assertThat(options.sentryClientName).isEqualTo("sentry.java.spring-7") assertThat(options.sdkVersion).isNotNull - assertThat(options.sdkVersion!!.name).isEqualTo("sentry.java.spring.jakarta") + assertThat(options.sdkVersion!!.name).isEqualTo("sentry.java.spring-7") assertThat(options.sdkVersion!!.version).isEqualTo(BuildConfig.VERSION_NAME) assertThat(options.sdkVersion!!.packageSet.map { pkg -> pkg.name }) - .contains("maven:io.sentry:sentry-spring-jakarta") - assertThat(options.sdkVersion!!.integrationSet).contains("Spring6") + .contains("maven:io.sentry:sentry-spring-7") + assertThat(options.sdkVersion!!.integrationSet).contains("Spring7") } } diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/HttpServletRequestSentryUserProviderTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/HttpServletRequestSentryUserProviderTest.kt similarity index 98% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/HttpServletRequestSentryUserProviderTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/HttpServletRequestSentryUserProviderTest.kt index f2cce25574d..5254270a05c 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/HttpServletRequestSentryUserProviderTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/HttpServletRequestSentryUserProviderTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.SentryOptions import java.security.Principal diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryCheckInAdviceTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryCheckInAdviceTest.kt similarity index 97% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryCheckInAdviceTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryCheckInAdviceTest.kt index c6edd834530..e15affdbdd5 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryCheckInAdviceTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryCheckInAdviceTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.CheckIn import io.sentry.CheckInStatus @@ -7,9 +7,9 @@ import io.sentry.ISentryLifecycleToken import io.sentry.Sentry import io.sentry.SentryOptions import io.sentry.protocol.SentryId -import io.sentry.spring.jakarta.checkin.SentryCheckIn -import io.sentry.spring.jakarta.checkin.SentryCheckInAdviceConfiguration -import io.sentry.spring.jakarta.checkin.SentryCheckInPointcutConfiguration +import io.sentry.spring7.checkin.SentryCheckIn +import io.sentry.spring7.checkin.SentryCheckInAdviceConfiguration +import io.sentry.spring7.checkin.SentryCheckInPointcutConfiguration import kotlin.test.BeforeTest import kotlin.test.Test import kotlin.test.assertEquals diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryExceptionResolverTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryExceptionResolverTest.kt similarity index 97% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryExceptionResolverTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryExceptionResolverTest.kt index 2513b5a7abb..94f5210a66f 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryExceptionResolverTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryExceptionResolverTest.kt @@ -1,11 +1,11 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.Hint import io.sentry.IScopes import io.sentry.SentryEvent import io.sentry.SentryLevel import io.sentry.exception.ExceptionMechanismException -import io.sentry.spring.jakarta.tracing.TransactionNameProvider +import io.sentry.spring7.tracing.TransactionNameProvider import jakarta.servlet.http.HttpServletRequest import jakarta.servlet.http.HttpServletResponse import kotlin.test.Test diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryInitBeanPostProcessorTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryInitBeanPostProcessorTest.kt similarity index 95% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryInitBeanPostProcessorTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryInitBeanPostProcessorTest.kt index 70883e19f55..0beba9abcf7 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryInitBeanPostProcessorTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryInitBeanPostProcessorTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.IScopes import kotlin.test.Test diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryRequestHttpServletRequestProcessorTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryRequestHttpServletRequestProcessorTest.kt similarity index 95% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryRequestHttpServletRequestProcessorTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryRequestHttpServletRequestProcessorTest.kt index a63f00a788f..4c2276275f7 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryRequestHttpServletRequestProcessorTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryRequestHttpServletRequestProcessorTest.kt @@ -1,10 +1,10 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.Hint import io.sentry.IScopes import io.sentry.SentryEvent import io.sentry.SentryOptions -import io.sentry.spring.jakarta.tracing.SpringMvcTransactionNameProvider +import io.sentry.spring7.tracing.SpringMvcTransactionNameProvider import jakarta.servlet.http.HttpServletRequest import java.net.URI import kotlin.test.Test diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentrySpringFilterTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentrySpringFilterTest.kt similarity index 99% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentrySpringFilterTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentrySpringFilterTest.kt index 6c8db2fc097..639b1642a51 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentrySpringFilterTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentrySpringFilterTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.Breadcrumb import io.sentry.IScope diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryTaskDecoratorTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryTaskDecoratorTest.kt similarity index 97% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryTaskDecoratorTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryTaskDecoratorTest.kt index 1f0f74d25cf..d589537d59c 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryTaskDecoratorTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryTaskDecoratorTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.Sentry import io.sentry.test.initForTest diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryUserFilterTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryUserFilterTest.kt similarity index 99% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryUserFilterTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryUserFilterTest.kt index c790f3e9997..6284e8241ae 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SentryUserFilterTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SentryUserFilterTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.IScopes import io.sentry.SentryOptions diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SpringProfilesEventProcessorTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SpringProfilesEventProcessorTest.kt similarity index 98% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SpringProfilesEventProcessorTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/SpringProfilesEventProcessorTest.kt index f5e642a99a4..07e122a688d 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SpringProfilesEventProcessorTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SpringProfilesEventProcessorTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.ITransportFactory import io.sentry.Sentry diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SpringSecuritySentryUserProviderTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SpringSecuritySentryUserProviderTest.kt similarity index 98% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SpringSecuritySentryUserProviderTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/SpringSecuritySentryUserProviderTest.kt index 80f8efc9ce2..6330405999c 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/SpringSecuritySentryUserProviderTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/SpringSecuritySentryUserProviderTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta +package io.sentry.spring7 import io.sentry.SentryOptions import kotlin.test.Test diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterAdviceTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/exception/SentryCaptureExceptionParameterAdviceTest.kt similarity index 98% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterAdviceTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/exception/SentryCaptureExceptionParameterAdviceTest.kt index f9f1c38dd16..f3abde22bc7 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/exception/SentryCaptureExceptionParameterAdviceTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/exception/SentryCaptureExceptionParameterAdviceTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.exception +package io.sentry.spring7.exception import io.sentry.Hint import io.sentry.IScopes diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/graphql/SentrySpringSubscriptionHandlerTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/graphql/SentrySpringSubscriptionHandlerTest.kt similarity index 98% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/graphql/SentrySpringSubscriptionHandlerTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/graphql/SentrySpringSubscriptionHandlerTest.kt index a8039ff7660..c216b4595d2 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/graphql/SentrySpringSubscriptionHandlerTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/graphql/SentrySpringSubscriptionHandlerTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.graphql +package io.sentry.spring7.graphql import graphql.execution.instrumentation.parameters.InstrumentationFieldFetchParameters import graphql.language.Document diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/mvc/SentrySpringIntegrationTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/mvc/SentrySpringIntegrationTest.kt similarity index 93% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/mvc/SentrySpringIntegrationTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/mvc/SentrySpringIntegrationTest.kt index 6e2ea53fdfd..c9a05dbdad6 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/mvc/SentrySpringIntegrationTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/mvc/SentrySpringIntegrationTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.mvc +package io.sentry.spring7.mvc import io.sentry.IScopes import io.sentry.ITransportFactory @@ -8,19 +8,19 @@ import io.sentry.SpanDataConvention import io.sentry.SpanStatus import io.sentry.checkEvent import io.sentry.checkTransaction -import io.sentry.spring.jakarta.EnableSentry -import io.sentry.spring.jakarta.SentryExceptionResolver -import io.sentry.spring.jakarta.SentrySpringFilter -import io.sentry.spring.jakarta.SentryTaskDecorator -import io.sentry.spring.jakarta.SentryUserFilter -import io.sentry.spring.jakarta.SentryUserProvider -import io.sentry.spring.jakarta.SpringSecuritySentryUserProvider -import io.sentry.spring.jakarta.exception.SentryCaptureExceptionParameter -import io.sentry.spring.jakarta.exception.SentryCaptureExceptionParameterConfiguration -import io.sentry.spring.jakarta.tracing.SentrySpanClientWebRequestFilter -import io.sentry.spring.jakarta.tracing.SentryTracingConfiguration -import io.sentry.spring.jakarta.tracing.SentryTracingFilter -import io.sentry.spring.jakarta.tracing.SentryTransaction +import io.sentry.spring7.EnableSentry +import io.sentry.spring7.SentryExceptionResolver +import io.sentry.spring7.SentrySpringFilter +import io.sentry.spring7.SentryTaskDecorator +import io.sentry.spring7.SentryUserFilter +import io.sentry.spring7.SentryUserProvider +import io.sentry.spring7.SpringSecuritySentryUserProvider +import io.sentry.spring7.exception.SentryCaptureExceptionParameter +import io.sentry.spring7.exception.SentryCaptureExceptionParameterConfiguration +import io.sentry.spring7.tracing.SentrySpanClientWebRequestFilter +import io.sentry.spring7.tracing.SentryTracingConfiguration +import io.sentry.spring7.tracing.SentryTracingFilter +import io.sentry.spring7.tracing.SentryTransaction import io.sentry.transport.ITransport import java.time.Duration import java.util.concurrent.Callable @@ -43,8 +43,8 @@ import org.mockito.kotlin.whenever 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.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.boot.web.servlet.FilterRegistrationBean import org.springframework.context.annotation.Bean import org.springframework.context.annotation.Configuration @@ -110,7 +110,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) @@ -176,7 +176,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) @@ -530,7 +530,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-7/src/test/kotlin/io/sentry/spring/jakarta/tracing/SentrySpanAdviceTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/tracing/SentrySpanAdviceTest.kt similarity index 97% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/tracing/SentrySpanAdviceTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/tracing/SentrySpanAdviceTest.kt index 475c040175c..35de0b6dd4d 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/tracing/SentrySpanAdviceTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/tracing/SentrySpanAdviceTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing +package io.sentry.spring7.tracing import io.sentry.IScopes import io.sentry.Scope @@ -52,7 +52,7 @@ class SentrySpanAdviceTest { assertEquals(1, result) assertEquals(1, tx.spans.size) assertNull(tx.spans.first().description) - assertEquals("auto.function.spring_jakarta.advice", tx.spans.first().spanContext.origin) + assertEquals("auto.function.spring7.advice", tx.spans.first().spanContext.origin) assertEquals("ClassAnnotatedSampleService.hello", tx.spans.first().operation) } diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/tracing/SentryTracingFilterTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/tracing/SentryTracingFilterTest.kt similarity index 98% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/tracing/SentryTracingFilterTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/tracing/SentryTracingFilterTest.kt index dfb8376286a..f63b5d9631c 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/tracing/SentryTracingFilterTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/tracing/SentryTracingFilterTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing +package io.sentry.spring7.tracing import io.sentry.ILogger import io.sentry.IScopes @@ -122,7 +122,7 @@ class SentryTracingFilterTest { assertNotNull(it.customSamplingContext?.get("request")) assertTrue(it.customSamplingContext?.get("request") is HttpServletRequest) assertTrue(it.isBindToScope) - assertThat(it.origin).isEqualTo("auto.http.spring_jakarta.webmvc") + assertThat(it.origin).isEqualTo("auto.http.spring7.webmvc") }, ) verify(fixture.chain).doFilter(fixture.request, fixture.response) @@ -325,7 +325,7 @@ class SentryTracingFilterTest { "sentry-public_key=502f25099c204a2fbf4cb16edc5975d1,sentry-sample_rate=1,sentry-trace_id=2722d9f6ec019ade60c776169d9a8904,sentry-transaction=HTTP%20GET" ) fixture.options.tracesSampleRate = null - fixture.options.setIgnoredSpanOrigins(listOf("auto.http.spring_jakarta.webmvc")) + fixture.options.setIgnoredSpanOrigins(listOf("auto.http.spring7.webmvc")) val filter = fixture.getSut( sentryTraceHeader = sentryTraceHeaderString, @@ -384,7 +384,7 @@ class SentryTracingFilterTest { assertNotNull(it.customSamplingContext?.get("request")) assertTrue(it.customSamplingContext?.get("request") is HttpServletRequest) assertTrue(it.isBindToScope) - assertThat(it.origin).isEqualTo("auto.http.spring_jakarta.webmvc") + assertThat(it.origin).isEqualTo("auto.http.spring7.webmvc") }, ) verify(asyncChain).doFilter(fixture.request, fixture.response) @@ -443,7 +443,7 @@ class SentryTracingFilterTest { assertNotNull(it.customSamplingContext?.get("request")) assertTrue(it.customSamplingContext?.get("request") is HttpServletRequest) assertTrue(it.isBindToScope) - assertThat(it.origin).isEqualTo("auto.http.spring_jakarta.webmvc") + assertThat(it.origin).isEqualTo("auto.http.spring7.webmvc") }, ) verify(fixture.scopes).continueTrace(eq(sentryTrace), eq(baggage)) diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/tracing/SentryTransactionAdviceTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/tracing/SentryTransactionAdviceTest.kt similarity index 99% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/tracing/SentryTransactionAdviceTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/tracing/SentryTransactionAdviceTest.kt index ed9c1f9abb4..1c2359d4489 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/tracing/SentryTransactionAdviceTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/tracing/SentryTransactionAdviceTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.tracing +package io.sentry.spring7.tracing import io.sentry.IScopes import io.sentry.ISentryLifecycleToken @@ -53,7 +53,7 @@ class SentryTransactionAdviceTest { any(), check { assertTrue(it.isBindToScope) - assertThat(it.origin).isEqualTo("auto.function.spring_jakarta.advice") + assertThat(it.origin).isEqualTo("auto.function.spring7.advice") }, ) ) diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/webflux/SentryScheduleHookTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/webflux/SentryScheduleHookTest.kt similarity index 97% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/webflux/SentryScheduleHookTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/webflux/SentryScheduleHookTest.kt index a5c16182fa7..32b56e2e27c 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/webflux/SentryScheduleHookTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/webflux/SentryScheduleHookTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux +package io.sentry.spring7.webflux import io.sentry.Sentry import io.sentry.test.initForTest diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/webflux/SentryWebFluxTracingFilterTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/webflux/SentryWebFluxTracingFilterTest.kt similarity index 97% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/webflux/SentryWebFluxTracingFilterTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/webflux/SentryWebFluxTracingFilterTest.kt index b14f1b5910c..495f45ac650 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/webflux/SentryWebFluxTracingFilterTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/webflux/SentryWebFluxTracingFilterTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux +package io.sentry.spring7.webflux import io.sentry.Breadcrumb import io.sentry.Hint @@ -17,7 +17,7 @@ import io.sentry.TransactionOptions import io.sentry.protocol.SentryId import io.sentry.protocol.SentryTransaction import io.sentry.protocol.TransactionNameSource -import io.sentry.spring.jakarta.webflux.AbstractSentryWebFilter.SENTRY_SCOPES_KEY +import io.sentry.spring7.webflux.AbstractSentryWebFilter.SENTRY_SCOPES_KEY import kotlin.test.Test import kotlin.test.assertEquals import kotlin.test.assertNotNull @@ -131,7 +131,7 @@ class SentryWebFluxTracingFilterTest { assertNotNull(it.customSamplingContext?.get("request")) assertTrue(it.customSamplingContext?.get("request") is ServerHttpRequest) assertTrue(it.isBindToScope) - assertThat(it.origin).isEqualTo("auto.spring_jakarta.webflux") + assertThat(it.origin).isEqualTo("auto.spring7.webflux") }, ) verify(fixture.chain).filter(fixture.exchange) @@ -360,7 +360,7 @@ class SentryWebFluxTracingFilterTest { "sentry-public_key=502f25099c204a2fbf4cb16edc5975d1,sentry-sample_rate=1,sentry-trace_id=2722d9f6ec019ade60c776169d9a8904,sentry-transaction=HTTP%20GET" ) fixture.options.tracesSampleRate = null - fixture.options.setIgnoredSpanOrigins(listOf("auto.spring_jakarta.webflux")) + fixture.options.setIgnoredSpanOrigins(listOf("auto.spring7.webflux")) val filter = fixture.getSut( sentryTraceHeader = sentryTraceHeaderString, diff --git a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/webflux/SentryWebfluxIntegrationTest.kt b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/webflux/SentryWebfluxIntegrationTest.kt similarity index 96% rename from sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/webflux/SentryWebfluxIntegrationTest.kt rename to sentry-spring-7/src/test/kotlin/io/sentry/spring7/webflux/SentryWebfluxIntegrationTest.kt index e3b3ed55a7c..2d44b40c27d 100644 --- a/sentry-spring-7/src/test/kotlin/io/sentry/spring/jakarta/webflux/SentryWebfluxIntegrationTest.kt +++ b/sentry-spring-7/src/test/kotlin/io/sentry/spring7/webflux/SentryWebfluxIntegrationTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.jakarta.webflux +package io.sentry.spring7.webflux import io.sentry.IScopes import io.sentry.ITransportFactory @@ -27,10 +27,10 @@ import org.mockito.kotlin.whenever import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.ApplicationRunner import org.springframework.boot.autoconfigure.SpringBootApplication -import org.springframework.boot.autoconfigure.security.reactive.ReactiveSecurityAutoConfiguration -import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration +import org.springframework.boot.security.autoconfigure.reactive.ReactiveSecurityAutoConfiguration +import org.springframework.boot.security.autoconfigure.servlet.SecurityAutoConfiguration import org.springframework.boot.test.context.SpringBootTest -import org.springframework.boot.test.web.server.LocalServerPort +import org.springframework.boot.web.server.test.LocalServerPort import org.springframework.context.annotation.Bean import org.springframework.http.ResponseEntity import org.springframework.test.context.junit4.SpringRunner diff --git a/sentry-spring-boot-4-starter/api/sentry-spring-boot-starter-jakarta.api b/sentry-spring-boot-4-starter/api/sentry-spring-boot-4-starter.api similarity index 100% rename from sentry-spring-boot-4-starter/api/sentry-spring-boot-starter-jakarta.api rename to sentry-spring-boot-4-starter/api/sentry-spring-boot-4-starter.api 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/api/sentry-spring-boot-4.api b/sentry-spring-boot-4/api/sentry-spring-boot-4.api new file mode 100644 index 00000000000..4eb01c46ded --- /dev/null +++ b/sentry-spring-boot-4/api/sentry-spring-boot-4.api @@ -0,0 +1,93 @@ +public final class io/sentry/spring/boot4/BuildConfig { + public static final field SENTRY_SPRING_BOOT_4_SDK_NAME Ljava/lang/String; + public static final field VERSION_NAME Ljava/lang/String; +} + +public class io/sentry/spring/boot4/InAppIncludesResolver : org/springframework/context/ApplicationContextAware { + public fun ()V + public fun resolveInAppIncludes ()Ljava/util/List; + public fun setApplicationContext (Lorg/springframework/context/ApplicationContext;)V +} + +public class io/sentry/spring/boot4/SentryAutoConfiguration { + public fun ()V +} + +public class io/sentry/spring/boot4/SentryLogbackAppenderAutoConfiguration { + public fun ()V + public fun sentryLogbackInitializer (Lio/sentry/spring/boot4/SentryProperties;)Lio/sentry/spring/boot4/SentryLogbackInitializer; +} + +public class io/sentry/spring/boot4/SentryLogbackInitializer : org/springframework/context/event/GenericApplicationListener { + public fun (Lio/sentry/spring/boot4/SentryProperties;)V + public fun onApplicationEvent (Lorg/springframework/context/ApplicationEvent;)V + public fun supportsEventType (Lorg/springframework/core/ResolvableType;)Z +} + +public class io/sentry/spring/boot4/SentryProperties : io/sentry/SentryOptions { + public fun ()V + public fun getExceptionResolverOrder ()I + public fun getGraphql ()Lio/sentry/spring/boot4/SentryProperties$Graphql; + public fun getLogging ()Lio/sentry/spring/boot4/SentryProperties$Logging; + public fun getReactive ()Lio/sentry/spring/boot4/SentryProperties$Reactive; + public fun getUserFilterOrder ()Ljava/lang/Integer; + public fun isEnableAotCompatibility ()Z + public fun isKeepTransactionsOpenForAsyncResponses ()Z + public fun isUseGitCommitIdAsRelease ()Z + public fun setEnableAotCompatibility (Z)V + public fun setExceptionResolverOrder (I)V + public fun setGraphql (Lio/sentry/spring/boot4/SentryProperties$Graphql;)V + public fun setKeepTransactionsOpenForAsyncResponses (Z)V + public fun setLogging (Lio/sentry/spring/boot4/SentryProperties$Logging;)V + public fun setReactive (Lio/sentry/spring/boot4/SentryProperties$Reactive;)V + public fun setUseGitCommitIdAsRelease (Z)V + public fun setUserFilterOrder (Ljava/lang/Integer;)V +} + +public class io/sentry/spring/boot4/SentryProperties$Graphql { + public fun ()V + public fun getIgnoredErrorTypes ()Ljava/util/List; + public fun setIgnoredErrorTypes (Ljava/util/List;)V +} + +public class io/sentry/spring/boot4/SentryProperties$Logging { + public fun ()V + public fun getLoggers ()Ljava/util/List; + public fun getMinimumBreadcrumbLevel ()Lorg/slf4j/event/Level; + public fun getMinimumEventLevel ()Lorg/slf4j/event/Level; + public fun getMinimumLevel ()Lorg/slf4j/event/Level; + public fun isEnabled ()Z + public fun setEnabled (Z)V + public fun setLoggers (Ljava/util/List;)V + public fun setMinimumBreadcrumbLevel (Lorg/slf4j/event/Level;)V + public fun setMinimumEventLevel (Lorg/slf4j/event/Level;)V + public fun setMinimumLevel (Lorg/slf4j/event/Level;)V +} + +public class io/sentry/spring/boot4/SentryProperties$Reactive { + public fun ()V + public fun isThreadLocalAccessorEnabled ()Z + public fun setThreadLocalAccessorEnabled (Z)V +} + +public class io/sentry/spring/boot4/SentryWebfluxAutoConfiguration { + public fun ()V + public fun sentryWebExceptionHandler (Lio/sentry/IScopes;)Lio/sentry/spring7/webflux/SentryWebExceptionHandler; +} + +public class io/sentry/spring/boot4/graphql/SentryGraphql22AutoConfiguration { + public fun ()V + public fun exceptionResolverAdapter ()Lio/sentry/spring7/graphql/SentryDataFetcherExceptionResolverAdapter; + public static fun graphqlBeanPostProcessor ()Lio/sentry/spring7/graphql/SentryGraphqlBeanPostProcessor; + public fun sentryInstrumentationWebMvc (Lio/sentry/spring/boot4/SentryProperties;Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql22/SentryInstrumentation; + public fun sentryInstrumentationWebflux (Lio/sentry/spring/boot4/SentryProperties;Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql22/SentryInstrumentation; +} + +public class io/sentry/spring/boot4/graphql/SentryGraphqlAutoConfiguration { + public fun ()V + public fun exceptionResolverAdapter ()Lio/sentry/spring7/graphql/SentryDataFetcherExceptionResolverAdapter; + public static fun graphqlBeanPostProcessor ()Lio/sentry/spring7/graphql/SentryGraphqlBeanPostProcessor; + public fun sentryInstrumentationWebMvc (Lio/sentry/spring/boot4/SentryProperties;Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql/SentryInstrumentation; + public fun sentryInstrumentationWebflux (Lio/sentry/spring/boot4/SentryProperties;Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql/SentryInstrumentation; +} + diff --git a/sentry-spring-boot-4/api/sentry-spring-boot-jakarta.api b/sentry-spring-boot-4/api/sentry-spring-boot-jakarta.api deleted file mode 100644 index b0ef970d7d3..00000000000 --- a/sentry-spring-boot-4/api/sentry-spring-boot-jakarta.api +++ /dev/null @@ -1,93 +0,0 @@ -public final class io/sentry/spring/boot/jakarta/BuildConfig { - public static final field SENTRY_SPRING_BOOT_JAKARTA_SDK_NAME Ljava/lang/String; - public static final field VERSION_NAME Ljava/lang/String; -} - -public class io/sentry/spring/boot/jakarta/InAppIncludesResolver : org/springframework/context/ApplicationContextAware { - public fun ()V - public fun resolveInAppIncludes ()Ljava/util/List; - public fun setApplicationContext (Lorg/springframework/context/ApplicationContext;)V -} - -public class io/sentry/spring/boot/jakarta/SentryAutoConfiguration { - public fun ()V -} - -public class io/sentry/spring/boot/jakarta/SentryLogbackAppenderAutoConfiguration { - public fun ()V - public fun sentryLogbackInitializer (Lio/sentry/spring/boot/jakarta/SentryProperties;)Lio/sentry/spring/boot/jakarta/SentryLogbackInitializer; -} - -public class io/sentry/spring/boot/jakarta/SentryLogbackInitializer : org/springframework/context/event/GenericApplicationListener { - public fun (Lio/sentry/spring/boot/jakarta/SentryProperties;)V - public fun onApplicationEvent (Lorg/springframework/context/ApplicationEvent;)V - public fun supportsEventType (Lorg/springframework/core/ResolvableType;)Z -} - -public class io/sentry/spring/boot/jakarta/SentryProperties : io/sentry/SentryOptions { - public fun ()V - public fun getExceptionResolverOrder ()I - public fun getGraphql ()Lio/sentry/spring/boot/jakarta/SentryProperties$Graphql; - public fun getLogging ()Lio/sentry/spring/boot/jakarta/SentryProperties$Logging; - public fun getReactive ()Lio/sentry/spring/boot/jakarta/SentryProperties$Reactive; - public fun getUserFilterOrder ()Ljava/lang/Integer; - public fun isEnableAotCompatibility ()Z - public fun isKeepTransactionsOpenForAsyncResponses ()Z - public fun isUseGitCommitIdAsRelease ()Z - public fun setEnableAotCompatibility (Z)V - public fun setExceptionResolverOrder (I)V - public fun setGraphql (Lio/sentry/spring/boot/jakarta/SentryProperties$Graphql;)V - public fun setKeepTransactionsOpenForAsyncResponses (Z)V - public fun setLogging (Lio/sentry/spring/boot/jakarta/SentryProperties$Logging;)V - public fun setReactive (Lio/sentry/spring/boot/jakarta/SentryProperties$Reactive;)V - public fun setUseGitCommitIdAsRelease (Z)V - public fun setUserFilterOrder (Ljava/lang/Integer;)V -} - -public class io/sentry/spring/boot/jakarta/SentryProperties$Graphql { - public fun ()V - public fun getIgnoredErrorTypes ()Ljava/util/List; - public fun setIgnoredErrorTypes (Ljava/util/List;)V -} - -public class io/sentry/spring/boot/jakarta/SentryProperties$Logging { - public fun ()V - public fun getLoggers ()Ljava/util/List; - public fun getMinimumBreadcrumbLevel ()Lorg/slf4j/event/Level; - public fun getMinimumEventLevel ()Lorg/slf4j/event/Level; - public fun getMinimumLevel ()Lorg/slf4j/event/Level; - public fun isEnabled ()Z - public fun setEnabled (Z)V - public fun setLoggers (Ljava/util/List;)V - public fun setMinimumBreadcrumbLevel (Lorg/slf4j/event/Level;)V - public fun setMinimumEventLevel (Lorg/slf4j/event/Level;)V - public fun setMinimumLevel (Lorg/slf4j/event/Level;)V -} - -public class io/sentry/spring/boot/jakarta/SentryProperties$Reactive { - public fun ()V - public fun isThreadLocalAccessorEnabled ()Z - public fun setThreadLocalAccessorEnabled (Z)V -} - -public class io/sentry/spring/boot/jakarta/SentryWebfluxAutoConfiguration { - public fun ()V - public fun sentryWebExceptionHandler (Lio/sentry/IScopes;)Lio/sentry/spring/jakarta/webflux/SentryWebExceptionHandler; -} - -public class io/sentry/spring/boot/jakarta/graphql/SentryGraphql22AutoConfiguration { - public fun ()V - public fun exceptionResolverAdapter ()Lio/sentry/spring/jakarta/graphql/SentryDataFetcherExceptionResolverAdapter; - public static fun graphqlBeanPostProcessor ()Lio/sentry/spring/jakarta/graphql/SentryGraphqlBeanPostProcessor; - public fun sentryInstrumentationWebMvc (Lio/sentry/spring/boot/jakarta/SentryProperties;Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql22/SentryInstrumentation; - public fun sentryInstrumentationWebflux (Lio/sentry/spring/boot/jakarta/SentryProperties;Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql22/SentryInstrumentation; -} - -public class io/sentry/spring/boot/jakarta/graphql/SentryGraphqlAutoConfiguration { - public fun ()V - public fun exceptionResolverAdapter ()Lio/sentry/spring/jakarta/graphql/SentryDataFetcherExceptionResolverAdapter; - public static fun graphqlBeanPostProcessor ()Lio/sentry/spring/jakarta/graphql/SentryGraphqlBeanPostProcessor; - public fun sentryInstrumentationWebMvc (Lio/sentry/spring/boot/jakarta/SentryProperties;Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql/SentryInstrumentation; - public fun sentryInstrumentationWebflux (Lio/sentry/spring/boot/jakarta/SentryProperties;Lorg/springframework/beans/factory/ObjectProvider;)Lio/sentry/graphql/SentryInstrumentation; -} - diff --git a/sentry-spring-boot-4/build.gradle.kts b/sentry-spring-boot-4/build.gradle.kts index fc1c8d031b1..f459fc40ad6 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 { @@ -45,6 +50,8 @@ dependencies { compileOnly(libs.springboot4.starter.graphql) compileOnly(libs.springboot4.starter.quartz) compileOnly(libs.springboot4.starter.security) + compileOnly(libs.springboot4.starter.restclient) + compileOnly(libs.springboot4.starter.webclient) compileOnly(projects.sentryOpentelemetry.sentryOpentelemetryCore) compileOnly(projects.sentryOpentelemetry.sentryOpentelemetryAgentcustomization) api(projects.sentryReactor) @@ -70,6 +77,7 @@ dependencies { testImplementation(projects.sentryReactor) testImplementation(projects.sentryTestSupport) testImplementation(kotlin(Config.kotlinStdLib)) + testImplementation(Config.Libs.kotlinReflect) testImplementation(platform(SpringBootPlugin.BOM_COORDINATES)) testImplementation(libs.context.propagation) testImplementation(libs.kotlin.test.junit) @@ -78,7 +86,12 @@ dependencies { testImplementation(libs.okhttp.mockwebserver) testImplementation(libs.otel) testImplementation(libs.otel.extension.autoconfigure.spi) - testImplementation(libs.springboot4.otel) + /** + * Adding a version of opentelemetry-spring-boot-starter that doesn't support Spring Boot 4 causes + * java.lang.IllegalArgumentException: Could not find class [org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration] + * https://github.com/open-telemetry/opentelemetry-java-instrumentation/issues/14363 + */ + // testImplementation(libs.springboot4.otel) testImplementation(libs.springboot4.starter) testImplementation(libs.springboot4.starter.aop) testImplementation(libs.springboot4.starter.graphql) @@ -87,6 +100,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") } } @@ -141,3 +156,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/main/java/io/sentry/spring/boot/jakarta/InAppIncludesResolver.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/InAppIncludesResolver.java similarity index 97% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/InAppIncludesResolver.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/InAppIncludesResolver.java index 2534ad14d19..ec65a149198 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/InAppIncludesResolver.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/InAppIncludesResolver.java @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta; +package io.sentry.spring.boot4; import com.jakewharton.nopen.annotation.Open; import java.util.Collections; diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryAutoConfiguration.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryAutoConfiguration.java similarity index 87% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryAutoConfiguration.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryAutoConfiguration.java index fcaaa5f2645..6d14a9526df 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryAutoConfiguration.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryAutoConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta; +package io.sentry.spring.boot4; import com.jakewharton.nopen.annotation.Open; import graphql.GraphQLError; @@ -14,32 +14,32 @@ import io.sentry.SentryOptions; import io.sentry.protocol.SdkVersion; import io.sentry.quartz.SentryJobListener; -import io.sentry.spring.boot.jakarta.graphql.SentryGraphql22AutoConfiguration; -import io.sentry.spring.boot.jakarta.graphql.SentryGraphqlAutoConfiguration; -import io.sentry.spring.jakarta.ContextTagsEventProcessor; -import io.sentry.spring.jakarta.SentryExceptionResolver; -import io.sentry.spring.jakarta.SentryRequestResolver; -import io.sentry.spring.jakarta.SentrySpringFilter; -import io.sentry.spring.jakarta.SentryUserFilter; -import io.sentry.spring.jakarta.SentryUserProvider; -import io.sentry.spring.jakarta.SentryWebConfiguration; -import io.sentry.spring.jakarta.SpringProfilesEventProcessor; -import io.sentry.spring.jakarta.SpringSecuritySentryUserProvider; -import io.sentry.spring.jakarta.checkin.SentryCheckInAdviceConfiguration; -import io.sentry.spring.jakarta.checkin.SentryCheckInPointcutConfiguration; -import io.sentry.spring.jakarta.checkin.SentryQuartzConfiguration; -import io.sentry.spring.jakarta.exception.SentryCaptureExceptionParameterPointcutConfiguration; -import io.sentry.spring.jakarta.exception.SentryExceptionParameterAdviceConfiguration; -import io.sentry.spring.jakarta.opentelemetry.SentryOpenTelemetryAgentWithoutAutoInitConfiguration; -import io.sentry.spring.jakarta.opentelemetry.SentryOpenTelemetryNoAgentConfiguration; -import io.sentry.spring.jakarta.tracing.CombinedTransactionNameProvider; -import io.sentry.spring.jakarta.tracing.SentryAdviceConfiguration; -import io.sentry.spring.jakarta.tracing.SentrySpanPointcutConfiguration; -import io.sentry.spring.jakarta.tracing.SentryTracingFilter; -import io.sentry.spring.jakarta.tracing.SentryTransactionPointcutConfiguration; -import io.sentry.spring.jakarta.tracing.SpringMvcTransactionNameProvider; -import io.sentry.spring.jakarta.tracing.SpringServletTransactionNameProvider; -import io.sentry.spring.jakarta.tracing.TransactionNameProvider; +import io.sentry.spring.boot4.graphql.SentryGraphql22AutoConfiguration; +import io.sentry.spring.boot4.graphql.SentryGraphqlAutoConfiguration; +import io.sentry.spring7.ContextTagsEventProcessor; +import io.sentry.spring7.SentryExceptionResolver; +import io.sentry.spring7.SentryRequestResolver; +import io.sentry.spring7.SentrySpringFilter; +import io.sentry.spring7.SentryUserFilter; +import io.sentry.spring7.SentryUserProvider; +import io.sentry.spring7.SentryWebConfiguration; +import io.sentry.spring7.SpringProfilesEventProcessor; +import io.sentry.spring7.SpringSecuritySentryUserProvider; +import io.sentry.spring7.checkin.SentryCheckInAdviceConfiguration; +import io.sentry.spring7.checkin.SentryCheckInPointcutConfiguration; +import io.sentry.spring7.checkin.SentryQuartzConfiguration; +import io.sentry.spring7.exception.SentryCaptureExceptionParameterPointcutConfiguration; +import io.sentry.spring7.exception.SentryExceptionParameterAdviceConfiguration; +import io.sentry.spring7.opentelemetry.SentryOpenTelemetryAgentWithoutAutoInitConfiguration; +import io.sentry.spring7.opentelemetry.SentryOpenTelemetryNoAgentConfiguration; +import io.sentry.spring7.tracing.CombinedTransactionNameProvider; +import io.sentry.spring7.tracing.SentryAdviceConfiguration; +import io.sentry.spring7.tracing.SentrySpanPointcutConfiguration; +import io.sentry.spring7.tracing.SentryTracingFilter; +import io.sentry.spring7.tracing.SentryTransactionPointcutConfiguration; +import io.sentry.spring7.tracing.SpringMvcTransactionNameProvider; +import io.sentry.spring7.tracing.SpringServletTransactionNameProvider; +import io.sentry.spring7.tracing.TransactionNameProvider; import io.sentry.transport.ITransportGate; import io.sentry.transport.apache.ApacheHttpClientTransportFactory; import jakarta.servlet.http.HttpServletRequest; @@ -59,12 +59,12 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; -import org.springframework.boot.autoconfigure.web.client.RestClientAutoConfiguration; -import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration; -import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.info.GitProperties; +import org.springframework.boot.restclient.autoconfigure.RestClientAutoConfiguration; +import org.springframework.boot.restclient.autoconfigure.RestTemplateAutoConfiguration; import org.springframework.boot.web.servlet.FilterRegistrationBean; +import org.springframework.boot.webclient.autoconfigure.WebClientAutoConfiguration; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; @@ -87,7 +87,7 @@ public class SentryAutoConfiguration { static { SentryIntegrationPackageStorage.getInstance() - .addPackage("maven:io.sentry:sentry-spring-boot-starter-jakarta", BuildConfig.VERSION_NAME); + .addPackage("maven:io.sentry:sentry-spring-boot-4-starter", BuildConfig.VERSION_NAME); } /** Registers general purpose Sentry related beans. */ @@ -167,7 +167,7 @@ static class OpenTelemetryNoAgentConfiguration {} spanFactory.ifAvailable(options::setSpanFactory); options.setSentryClientName( - BuildConfig.SENTRY_SPRING_BOOT_JAKARTA_SDK_NAME + "/" + BuildConfig.VERSION_NAME); + BuildConfig.SENTRY_SPRING_BOOT_4_SDK_NAME + "/" + BuildConfig.VERSION_NAME); options.setSdkVersion(createSdkVersion(options)); options.setInitPriority(InitPriority.LOW); addPackageAndIntegrationInfo(); @@ -424,13 +424,17 @@ public SentrySpanRestTemplateCustomizer sentrySpanRestTemplateCustomizer(IScopes } @Configuration(proxyBeanMethods = false) - @AutoConfigureBefore(RestClientAutoConfiguration.class) - @ConditionalOnClass(RestClient.class) + @ConditionalOnClass({RestClient.class}) @Open - static class SentrySpanRestClientConfiguration { - @Bean - public SentrySpanRestClientCustomizer sentrySpanRestClientCustomizer(IScopes scopes) { - return new SentrySpanRestClientCustomizer(scopes); + static class SentrySpanRestClientConfigurationWrapper { + @Configuration(proxyBeanMethods = false) + @AutoConfigureBefore(RestClientAutoConfiguration.class) + @Open + static class SentrySpanRestClientConfiguration { + @Bean + public SentrySpanRestClientCustomizer sentrySpanRestClientCustomizer(IScopes scopes) { + return new SentrySpanRestClientCustomizer(scopes); + } } } @@ -461,7 +465,7 @@ static class ApacheHttpClientTransportFactoryAutoconfiguration { final @NotNull SentryOptions sentryOptions) { SdkVersion sdkVersion = sentryOptions.getSdkVersion(); - final String name = BuildConfig.SENTRY_SPRING_BOOT_JAKARTA_SDK_NAME; + final String name = BuildConfig.SENTRY_SPRING_BOOT_4_SDK_NAME; final String version = BuildConfig.VERSION_NAME; sdkVersion = SdkVersion.updateSdkVersion(sdkVersion, name, version); @@ -469,7 +473,7 @@ static class ApacheHttpClientTransportFactoryAutoconfiguration { } private static void addPackageAndIntegrationInfo() { - SentryIntegrationPackageStorage.getInstance().addIntegration("SpringBoot3"); + SentryIntegrationPackageStorage.getInstance().addIntegration("SpringBoot4"); } } diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryLogbackAppenderAutoConfiguration.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryLogbackAppenderAutoConfiguration.java similarity index 96% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryLogbackAppenderAutoConfiguration.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryLogbackAppenderAutoConfiguration.java index 13866d3a6a5..55398d679b5 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryLogbackAppenderAutoConfiguration.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryLogbackAppenderAutoConfiguration.java @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta; +package io.sentry.spring.boot4; import ch.qos.logback.classic.LoggerContext; import com.jakewharton.nopen.annotation.Open; diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryLogbackInitializer.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryLogbackInitializer.java similarity index 98% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryLogbackInitializer.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryLogbackInitializer.java index be222eae1bf..58de0bc4b26 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryLogbackInitializer.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryLogbackInitializer.java @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta; +package io.sentry.spring.boot4; import ch.qos.logback.classic.Level; import ch.qos.logback.classic.Logger; diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryProperties.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryProperties.java similarity index 97% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryProperties.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryProperties.java index 7813c2e5512..edb8d44cdd3 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryProperties.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryProperties.java @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta; +package io.sentry.spring.boot4; import com.jakewharton.nopen.annotation.Open; import io.sentry.SentryOptions; @@ -39,8 +39,8 @@ public class SentryProperties extends SentryOptions { /** * If set to true, this flag disables all AOP related features (e.g. {@link - * io.sentry.spring.jakarta.tracing.SentryTransaction}, {@link - * io.sentry.spring.jakarta.tracing.SentrySpan}) to successfully compile to GraalVM + * io.sentry.spring7.tracing.SentryTransaction}, {@link io.sentry.spring7.tracing.SentrySpan}) to + * successfully compile to GraalVM */ private boolean enableAotCompatibility = false; diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpanRestClientCustomizer.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpanRestClientCustomizer.java similarity index 84% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpanRestClientCustomizer.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpanRestClientCustomizer.java index 304fb6911e9..4611a3be51a 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpanRestClientCustomizer.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpanRestClientCustomizer.java @@ -1,10 +1,10 @@ -package io.sentry.spring.boot.jakarta; +package io.sentry.spring.boot4; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScopes; -import io.sentry.spring.jakarta.tracing.SentrySpanClientHttpRequestInterceptor; +import io.sentry.spring7.tracing.SentrySpanClientHttpRequestInterceptor; import org.jetbrains.annotations.NotNull; -import org.springframework.boot.web.client.RestClientCustomizer; +import org.springframework.boot.restclient.RestClientCustomizer; import org.springframework.web.client.RestClient; @Open diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpanRestTemplateCustomizer.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpanRestTemplateCustomizer.java similarity index 85% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpanRestTemplateCustomizer.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpanRestTemplateCustomizer.java index 4a0faa9875e..11a0b5e095a 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpanRestTemplateCustomizer.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpanRestTemplateCustomizer.java @@ -1,12 +1,12 @@ -package io.sentry.spring.boot.jakarta; +package io.sentry.spring.boot4; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScopes; -import io.sentry.spring.jakarta.tracing.SentrySpanClientHttpRequestInterceptor; +import io.sentry.spring7.tracing.SentrySpanClientHttpRequestInterceptor; import java.util.ArrayList; import java.util.List; import org.jetbrains.annotations.NotNull; -import org.springframework.boot.web.client.RestTemplateCustomizer; +import org.springframework.boot.restclient.RestTemplateCustomizer; import org.springframework.http.client.ClientHttpRequestInterceptor; import org.springframework.web.client.RestTemplate; diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpanWebClientCustomizer.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpanWebClientCustomizer.java similarity index 75% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpanWebClientCustomizer.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpanWebClientCustomizer.java index d349ac4c6e0..8180d5522bb 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpanWebClientCustomizer.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpanWebClientCustomizer.java @@ -1,10 +1,10 @@ -package io.sentry.spring.boot.jakarta; +package io.sentry.spring.boot4; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScopes; -import io.sentry.spring.jakarta.tracing.SentrySpanClientWebRequestFilter; +import io.sentry.spring7.tracing.SentrySpanClientWebRequestFilter; import org.jetbrains.annotations.NotNull; -import org.springframework.boot.web.reactive.function.client.WebClientCustomizer; +import org.springframework.boot.webclient.WebClientCustomizer; import org.springframework.web.reactive.function.client.WebClient; @Open diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpringVersionChecker.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpringVersionChecker.java similarity index 97% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpringVersionChecker.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpringVersionChecker.java index 7fb6d1ce237..710e46ed7ad 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentrySpringVersionChecker.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentrySpringVersionChecker.java @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta; +package io.sentry.spring.boot4; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryWebfluxAutoConfiguration.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryWebfluxAutoConfiguration.java similarity index 93% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryWebfluxAutoConfiguration.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryWebfluxAutoConfiguration.java index 468f4b81071..aead2605218 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/SentryWebfluxAutoConfiguration.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/SentryWebfluxAutoConfiguration.java @@ -1,12 +1,12 @@ -package io.sentry.spring.boot.jakarta; +package io.sentry.spring.boot4; import com.jakewharton.nopen.annotation.Open; import io.sentry.IScope; import io.sentry.IScopes; -import io.sentry.spring.jakarta.webflux.SentryScheduleHook; -import io.sentry.spring.jakarta.webflux.SentryWebExceptionHandler; -import io.sentry.spring.jakarta.webflux.SentryWebFilter; -import io.sentry.spring.jakarta.webflux.SentryWebFilterWithThreadLocalAccessor; +import io.sentry.spring7.webflux.SentryScheduleHook; +import io.sentry.spring7.webflux.SentryWebExceptionHandler; +import io.sentry.spring7.webflux.SentryWebFilter; +import io.sentry.spring7.webflux.SentryWebFilterWithThreadLocalAccessor; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.springframework.boot.ApplicationRunner; diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/graphql/SentryGraphql22AutoConfiguration.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/graphql/SentryGraphql22AutoConfiguration.java similarity index 90% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/graphql/SentryGraphql22AutoConfiguration.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/graphql/SentryGraphql22AutoConfiguration.java index 4e5664556fa..90f1ccf9c61 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/graphql/SentryGraphql22AutoConfiguration.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/graphql/SentryGraphql22AutoConfiguration.java @@ -1,13 +1,13 @@ -package io.sentry.spring.boot.jakarta.graphql; +package io.sentry.spring.boot4.graphql; import com.jakewharton.nopen.annotation.Open; import io.sentry.SentryIntegrationPackageStorage; import io.sentry.graphql.SentryGraphqlInstrumentation; import io.sentry.graphql22.SentryInstrumentation; -import io.sentry.spring.boot.jakarta.SentryProperties; -import io.sentry.spring.jakarta.graphql.SentryDataFetcherExceptionResolverAdapter; -import io.sentry.spring.jakarta.graphql.SentryGraphqlBeanPostProcessor; -import io.sentry.spring.jakarta.graphql.SentrySpringSubscriptionHandler; +import io.sentry.spring.boot4.SentryProperties; +import io.sentry.spring7.graphql.SentryDataFetcherExceptionResolverAdapter; +import io.sentry.spring7.graphql.SentryGraphqlBeanPostProcessor; +import io.sentry.spring7.graphql.SentrySpringSubscriptionHandler; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; diff --git a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/graphql/SentryGraphqlAutoConfiguration.java b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/graphql/SentryGraphqlAutoConfiguration.java similarity index 89% rename from sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/graphql/SentryGraphqlAutoConfiguration.java rename to sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/graphql/SentryGraphqlAutoConfiguration.java index 84f59a39f35..0071620bb22 100644 --- a/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot/jakarta/graphql/SentryGraphqlAutoConfiguration.java +++ b/sentry-spring-boot-4/src/main/java/io/sentry/spring/boot4/graphql/SentryGraphqlAutoConfiguration.java @@ -1,13 +1,13 @@ -package io.sentry.spring.boot.jakarta.graphql; +package io.sentry.spring.boot4.graphql; import com.jakewharton.nopen.annotation.Open; import io.sentry.SentryIntegrationPackageStorage; import io.sentry.graphql.SentryGraphqlInstrumentation; import io.sentry.graphql.SentryInstrumentation; -import io.sentry.spring.boot.jakarta.SentryProperties; -import io.sentry.spring.jakarta.graphql.SentryDataFetcherExceptionResolverAdapter; -import io.sentry.spring.jakarta.graphql.SentryGraphqlBeanPostProcessor; -import io.sentry.spring.jakarta.graphql.SentrySpringSubscriptionHandler; +import io.sentry.spring.boot4.SentryProperties; +import io.sentry.spring7.graphql.SentryDataFetcherExceptionResolverAdapter; +import io.sentry.spring7.graphql.SentryGraphqlBeanPostProcessor; +import io.sentry.spring7.graphql.SentrySpringSubscriptionHandler; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; diff --git a/sentry-spring-boot-4/src/main/resources/META-INF/spring.factories b/sentry-spring-boot-4/src/main/resources/META-INF/spring.factories index 4002cb6ed56..a1a27108bfc 100644 --- a/sentry-spring-boot-4/src/main/resources/META-INF/spring.factories +++ b/sentry-spring-boot-4/src/main/resources/META-INF/spring.factories @@ -1 +1 @@ -org.springframework.context.ApplicationListener=io.sentry.spring.boot.jakarta.SentrySpringVersionChecker +org.springframework.context.ApplicationListener=io.sentry.spring.boot4.SentrySpringVersionChecker diff --git a/sentry-spring-boot-4/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/sentry-spring-boot-4/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 41436fe883f..4697c6b6a9d 100644 --- a/sentry-spring-boot-4/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/sentry-spring-boot-4/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,3 +1,3 @@ -io.sentry.spring.boot.jakarta.SentryAutoConfiguration -io.sentry.spring.boot.jakarta.SentryLogbackAppenderAutoConfiguration -io.sentry.spring.boot.jakarta.SentryWebfluxAutoConfiguration +io.sentry.spring.boot4.SentryAutoConfiguration +io.sentry.spring.boot4.SentryLogbackAppenderAutoConfiguration +io.sentry.spring.boot4.SentryWebfluxAutoConfiguration 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/boot4/SentryAutoConfigurationTest.kt similarity index 98% rename from sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryAutoConfigurationTest.kt rename to sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentryAutoConfigurationTest.kt index 7b290a42880..75436461a40 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/boot4/SentryAutoConfigurationTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta +package io.sentry.spring.boot4 import com.acme.MainBootClass import io.opentelemetry.api.OpenTelemetry @@ -24,16 +24,16 @@ 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.jakarta.ContextTagsEventProcessor -import io.sentry.spring.jakarta.HttpServletRequestSentryUserProvider -import io.sentry.spring.jakarta.SentryExceptionResolver -import io.sentry.spring.jakarta.SentryUserFilter -import io.sentry.spring.jakarta.SentryUserProvider -import io.sentry.spring.jakarta.SpringProfilesEventProcessor -import io.sentry.spring.jakarta.SpringSecuritySentryUserProvider -import io.sentry.spring.jakarta.tracing.SentryTracingFilter -import io.sentry.spring.jakarta.tracing.SpringServletTransactionNameProvider -import io.sentry.spring.jakarta.tracing.TransactionNameProvider +import io.sentry.spring7.ContextTagsEventProcessor +import io.sentry.spring7.HttpServletRequestSentryUserProvider +import io.sentry.spring7.SentryExceptionResolver +import io.sentry.spring7.SentryUserFilter +import io.sentry.spring7.SentryUserProvider +import io.sentry.spring7.SpringProfilesEventProcessor +import io.sentry.spring7.SpringSecuritySentryUserProvider +import io.sentry.spring7.tracing.SentryTracingFilter +import io.sentry.spring7.tracing.SpringServletTransactionNameProvider +import io.sentry.spring7.tracing.TransactionNameProvider import io.sentry.transport.ITransport import io.sentry.transport.ITransportGate import io.sentry.transport.apache.ApacheHttpClientTransportFactory @@ -58,15 +58,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 @@ -299,7 +299,7 @@ class SentryAutoConfigurationTest { fun `sets sentryClientName property on SentryOptions`() { contextRunner.withPropertyValues("sentry.dsn=http://key@localhost/proj").run { assertThat(it.getBean(SentryOptions::class.java).sentryClientName) - .isEqualTo("sentry.java.spring-boot.jakarta/${BuildConfig.VERSION_NAME}") + .isEqualTo("sentry.java.spring-boot-4/${BuildConfig.VERSION_NAME}") } } @@ -317,12 +317,12 @@ 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.name == "maven:io.sentry:sentry-spring-boot-4-starter" && pkg.version == BuildConfig.VERSION_NAME } - assertTrue(sdk.integrationSet.contains("SpringBoot3")) + assertTrue(sdk.integrationSet.contains("SpringBoot4")) }, anyOrNull(), ) diff --git a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryLogbackAppenderAutoConfigurationTest.kt b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentryLogbackAppenderAutoConfigurationTest.kt similarity index 99% rename from sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryLogbackAppenderAutoConfigurationTest.kt rename to sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentryLogbackAppenderAutoConfigurationTest.kt index 77712ac70c6..17e903d9a34 100644 --- a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryLogbackAppenderAutoConfigurationTest.kt +++ b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentryLogbackAppenderAutoConfigurationTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta +package io.sentry.spring.boot4 import ch.qos.logback.classic.Level import ch.qos.logback.classic.Logger diff --git a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanRestClientCustomizerTest.kt b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentrySpanRestClientCustomizerTest.kt similarity index 99% rename from sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanRestClientCustomizerTest.kt rename to sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentrySpanRestClientCustomizerTest.kt index a0ce38e7c3d..fb803a3100f 100644 --- a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanRestClientCustomizerTest.kt +++ b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentrySpanRestClientCustomizerTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta +package io.sentry.spring.boot4 import io.sentry.BaggageHeader import io.sentry.Breadcrumb @@ -276,7 +276,7 @@ class SentrySpanRestClientCustomizerTest { @Test fun `does not add sentry-trace header if span origin is ignored`() { - fixture.sentryOptions.setIgnoredSpanOrigins(listOf("auto.http.spring_jakarta.restclient")) + fixture.sentryOptions.setIgnoredSpanOrigins(listOf("auto.http.spring7.restclient")) val sut = fixture.getSut(isTransactionActive = false) val headers = HttpHeaders() 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/boot4/SentrySpanRestTemplateCustomizerTest.kt similarity index 98% rename from sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanRestTemplateCustomizerTest.kt rename to sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentrySpanRestTemplateCustomizerTest.kt index f7a7f55c5db..c6bd6d2ccaf 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/boot4/SentrySpanRestTemplateCustomizerTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta +package io.sentry.spring.boot4 import io.sentry.BaggageHeader import io.sentry.Breadcrumb @@ -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 @@ -234,7 +234,7 @@ class SentrySpanRestTemplateCustomizerTest { @Test fun `does not add sentry-trace header when span origin is ignored`() { - fixture.sentryOptions.setIgnoredSpanOrigins(listOf("auto.http.spring_jakarta.resttemplate")) + fixture.sentryOptions.setIgnoredSpanOrigins(listOf("auto.http.spring7.resttemplate")) val sut = fixture.getSut(isTransactionActive = false) val headers = HttpHeaders() val requestEntity = HttpEntity(headers) diff --git a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanWebClientCustomizerTest.kt b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentrySpanWebClientCustomizerTest.kt similarity index 99% rename from sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanWebClientCustomizerTest.kt rename to sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentrySpanWebClientCustomizerTest.kt index 83321f30e78..b593dd261dc 100644 --- a/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentrySpanWebClientCustomizerTest.kt +++ b/sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentrySpanWebClientCustomizerTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta +package io.sentry.spring.boot4 import io.sentry.BaggageHeader import io.sentry.Breadcrumb @@ -194,7 +194,7 @@ class SentrySpanWebClientCustomizerTest { val sut = fixture.getSut(isTransactionActive = false, includeMockServerInTracingOrigins = true) { options -> - options.setIgnoredSpanOrigins(listOf("auto.http.spring_jakarta.webclient")) + options.setIgnoredSpanOrigins(listOf("auto.http.spring7.webclient")) } sut .get() 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/boot4/SentryWebfluxAutoConfigurationTest.kt similarity index 90% rename from sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/SentryWebfluxAutoConfigurationTest.kt rename to sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/SentryWebfluxAutoConfigurationTest.kt index fd47317d1d2..fbb3aedf375 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/boot4/SentryWebfluxAutoConfigurationTest.kt @@ -1,15 +1,15 @@ -package io.sentry.spring.boot.jakarta +package io.sentry.spring.boot4 import io.micrometer.context.ThreadLocalAccessor -import io.sentry.spring.jakarta.webflux.SentryWebExceptionHandler -import io.sentry.spring.jakarta.webflux.SentryWebFilter -import io.sentry.spring.jakarta.webflux.SentryWebFilterWithThreadLocalAccessor +import io.sentry.spring7.webflux.SentryWebExceptionHandler +import io.sentry.spring7.webflux.SentryWebFilter +import io.sentry.spring7.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/boot4/it/SentrySpringIntegrationTest.kt similarity index 94% rename from sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot/jakarta/it/SentrySpringIntegrationTest.kt rename to sentry-spring-boot-4/src/test/kotlin/io/sentry/spring/boot4/it/SentrySpringIntegrationTest.kt index 89d378d2087..998dfaaf867 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/boot4/it/SentrySpringIntegrationTest.kt @@ -1,4 +1,4 @@ -package io.sentry.spring.boot.jakarta.it +package io.sentry.spring.boot4.it import io.sentry.DefaultSpanFactory import io.sentry.IScopes @@ -8,7 +8,7 @@ import io.sentry.SentryOpenTelemetryMode import io.sentry.SentryOptions import io.sentry.checkEvent import io.sentry.checkTransaction -import io.sentry.spring.jakarta.tracing.SentrySpan +import io.sentry.spring7.tracing.SentrySpan import io.sentry.transport.ITransport import kotlin.test.BeforeTest import kotlin.test.Test @@ -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 {