diff --git a/build-logic/src/main/kotlin/io/sentry/gradle/JdkTargetConvention.kt b/build-logic/src/main/kotlin/io/sentry/gradle/JdkTargetConvention.kt index ca2999f878a..d8d743952b8 100644 --- a/build-logic/src/main/kotlin/io/sentry/gradle/JdkTargetConvention.kt +++ b/build-logic/src/main/kotlin/io/sentry/gradle/JdkTargetConvention.kt @@ -33,9 +33,23 @@ private val PUBLISHED_JAVA_VERSION = JavaVersion.VERSION_1_8 * archives are checked for it * - published Android modules main code targets Java 1.8 * - minSdk is set for Android libraries + * - javac warnings fail the build */ class JdkTargetConvention : Plugin { override fun apply(project: Project) { + project.tasks.withType(JavaCompile::class.java).configureEach { + options.compilerArgs.addAll( + listOf( + "-Xlint:all", + "-Werror", + "-Xlint:-classfile", + "-Xlint:-processing", + "-Xlint:-try", + "-Xlint:-options", + ) + ) + } + project.plugins.withType(JavaBasePlugin::class.java) { project.extensions.getByType(JavaPluginExtension::class.java).toolchain { languageVersion.set(BUILD_JDK) diff --git a/buildSrc/src/main/java/MergeSpringMetadataAction.kt b/build-logic/src/main/kotlin/io/sentry/gradle/MergeSpringMetadataAction.kt similarity index 99% rename from buildSrc/src/main/java/MergeSpringMetadataAction.kt rename to build-logic/src/main/kotlin/io/sentry/gradle/MergeSpringMetadataAction.kt index 2df744924cb..ac73e21f588 100644 --- a/buildSrc/src/main/java/MergeSpringMetadataAction.kt +++ b/build-logic/src/main/kotlin/io/sentry/gradle/MergeSpringMetadataAction.kt @@ -1,3 +1,5 @@ +package io.sentry.gradle + import java.net.URI import java.nio.file.FileSystems import java.nio.file.Files diff --git a/build.gradle.kts b/build.gradle.kts index 3ed35d2da82..41895680476 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -27,6 +27,7 @@ plugins { alias(libs.plugins.spring.dependency.management) apply false id("io.sentry.javadoc.aggregate") alias(libs.plugins.sentry) apply false + alias(libs.plugins.android.application) apply false } buildscript { @@ -34,8 +35,6 @@ buildscript { google() } dependencies { - classpath(Config.BuildPlugins.androidGradle) - // add classpath of sentry android gradle plugin // classpath("io.sentry:sentry-android-gradle-plugin:{version}") @@ -102,9 +101,6 @@ allprojects { TestLogEvent.FAILED ) } - withType().configureEach { - options.compilerArgs.addAll(arrayOf("-Xlint:all", "-Werror", "-Xlint:-classfile", "-Xlint:-processing", "-Xlint:-try", "-Xlint:-options")) - } } } diff --git a/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt index 05786658ef3..774604fc038 100644 --- a/buildSrc/src/main/java/Config.kt +++ b/buildSrc/src/main/java/Config.kt @@ -1,14 +1,9 @@ object Config { - val AGP = System.getenv("VERSION_AGP") ?: "9.4.0" val kotlinStdLib = "stdlib-jdk8" val kotlinStdLibVersionAndroid = "1.9.24" val kotlinTestJunit = "test-junit" - object BuildPlugins { - val androidGradle = "com.android.tools.build:gradle:$AGP" - } - object Android { val abiFilters = listOf("x86", "armeabi-v7a", "x86_64", "arm64-v8a") diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 7cbe8e626c8..977aac190d0 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -38,8 +38,7 @@ retrofit = "2.9.0" room2 = "2.8.4" room3 = "3.0.0-rc01" sagp = "6.13.0" -# Compile-time only, for the AGP types the build-logic convention plugins use. The AGP that -# actually runs the build comes from the root buildscript (Config.AGP, overridable via VERSION_AGP). +# The AGP matrix job overrides this with the VERSION_AGP env var, through each build's settings. agp = "9.4.0" sqlite = "2.6.2" sqliteRc = "2.7.0-rc01" # Required by Room3 3.0.0-rc* @@ -59,7 +58,8 @@ compileSdkMinor = "2" minSdk = "21" [plugins] -kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } +android-application = { id = "com.android.application", version.ref = "agp" } +kotlin-android ={ id = "org.jetbrains.kotlin.android", version.ref = "kotlin" } kotlin-spring = { id = "org.jetbrains.kotlin.plugin.spring", version.ref = "kotlin" } kotlin-jvm = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" } 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 e606ab52553..8a22b91890c 100644 --- a/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts @@ -1,4 +1,5 @@ import io.gitlab.arturbosch.detekt.Detekt +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion plugins { id("com.android.application") @@ -35,14 +36,12 @@ android { buildFeatures { compose = true } composeOptions { kotlinCompilerExtensionVersion = libs.versions.composeCompiler.get() } androidComponents.beforeVariants { - it.enable = !Config.Android.shouldSkipDebugVariant(it.buildType) + it.enable = it.buildType != "debug" } } dependencies { - implementation( - kotlin(Config.kotlinStdLib, org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION) - ) + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(libs.androidx.activity.compose) implementation(libs.androidx.compose.foundation) implementation(libs.androidx.compose.material3) diff --git a/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts index 8f479470cac..53cc88fec46 100644 --- a/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts +++ b/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts @@ -1,5 +1,6 @@ import io.gitlab.arturbosch.detekt.Detekt import net.ltgt.gradle.errorprone.errorprone +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion plugins { id("com.android.application") @@ -86,9 +87,7 @@ if (applySentryIntegrations) { } dependencies { - implementation( - kotlin(Config.kotlinStdLib, org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION) - ) + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) if (applySentryIntegrations) { implementation(projects.sentryAndroid) diff --git a/sentry-android-integration-tests/test-app-size/build.gradle.kts b/sentry-android-integration-tests/test-app-size/build.gradle.kts index 7bebbc6cfd0..6260c761d53 100644 --- a/sentry-android-integration-tests/test-app-size/build.gradle.kts +++ b/sentry-android-integration-tests/test-app-size/build.gradle.kts @@ -31,7 +31,7 @@ android { targetCompatibility = JavaVersion.VERSION_17 } androidComponents.beforeVariants { - it.enable = !Config.Android.shouldSkipDebugVariant(it.buildType) + it.enable = it.buildType != "debug" } } diff --git a/sentry-samples/sentry-samples-android/build.gradle.kts b/sentry-samples/sentry-samples-android/build.gradle.kts index a9d4ea8ac5f..28d8748faa9 100644 --- a/sentry-samples/sentry-samples-android/build.gradle.kts +++ b/sentry-samples/sentry-samples-android/build.gradle.kts @@ -5,6 +5,7 @@ import io.sentry.android.gradle.extensions.InstrumentationFeature import io.sentry.android.gradle.extensions.SentryPluginExtension import org.apache.tools.ant.taskdefs.condition.Os import org.gradle.internal.extensions.stdlib.capitalized +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion plugins { id("com.android.application") @@ -64,7 +65,7 @@ android { } } - ndk { abiFilters.addAll(Config.Android.abiFilters) } + ndk { abiFilters.addAll(listOf("x86", "armeabi-v7a", "x86_64", "arm64-v8a")) } } lint { @@ -172,9 +173,7 @@ sqldelight { } dependencies { - implementation( - kotlin(Config.kotlinStdLib, org.jetbrains.kotlin.config.KotlinCompilerVersion.VERSION) - ) + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentryAndroid) implementation(projects.sentryAndroidFragment) diff --git a/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts b/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts index 90bc1ffc86f..e7ddb9dad92 100644 --- a/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts +++ b/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts @@ -1,4 +1,5 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import io.sentry.gradle.MergeSpringMetadataAction +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -22,8 +23,8 @@ java.targetCompatibility = JavaVersion.VERSION_1_8 dependencies { implementation(platform(libs.springboot2.bom)) implementation(libs.springboot.starter.web) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBootStarter) implementation(projects.sentryGraphql) implementation(platform("com.netflix.graphql.dgs:graphql-dgs-platform-dependencies:4.9.2")) diff --git a/sentry-samples/sentry-samples-spring-7/build.gradle.kts b/sentry-samples/sentry-samples-spring-7/build.gradle.kts index 83017cba374..bea3cfec243 100644 --- a/sentry-samples/sentry-samples-spring-7/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-7/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.springframework.boot.gradle.plugin.SpringBootPlugin @@ -29,13 +29,13 @@ dependencyManagement { } dependencies { - implementation(Config.Libs.springWeb) - implementation(Config.Libs.springAop) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.springSecurityWeb) - implementation(Config.Libs.springSecurityConfig) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.springframework:spring-webmvc") + implementation("org.springframework:spring-aop") + implementation("org.aspectj:aspectjweaver") + implementation("org.springframework.security:spring-security-web") + implementation("org.springframework.security:spring-security-config") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpring7) implementation(projects.sentryLogback) implementation(projects.sentryAsyncProfiler) diff --git a/sentry-samples/sentry-samples-spring-boot-4-log4j2/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-log4j2/build.gradle.kts index 86ae3560d22..b268e0a8ac6 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-log4j2/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-log4j2/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -36,9 +36,9 @@ dependencies { 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)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBoot4Starter) implementation(projects.sentryGraphql22) implementation(projects.sentryQuartz) 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 b8f4cf762a4..d3951974a34 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 @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -36,9 +36,9 @@ dependencies { implementation(libs.springboot4.starter.websocket) implementation(libs.springboot4.starter.webclient) implementation(libs.springboot4.starter.restclient) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBoot4Starter) implementation(projects.sentryLogback) implementation(projects.sentryGraphql22) 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 8e9d87bbf24..f022badf942 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 @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.springframework.boot.gradle.tasks.run.BootRun @@ -37,9 +37,9 @@ dependencies { implementation(libs.springboot4.starter.websocket) implementation(libs.springboot4.starter.webclient) implementation(libs.springboot4.starter.restclient) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBoot4Starter) implementation(projects.sentryLogback) implementation(projects.sentryGraphql22) diff --git a/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts index bad23b8167a..c0b0949f7f0 100644 --- a/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4-otlp/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -36,9 +36,9 @@ dependencies { 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)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBoot4Starter) implementation(projects.sentryLogback) implementation(projects.sentryGraphql22) 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 6b1f3d91770..a4919fcbafa 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 @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -13,8 +13,8 @@ group = "io.sentry.sample.spring-boot-4-webflux" version = "0.0.1-SNAPSHOT" dependencies { - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBoot4Starter) implementation(projects.sentryLogback) implementation(projects.sentryJdbc) 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 7d83c62b2b9..f680328befd 100644 --- a/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -36,9 +36,9 @@ dependencies { 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)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBoot4Starter) implementation(projects.sentryLogback) implementation(projects.sentryGraphql22) diff --git a/sentry-samples/sentry-samples-spring-boot-jakarta-log4j2/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot-jakarta-log4j2/build.gradle.kts index 06314c2b28f..b195f560011 100644 --- a/sentry-samples/sentry-samples-spring-boot-jakarta-log4j2/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-jakarta-log4j2/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -38,9 +38,9 @@ dependencies { implementation(libs.springboot3.starter.web) implementation(libs.springboot3.starter.webflux) implementation(libs.springboot3.starter.websocket) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBootStarterJakarta) implementation(projects.sentryLog4j2) implementation("org.springframework.boot:spring-boot-starter-log4j2") 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 883c622d6ee..bbc6bebdcd9 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 @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -39,9 +39,9 @@ dependencies { implementation(libs.springboot3.starter.web) implementation(libs.springboot3.starter.webflux) implementation(libs.springboot3.starter.websocket) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBootStarterJakarta) implementation(projects.sentryLogback) implementation(projects.sentryGraphql22) 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 e6d7d9c31ba..1e41692fb2e 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 @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile import org.springframework.boot.gradle.tasks.run.BootRun @@ -39,9 +39,9 @@ dependencies { implementation(libs.springboot3.starter.web) implementation(libs.springboot3.starter.webflux) implementation(libs.springboot3.starter.websocket) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBootStarterJakarta) implementation(projects.sentryLogback) implementation(projects.sentryGraphql22) 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 e3591289cdb..d8ccb27dbf3 100644 --- a/sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -38,9 +38,9 @@ dependencies { implementation(libs.springboot3.starter.web) implementation(libs.springboot3.starter.webflux) implementation(libs.springboot3.starter.websocket) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBootStarterJakarta) implementation(projects.sentryLogback) implementation(projects.sentryGraphql22) 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 a5ccb8d3224..b1d76690274 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 @@ -1,4 +1,5 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import io.sentry.gradle.MergeSpringMetadataAction +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -58,9 +59,9 @@ dependencies { implementation(libs.springboot.starter.web) implementation(libs.springboot.starter.webflux) implementation(libs.springboot.starter.websocket) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBootStarter) implementation(projects.sentryLogback) if (includeGraphql) { 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 dbb4d66dea3..e520af4668f 100644 --- a/sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts @@ -1,4 +1,5 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import io.sentry.gradle.MergeSpringMetadataAction +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -57,9 +58,9 @@ dependencies { implementation(libs.springboot.starter.web) implementation(libs.springboot.starter.webflux) implementation(libs.springboot.starter.websocket) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBootStarter) implementation(projects.sentryLogback) if (includeGraphql) { 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 e9d4b2f6905..137c5e09407 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 @@ -1,4 +1,4 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -22,8 +22,8 @@ dependencyManagement { extra["kotlin-coroutines.version"] = "1.9.0" dependencies { - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBootStarterJakarta) implementation(projects.sentryLogback) implementation(projects.sentryJdbc) 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 0294f940e9c..ed8151a7bd5 100644 --- a/sentry-samples/sentry-samples-spring-boot-webflux/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot-webflux/build.gradle.kts @@ -1,4 +1,5 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import io.sentry.gradle.MergeSpringMetadataAction +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -42,8 +43,8 @@ dependencies { implementation(libs.springboot.starter.graphql) } implementation(libs.springboot.starter.webflux) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBootStarter) implementation(projects.sentryLogback) if (includeGraphql) { diff --git a/sentry-samples/sentry-samples-spring-boot/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot/build.gradle.kts index 15b90447529..b052596ea5a 100644 --- a/sentry-samples/sentry-samples-spring-boot/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-boot/build.gradle.kts @@ -1,4 +1,5 @@ -import org.jetbrains.kotlin.config.KotlinCompilerVersion +import io.sentry.gradle.MergeSpringMetadataAction +import org.jetbrains.kotlin.gradle.plugin.getKotlinPluginVersion import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -64,9 +65,9 @@ dependencies { implementation(libs.spring.kafka2) implementation(projects.sentryKafka) } - implementation(Config.Libs.aspectj) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib, KotlinCompilerVersion.VERSION)) + implementation("org.aspectj:aspectjweaver") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8", getKotlinPluginVersion())) implementation(projects.sentrySpringBootStarter) implementation(projects.sentryLogback) if (includeGraphql) { diff --git a/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts b/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts index 3a159bb6e11..683031cfb62 100644 --- a/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts @@ -27,13 +27,13 @@ dependencyManagement { } dependencies { - implementation(Config.Libs.springWeb) - implementation(Config.Libs.springAop) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.springSecurityWeb) - implementation(Config.Libs.springSecurityConfig) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib)) + implementation("org.springframework:spring-webmvc") + implementation("org.springframework:spring-aop") + implementation("org.aspectj:aspectjweaver") + implementation("org.springframework.security:spring-security-web") + implementation("org.springframework.security:spring-security-config") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8")) implementation(projects.sentrySpringJakarta) implementation(projects.sentryLogback) implementation(projects.sentryAsyncProfiler) diff --git a/sentry-samples/sentry-samples-spring/build.gradle.kts b/sentry-samples/sentry-samples-spring/build.gradle.kts index b64fcab92a3..ba97f3e7045 100644 --- a/sentry-samples/sentry-samples-spring/build.gradle.kts +++ b/sentry-samples/sentry-samples-spring/build.gradle.kts @@ -38,13 +38,13 @@ dependencyManagement { } dependencies { - implementation(Config.Libs.springWeb) - implementation(Config.Libs.springAop) - implementation(Config.Libs.aspectj) - implementation(Config.Libs.springSecurityWeb) - implementation(Config.Libs.springSecurityConfig) - implementation(Config.Libs.kotlinReflect) - implementation(kotlin(Config.kotlinStdLib)) + implementation("org.springframework:spring-webmvc") + implementation("org.springframework:spring-aop") + implementation("org.aspectj:aspectjweaver") + implementation("org.springframework.security:spring-security-web") + implementation("org.springframework.security:spring-security-config") + implementation("org.jetbrains.kotlin:kotlin-reflect") + implementation(kotlin("stdlib-jdk8")) implementation(projects.sentrySpring) implementation(projects.sentryLogback) implementation(projects.sentryAsyncProfiler) diff --git a/settings.gradle.kts b/settings.gradle.kts index 5947411dd56..99d9f516e4c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -15,6 +15,18 @@ pluginManagement { gradlePluginPortal() google() } + + // Every build in a composite must use the same AGP, so each build's settings applies the AGP + // matrix job's override. + System.getenv("VERSION_AGP")?.let { agpVersion -> + resolutionStrategy { + eachPlugin { + if (requested.id.id.startsWith("com.android")) { + useVersion(agpVersion) + } + } + } + } } plugins {