diff --git a/THIRD_PARTY_NOTICES.md b/THIRD_PARTY_NOTICES.md
index a0040916145..b4c58711dd3 100644
--- a/THIRD_PARTY_NOTICES.md
+++ b/THIRD_PARTY_NOTICES.md
@@ -390,6 +390,34 @@ limitations under the License.
---
+## Android Open Source Project — AndroidX MavenUploadHelper (Apache 2.0)
+
+**Source:** https://github.com/androidx/androidx/blob/c799cba927a71f01ea6b421a8f83c181682633fb/buildSrc/private/src/main/kotlin/androidx/build/MavenUploadHelper.kt#L524-L549
+**License:** Apache License 2.0
+**Copyright:** Copyright 2018 The Android Open Source Project
+
+### Scope
+
+The Sentry Java SDK build includes an adapted version of the AndroidX build's POM rewriting, which adds `aar` to dependencies on Android libraries in published POMs. The code resides in the build logic at `build-logic/src/main/kotlin/io/sentry/gradle/AarTypes.kt` and is not part of the published artifacts.
+
+```
+Copyright 2018 The Android Open Source Project
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+```
+
+---
+
## OpenTelemetry (Apache 2.0)
**Source:** https://github.com/open-telemetry/opentelemetry-java (Commit: 0aacc55d1e3f5cc6dbb4f8fa26bcb657b01a7bc9)
diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts
index 8acc2b4e999..d11d2dcdc3f 100644
--- a/build-logic/build.gradle.kts
+++ b/build-logic/build.gradle.kts
@@ -5,6 +5,8 @@ plugins {
dependencies {
implementation(libs.animalsniffer.gradle.plugin)
implementation(libs.spotlessLib)
+ implementation(libs.detektLib)
+ implementation(libs.vanniktechMavenPublishLib)
implementation(libs.asm)
compileOnly(libs.kotlin.gradle.plugin)
compileOnly(libs.android.gradle.plugin)
@@ -16,6 +18,18 @@ gradlePlugin {
id = "io.sentry.jdk-target"
implementationClass = "io.sentry.gradle.JdkTargetConvention"
}
+ register("sentryDetekt") {
+ id = "io.sentry.detekt"
+ implementationClass = "io.sentry.gradle.SentryDetektPlugin"
+ }
+ register("sentryPublish") {
+ id = "io.sentry.publish"
+ implementationClass = "io.sentry.gradle.SentryPublishPlugin"
+ }
+ register("sentryMultiplatformPublish") {
+ id = "io.sentry.publish.multiplatform"
+ implementationClass = "io.sentry.gradle.SentryMultiplatformPublishPlugin"
+ }
register("sentryApiValidation") {
id = "io.sentry.api-validation"
implementationClass = "io.sentry.gradle.SentryApiValidationPlugin"
diff --git a/build-logic/src/main/kotlin/io/sentry/gradle/AarTypes.kt b/build-logic/src/main/kotlin/io/sentry/gradle/AarTypes.kt
new file mode 100644
index 00000000000..0dda1a6bcb4
--- /dev/null
+++ b/build-logic/src/main/kotlin/io/sentry/gradle/AarTypes.kt
@@ -0,0 +1,69 @@
+/*
+ * Adapted from https://github.com/androidx/androidx/blob/c799cba927a71f01ea6b421a8f83c181682633fb/buildSrc/private/src/main/kotlin/androidx/build/MavenUploadHelper.kt#L524-L549
+ *
+ * Copyright 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package io.sentry.gradle
+
+import com.vanniktech.maven.publish.MavenPublishBaseExtension
+import groovy.util.Node
+
+private val androidLibs =
+ setOf(
+ "sentry-android-core",
+ "sentry-android-ndk",
+ "sentry-android-fragment",
+ "sentry-android-navigation",
+ "sentry-android-navigation3",
+ "sentry-android-timber",
+ "sentry-compose-android",
+ "sentry-android-sqlite",
+ "sentry-android-replay",
+ )
+
+private val androidXLibs = listOf("androidx.core:core")
+
+// Workaround for https://github.com/gradle/gradle/issues/3170
+fun MavenPublishBaseExtension.assignAarTypes() {
+ pom {
+ withXml {
+ val dependencies =
+ asNode().children().find { it is Node && it.name().toString().endsWith("dependencies") }
+ as Node?
+
+ dependencies?.children()?.forEach { dep ->
+ if (dep !is Node) {
+ return@forEach
+ }
+ val group =
+ dep.children().firstOrNull { it is Node && it.name().toString().endsWith("groupId") }
+ as? Node
+ val groupValue = group?.children()?.firstOrNull() as? String
+
+ val artifactId =
+ dep.children().firstOrNull { it is Node && it.name().toString().endsWith("artifactId") }
+ as? Node
+ val artifactIdValue = artifactId?.children()?.firstOrNull() as? String
+
+ if (artifactIdValue in androidLibs) {
+ dep.appendNode("type", "aar")
+ } else if ("$groupValue:$artifactIdValue" in androidXLibs) {
+ dep.appendNode("type", "aar")
+ }
+ }
+ }
+ }
+}
diff --git a/buildSrc/src/main/java/Publication.kt b/build-logic/src/main/kotlin/io/sentry/gradle/Publication.kt
similarity index 98%
rename from buildSrc/src/main/java/Publication.kt
rename to build-logic/src/main/kotlin/io/sentry/gradle/Publication.kt
index c9251fe25c0..519dc7419f1 100644
--- a/buildSrc/src/main/java/Publication.kt
+++ b/build-logic/src/main/kotlin/io/sentry/gradle/Publication.kt
@@ -1,3 +1,5 @@
+package io.sentry.gradle
+
import org.gradle.api.Project
import org.gradle.api.distribution.DistributionContainer
import org.gradle.api.file.CopySpec
diff --git a/build-logic/src/main/kotlin/io/sentry/gradle/SentryDetektPlugin.kt b/build-logic/src/main/kotlin/io/sentry/gradle/SentryDetektPlugin.kt
new file mode 100644
index 00000000000..1775f672a5a
--- /dev/null
+++ b/build-logic/src/main/kotlin/io/sentry/gradle/SentryDetektPlugin.kt
@@ -0,0 +1,20 @@
+package io.sentry.gradle
+
+import io.gitlab.arturbosch.detekt.extensions.DetektExtension
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+import org.gradle.kotlin.dsl.configure
+
+/** Runs detekt on a module against the shared ruleset, with a per-module baseline. */
+class SentryDetektPlugin : Plugin {
+ override fun apply(project: Project) {
+ project.pluginManager.apply("io.gitlab.arturbosch.detekt")
+
+ project.extensions.configure {
+ buildUponDefaultConfig = true
+ allRules = true
+ config.setFrom(project.isolated.rootProject.projectDirectory.file("detekt.yml"))
+ baseline = project.file("detekt-baseline.xml")
+ }
+ }
+}
diff --git a/build-logic/src/main/kotlin/io/sentry/gradle/SentryPublishPlugin.kt b/build-logic/src/main/kotlin/io/sentry/gradle/SentryPublishPlugin.kt
new file mode 100644
index 00000000000..bbf9eb5d770
--- /dev/null
+++ b/build-logic/src/main/kotlin/io/sentry/gradle/SentryPublishPlugin.kt
@@ -0,0 +1,94 @@
+package io.sentry.gradle
+
+import com.vanniktech.maven.publish.JavaLibrary
+import com.vanniktech.maven.publish.JavadocJar
+import com.vanniktech.maven.publish.MavenPublishBaseExtension
+import java.io.File
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+import org.gradle.api.distribution.DistributionContainer
+import org.gradle.api.distribution.plugins.DistributionPlugin
+import org.gradle.api.plugins.JavaPluginExtension
+import org.gradle.api.publish.PublishingExtension
+import org.gradle.kotlin.dsl.configure
+
+/** Publishes a JVM or Android module and packages it as the zip distribution craft consumes. */
+class SentryPublishPlugin : Plugin {
+ override fun apply(project: Project) {
+ project.configurePublishing(DistributionContainer::configureForJvm)
+ }
+}
+
+/**
+ * Publishes a Kotlin Multiplatform module. Separate from [SentryPublishPlugin] because the
+ * per-target distributions it lays out have no counterpart in a single-target module.
+ */
+class SentryMultiplatformPublishPlugin : Plugin {
+ override fun apply(project: Project) {
+ project.configurePublishing(DistributionContainer::configureForMultiplatform)
+ }
+}
+
+private fun Project.configurePublishing(
+ configureDistributions: DistributionContainer.(Project) -> Unit
+) {
+ pluginManager.apply(DistributionPlugin::class.java)
+ pluginManager.apply("com.vanniktech.maven.publish")
+
+ extensions.configure {
+ configureDistributions(project)
+ // craft only uses zip archives
+ forEach { dist ->
+ if (dist.name == DistributionPlugin.MAIN_DISTRIBUTION_NAME) {
+ tasks.named("distTar").configure { enabled = false }
+ } else {
+ tasks.named(dist.name + "DistTar").configure { enabled = false }
+ }
+ }
+ }
+
+ val sep = File.separator
+ val distributionFile =
+ layout.buildDirectory.file("distributions$sep$name-$version.zip").get().asFile
+
+ tasks.named("distZip").configure {
+ dependsOn("publishToMavenLocal")
+ dependsOn("publishAllPublicationsTo${DIST_MAVEN_REPO.replaceFirstChar { it.uppercase() }}Repository")
+ val file = distributionFile
+ doLast {
+ if (!file.exists()) {
+ throw IllegalStateException("Distribution file: ${file.absolutePath} does not exist")
+ }
+ if (file.length() == 0L) {
+ throw IllegalStateException("Distribution file: ${file.absolutePath} is empty")
+ }
+ }
+ }
+
+ extensions.configure { assignAarTypes() }
+
+ plugins.withId("java-library") {
+ extensions.configure {
+ // we have to disable javadoc publication in maven-publish plugin as it's not
+ // including it in the .module file
+ // https://github.com/vanniktech/gradle-maven-publish-plugin/issues/861
+ // and do it ourselves
+ configure(JavaLibrary(JavadocJar.None(), sourcesJar = true))
+ }
+
+ extensions.configure { withJavadocJar() }
+ }
+
+ extensions.configure {
+ // the dist zips craft publishes are assembled from this, see Publication.kt
+ repositories.maven {
+ name = DIST_MAVEN_REPO
+ url = distMavenDir.get().asFile.toURI()
+ }
+ // this is needed for sentry-unity to consume our artifacts locally as proper maven publication
+ repositories.maven {
+ name = "unityMaven"
+ url = isolated.rootProject.projectDirectory.dir("build${sep}unityMaven").asFile.toURI()
+ }
+ }
+}
diff --git a/build.gradle.kts b/build.gradle.kts
index 6a42fe07a42..f4f59786f45 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,8 +1,3 @@
-import com.vanniktech.maven.publish.JavaLibrary
-import com.vanniktech.maven.publish.JavadocJar
-import com.vanniktech.maven.publish.MavenPublishBaseExtension
-import groovy.util.Node
-import io.gitlab.arturbosch.detekt.extensions.DetektExtension
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
import org.gradle.api.tasks.testing.logging.TestLogEvent
@@ -11,13 +6,12 @@ plugins {
alias(libs.plugins.spotless) apply false
alias(libs.plugins.detekt)
`maven-publish`
- 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.spring) apply false
alias(libs.plugins.buildconfig) apply false
- // dokka is required by gradle-maven-publish-plugin.
+ // dokka is applied directly by sentry-compose; pinned here so it is on the classpath.
alias(libs.plugins.dokka) apply false
alias(libs.plugins.dokka.javadoc) apply false
alias(libs.plugins.kotlin.compose) apply false
@@ -62,96 +56,6 @@ allprojects {
}
}
-subprojects {
- apply { plugin("io.sentry.spotless") }
- apply { plugin("io.sentry.jdk-target") }
-
- plugins.withId(Config.QualityPlugins.detektPlugin) {
- configure {
- buildUponDefaultConfig = true
- allRules = true
- config.setFrom("${rootProject.rootDir}/detekt.yml")
- baseline = file("detekt-baseline.xml")
- }
- }
-
- if (!this.name.contains("sample") && !this.name.contains("integration-tests") && this.name != "sentry-test-support") {
- apply()
- apply()
-
- val sep = File.separator
-
- configure {
- if (this@subprojects.name.contains("-compose")) {
- this.configureForMultiplatform(this@subprojects)
- } else {
- this.configureForJvm(this@subprojects)
- }
- // craft only uses zip archives
- this.forEach { dist ->
- if (dist.name == DistributionPlugin.MAIN_DISTRIBUTION_NAME) {
- tasks.named("distTar").configure { enabled = false }
- } else {
- tasks.named(dist.name + "DistTar").configure { enabled = false }
- }
- }
- }
-
- tasks.named("distZip").configure {
- this.dependsOn("publishToMavenLocal")
- this.dependsOn("publishAllPublicationsTo${DIST_MAVEN_REPO.replaceFirstChar { it.uppercase() }}Repository")
- val file = this.project.layout.buildDirectory.file("distributions${sep}${this.project.name}-${this.project.version}.zip").get().asFile
- this.doLast {
- if (!file.exists()) throw IllegalStateException("Distribution file: ${file.absolutePath} does not exist")
- if (file.length() == 0L) throw IllegalStateException("Distribution file: ${file.absolutePath} is empty")
- }
- }
-
- plugins.withId("java-library") {
- configure {
- // we have to disable javadoc publication in maven-publish plugin as it's not
- // including it in the .module file https://github.com/vanniktech/gradle-maven-publish-plugin/issues/861
- // and do it ourselves
- configure(JavaLibrary(JavadocJar.None(), sourcesJar = true))
- }
-
- configure {
- withJavadocJar()
- }
- }
-
- apply()
-
- afterEvaluate {
- configure {
- assignAarTypes()
- }
-
- // this is needed for sentry-unity to consume our artifacts locally as proper maven publication
- configure {
- repositories {
- // the dist zips craft publishes are assembled from this, see Publication.kt
- maven {
- name = DIST_MAVEN_REPO
- url = distMavenDir.get().asFile.toURI()
- }
- maven {
- name = "unityMaven"
- url = rootProject.layout.buildDirectory.file("unityMaven").get().asFile.toURI()
- }
- }
- }
-
- // maven central info go to:
- // ~/.gradle/gradle.properties
-
- // maven central info:
- // mavenCentralUsername=user name
- // mavenCentralPassword=password
- }
- }
-}
-
tasks.register("buildForCodeQL") {
subprojects
.filter {
@@ -172,53 +76,3 @@ tasks.register("buildForCodeQL") {
}
}
}
-
-/*
- * Adapted from https://github.com/androidx/androidx/blob/c799cba927a71f01ea6b421a8f83c181682633fb/buildSrc/private/src/main/kotlin/androidx/build/MavenUploadHelper.kt#L524-L549
- *
- * Copyright 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-// Workaround for https://github.com/gradle/gradle/issues/3170
-fun MavenPublishBaseExtension.assignAarTypes() {
- pom {
- withXml {
- val dependencies = asNode().children().find {
- it is Node && it.name().toString().endsWith("dependencies")
- } as Node?
-
- dependencies?.children()?.forEach { dep ->
- if (dep !is Node) {
- return@forEach
- }
- val group = dep.children().firstOrNull {
- it is Node && it.name().toString().endsWith("groupId")
- } as? Node
- val groupValue = group?.children()?.firstOrNull() as? String
-
- val artifactId = dep.children().firstOrNull {
- it is Node && it.name().toString().endsWith("artifactId")
- } as? Node
- val artifactIdValue = artifactId?.children()?.firstOrNull() as? String
-
- if (artifactIdValue in Config.BuildScript.androidLibs) {
- dep.appendNode("type", "aar")
- } else if ("$groupValue:$artifactIdValue" in Config.BuildScript.androidXLibs) {
- dep.appendNode("type", "aar")
- }
- }
- }
- }
-}
diff --git a/buildSrc/src/main/java/Config.kt b/buildSrc/src/main/java/Config.kt
index 05786658ef3..140805224a4 100644
--- a/buildSrc/src/main/java/Config.kt
+++ b/buildSrc/src/main/java/Config.kt
@@ -36,11 +36,6 @@ object Config {
val springBootConfiguration = "org.springframework.boot:spring-boot-configuration-processor"
}
- object QualityPlugins {
- // this can be removed when we upgrade to Gradle 8, which allows us to use a getter for the plugin ID
- val detektPlugin = "io.gitlab.arturbosch.detekt"
- }
-
object Sentry {
val SENTRY_JAVA_SDK_NAME = "sentry.java"
val SENTRY_ANDROID_SDK_NAME = "$SENTRY_JAVA_SDK_NAME.android"
@@ -92,22 +87,4 @@ object Config {
val description = "SDK for sentry.io"
val versionNameProp = "versionName"
}
-
- object BuildScript {
- val androidLibs = setOf(
- "sentry-android-core",
- "sentry-android-ndk",
- "sentry-android-fragment",
- "sentry-android-navigation",
- "sentry-android-navigation3",
- "sentry-android-timber",
- "sentry-compose-android",
- "sentry-android-sqlite",
- "sentry-android-replay"
- )
-
- val androidXLibs = listOf(
- "androidx.core:core"
- )
- }
}
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 65f51bc19a6..31b13c0c912 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -10,6 +10,8 @@ asyncProfiler = "4.4"
camerax = "1.4.0"
composeCompiler = "1.5.14"
coroutines = "1.6.1"
+detekt = "1.23.8"
+dokka = "2.0.0"
espresso = "3.7.0"
feign = "11.6"
gummyBears = "0.12.0"
@@ -51,6 +53,7 @@ springboot4 = "4.1.0"
springKafka2 = "2.8.11"
springKafka3 = "3.3.5"
sqldelight = "2.3.2"
+vanniktechMavenPublish = "0.37.0"
# Android
targetSdk = "37"
@@ -66,13 +69,13 @@ kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "ko
kotlin-multiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
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" }
+dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
+dokka-javadoc = { id = "org.jetbrains.dokka-javadoc", version.ref = "dokka" }
errorprone = { id = "net.ltgt.errorprone", version = "5.1.1" }
gradle-versions = { id = "com.github.ben-manes.versions", version = "0.42.0" }
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
-detekt = { id = "io.gitlab.arturbosch.detekt", version = "1.23.8" }
-vanniktech-maven-publish = { id = "com.vanniktech.maven.publish", version = "0.37.0" }
+detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detekt" }
+vanniktech-maven-publish = { id = "com.vanniktech.maven.publish", version.ref = "vanniktechMavenPublish" }
springboot3 = { id = "org.springframework.boot", version.ref = "springboot3" }
springboot4 = { id = "org.springframework.boot", version.ref = "springboot4" }
spring-dependency-management = { id = "io.spring.dependency-management", version = "1.1.7" }
@@ -194,6 +197,8 @@ slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
slf4j-jdk14 = { module = "org.slf4j:slf4j-jdk14", version.ref = "slf4j" }
slf4j2-api = { module = "org.slf4j:slf4j-api", version = "2.0.5" }
spotlessLib = { module = "com.diffplug.spotless:com.diffplug.spotless.gradle.plugin", version.ref = "spotless"}
+detektLib = { module = "io.gitlab.arturbosch.detekt:io.gitlab.arturbosch.detekt.gradle.plugin", version.ref = "detekt" }
+vanniktechMavenPublishLib = { module = "com.vanniktech.maven.publish:com.vanniktech.maven.publish.gradle.plugin", version.ref = "vanniktechMavenPublish" }
springboot2-bom = { module = "org.springframework.boot:spring-boot-dependencies", version.ref = "springboot2" }
springboot-starter = { module = "org.springframework.boot:spring-boot-starter", version.ref = "springboot2" }
spring-graphql = { module = "org.springframework.graphql:spring-graphql", version = "1.0.6" }
diff --git a/sentry-android-core/build.gradle.kts b/sentry-android-core/build.gradle.kts
index f78dd0c036b..af5a010d309 100644
--- a/sentry-android-core/build.gradle.kts
+++ b/sentry-android-core/build.gradle.kts
@@ -8,6 +8,9 @@ plugins {
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-android-distribution/build.gradle.kts b/sentry-android-distribution/build.gradle.kts
index 69c9e3ccada..d4bedf0a02c 100644
--- a/sentry-android-distribution/build.gradle.kts
+++ b/sentry-android-distribution/build.gradle.kts
@@ -4,7 +4,10 @@ import org.jetbrains.kotlin.gradle.dsl.KotlinVersion
plugins {
id("com.android.library")
alias(libs.plugins.kotlin.android)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-android-fragment/build.gradle.kts b/sentry-android-fragment/build.gradle.kts
index 8a69c231328..462003eb060 100644
--- a/sentry-android-fragment/build.gradle.kts
+++ b/sentry-android-fragment/build.gradle.kts
@@ -6,7 +6,10 @@ plugins {
id("com.android.library")
alias(libs.plugins.kotlin.android)
alias(libs.plugins.gradle.versions)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
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..dedce1bfa53 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
@@ -4,6 +4,8 @@ plugins {
id("com.android.application")
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
android {
diff --git a/sentry-android-integration-tests/sentry-uitest-android-macrobenchmark/build.gradle.kts b/sentry-android-integration-tests/sentry-uitest-android-macrobenchmark/build.gradle.kts
index cab7c28f934..12da53b7721 100644
--- a/sentry-android-integration-tests/sentry-uitest-android-macrobenchmark/build.gradle.kts
+++ b/sentry-android-integration-tests/sentry-uitest-android-macrobenchmark/build.gradle.kts
@@ -1,6 +1,8 @@
plugins {
id("com.android.test")
alias(libs.plugins.kotlin.android)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
android {
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..d67f29648a4 100644
--- a/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts
+++ b/sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts
@@ -7,7 +7,9 @@ plugins {
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
android {
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..499e468cb09 100644
--- a/sentry-android-integration-tests/test-app-size/build.gradle.kts
+++ b/sentry-android-integration-tests/test-app-size/build.gradle.kts
@@ -1,6 +1,8 @@
plugins {
id("com.android.application")
id("io.sentry.android.gradle")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
android {
diff --git a/sentry-android-navigation/build.gradle.kts b/sentry-android-navigation/build.gradle.kts
index c91426649d1..2b8d3224700 100644
--- a/sentry-android-navigation/build.gradle.kts
+++ b/sentry-android-navigation/build.gradle.kts
@@ -6,7 +6,10 @@ plugins {
id("com.android.library")
alias(libs.plugins.kotlin.android)
alias(libs.plugins.gradle.versions)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-android-navigation3/build.gradle.kts b/sentry-android-navigation3/build.gradle.kts
index 95462ad61f1..ce2ab209af8 100644
--- a/sentry-android-navigation3/build.gradle.kts
+++ b/sentry-android-navigation3/build.gradle.kts
@@ -7,7 +7,10 @@ plugins {
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.gradle.versions)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-android-ndk/build.gradle.kts b/sentry-android-ndk/build.gradle.kts
index c61678be0cb..b2a902515ab 100644
--- a/sentry-android-ndk/build.gradle.kts
+++ b/sentry-android-ndk/build.gradle.kts
@@ -4,6 +4,9 @@ plugins {
id("com.android.library")
alias(libs.plugins.kotlin.android)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-android-replay/build.gradle.kts b/sentry-android-replay/build.gradle.kts
index 6fff59a0c41..31c3c2c17c8 100644
--- a/sentry-android-replay/build.gradle.kts
+++ b/sentry-android-replay/build.gradle.kts
@@ -8,7 +8,10 @@ plugins {
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.gradle.versions)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-android-sqlite/build.gradle.kts b/sentry-android-sqlite/build.gradle.kts
index e01b3dbd4a0..b37b343208b 100644
--- a/sentry-android-sqlite/build.gradle.kts
+++ b/sentry-android-sqlite/build.gradle.kts
@@ -6,7 +6,10 @@ plugins {
id("com.android.library")
alias(libs.plugins.kotlin.android)
alias(libs.plugins.gradle.versions)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-android-timber/build.gradle.kts b/sentry-android-timber/build.gradle.kts
index b2f09450d9d..28e67c5c920 100644
--- a/sentry-android-timber/build.gradle.kts
+++ b/sentry-android-timber/build.gradle.kts
@@ -6,7 +6,10 @@ plugins {
id("com.android.library")
alias(libs.plugins.kotlin.android)
alias(libs.plugins.gradle.versions)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-android/build.gradle.kts b/sentry-android/build.gradle.kts
index 4c493e9e2d2..8a281972d9c 100644
--- a/sentry-android/build.gradle.kts
+++ b/sentry-android/build.gradle.kts
@@ -2,6 +2,9 @@ plugins {
id("com.android.library")
alias(libs.plugins.kotlin.android)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
}
android {
diff --git a/sentry-apache-http-client-5/build.gradle.kts b/sentry-apache-http-client-5/build.gradle.kts
index 7cef8834444..efbf10265fc 100644
--- a/sentry-apache-http-client-5/build.gradle.kts
+++ b/sentry-apache-http-client-5/build.gradle.kts
@@ -10,6 +10,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-apollo-3/build.gradle.kts b/sentry-apollo-3/build.gradle.kts
index 2750eec5fde..288adb77946 100644
--- a/sentry-apollo-3/build.gradle.kts
+++ b/sentry-apollo-3/build.gradle.kts
@@ -5,11 +5,14 @@ plugins {
`java-library`
id("io.sentry.javadoc")
alias(libs.plugins.kotlin.jvm)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer.android")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-apollo-4/build.gradle.kts b/sentry-apollo-4/build.gradle.kts
index 04cb6b12f10..c5de057fcdb 100644
--- a/sentry-apollo-4/build.gradle.kts
+++ b/sentry-apollo-4/build.gradle.kts
@@ -5,11 +5,14 @@ plugins {
`java-library`
id("io.sentry.javadoc")
alias(libs.plugins.kotlin.jvm)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer.android")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-apollo-5/build.gradle.kts b/sentry-apollo-5/build.gradle.kts
index 40de399fd30..3078d833294 100644
--- a/sentry-apollo-5/build.gradle.kts
+++ b/sentry-apollo-5/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer.android")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-apollo/build.gradle.kts b/sentry-apollo/build.gradle.kts
index e489f64269f..809b7f3a75c 100644
--- a/sentry-apollo/build.gradle.kts
+++ b/sentry-apollo/build.gradle.kts
@@ -5,11 +5,14 @@ plugins {
`java-library`
id("io.sentry.javadoc")
alias(libs.plugins.kotlin.jvm)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer.android")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-async-profiler/build.gradle.kts b/sentry-async-profiler/build.gradle.kts
index f02de255bd4..874bcb7ca6d 100644
--- a/sentry-async-profiler/build.gradle.kts
+++ b/sentry-async-profiler/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-bom/build.gradle.kts b/sentry-bom/build.gradle.kts
index f219c964e52..ca9cd6e9222 100644
--- a/sentry-bom/build.gradle.kts
+++ b/sentry-bom/build.gradle.kts
@@ -1,6 +1,9 @@
plugins {
`java-platform` // used to build Maven BOM
`maven-publish`
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
}
dependencies {
@@ -15,7 +18,9 @@ dependencies {
}
.forEach { project ->
evaluationDependsOn(project.path)
- project.publishing.publications
+ // container projects such as sentry-opentelemetry have no build file and publish nothing
+ val publishing = project.extensions.findByType() ?: return@forEach
+ publishing.publications
.mapNotNull { it as? MavenPublication }
.filter {
!it.artifactId.endsWith("-kotlinMultiplatform") && !it.artifactId.endsWith("-metadata")
diff --git a/sentry-compose/build.gradle.kts b/sentry-compose/build.gradle.kts
index befdf01e678..cf0dfb7d501 100644
--- a/sentry-compose/build.gradle.kts
+++ b/sentry-compose/build.gradle.kts
@@ -8,10 +8,13 @@ plugins {
alias(libs.plugins.kotlin.compose)
id("com.android.library")
alias(libs.plugins.gradle.versions)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
alias(libs.plugins.dokka)
alias(libs.plugins.dokka.javadoc)
`maven-publish` // necessary for publishMavenLocal task to publish correct artifacts
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish.multiplatform")
id("io.sentry.api-validation")
}
diff --git a/sentry-graphql-22/build.gradle.kts b/sentry-graphql-22/build.gradle.kts
index b0ebeb2a37a..9aaa6b9b603 100644
--- a/sentry-graphql-22/build.gradle.kts
+++ b/sentry-graphql-22/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-graphql-core/build.gradle.kts b/sentry-graphql-core/build.gradle.kts
index af4c988bce4..0f3229fa6f2 100644
--- a/sentry-graphql-core/build.gradle.kts
+++ b/sentry-graphql-core/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-graphql/build.gradle.kts b/sentry-graphql/build.gradle.kts
index da4a35021e2..8ddd17c8af8 100644
--- a/sentry-graphql/build.gradle.kts
+++ b/sentry-graphql/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-jcache/build.gradle.kts b/sentry-jcache/build.gradle.kts
index 52b71618cf5..2a655ff839c 100644
--- a/sentry-jcache/build.gradle.kts
+++ b/sentry-jcache/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-jdbc/build.gradle.kts b/sentry-jdbc/build.gradle.kts
index 8fa8130edaa..46e6521a044 100644
--- a/sentry-jdbc/build.gradle.kts
+++ b/sentry-jdbc/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-jul/build.gradle.kts b/sentry-jul/build.gradle.kts
index 934be2d203f..8c703275dc5 100644
--- a/sentry-jul/build.gradle.kts
+++ b/sentry-jul/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-kafka/build.gradle.kts b/sentry-kafka/build.gradle.kts
index 36f66d60c9b..4ead354e8d9 100644
--- a/sentry-kafka/build.gradle.kts
+++ b/sentry-kafka/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-kotlin-extensions/build.gradle.kts b/sentry-kotlin-extensions/build.gradle.kts
index d8941b1088a..ecbcce3f8e9 100644
--- a/sentry-kotlin-extensions/build.gradle.kts
+++ b/sentry-kotlin-extensions/build.gradle.kts
@@ -7,8 +7,11 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
id("io.sentry.animalsniffer.android")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-ktor-client/build.gradle.kts b/sentry-ktor-client/build.gradle.kts
index a28c11eab8d..a204e71ff91 100644
--- a/sentry-ktor-client/build.gradle.kts
+++ b/sentry-ktor-client/build.gradle.kts
@@ -4,12 +4,15 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
`java-library`
alias(libs.plugins.kotlin.jvm)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
id("io.sentry.javadoc")
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer.android")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-launchdarkly-android/build.gradle.kts b/sentry-launchdarkly-android/build.gradle.kts
index cf99b017db0..6ccea5a78a6 100644
--- a/sentry-launchdarkly-android/build.gradle.kts
+++ b/sentry-launchdarkly-android/build.gradle.kts
@@ -2,6 +2,9 @@ plugins {
id("com.android.library")
alias(libs.plugins.kotlin.android)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-launchdarkly-server/build.gradle.kts b/sentry-launchdarkly-server/build.gradle.kts
index 6368731ad78..884db5e064b 100644
--- a/sentry-launchdarkly-server/build.gradle.kts
+++ b/sentry-launchdarkly-server/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-log4j2/build.gradle.kts b/sentry-log4j2/build.gradle.kts
index 39d75e53fa0..66a05bf2e59 100644
--- a/sentry-log4j2/build.gradle.kts
+++ b/sentry-log4j2/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-logback/build.gradle.kts b/sentry-logback/build.gradle.kts
index b5854279987..db01ebbf2a5 100644
--- a/sentry-logback/build.gradle.kts
+++ b/sentry-logback/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-okhttp/build.gradle.kts b/sentry-okhttp/build.gradle.kts
index bdc04b8d2b9..c4b160f1fdf 100644
--- a/sentry-okhttp/build.gradle.kts
+++ b/sentry-okhttp/build.gradle.kts
@@ -4,12 +4,15 @@ import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
`java-library`
alias(libs.plugins.kotlin.jvm)
- alias(libs.plugins.detekt)
+ id("io.sentry.detekt")
id("io.sentry.javadoc")
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer.android")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-openfeature/build.gradle.kts b/sentry-openfeature/build.gradle.kts
index 9d07106806b..9452ec37f41 100644
--- a/sentry-openfeature/build.gradle.kts
+++ b/sentry-openfeature/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-openfeign/build.gradle.kts b/sentry-openfeign/build.gradle.kts
index b1a09d5eae4..58ac8b7679d 100644
--- a/sentry-openfeign/build.gradle.kts
+++ b/sentry-openfeign/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-opentelemetry/sentry-opentelemetry-agent/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-agent/build.gradle.kts
index 4580dceeed4..81e690fbe0a 100644
--- a/sentry-opentelemetry/sentry-opentelemetry-agent/build.gradle.kts
+++ b/sentry-opentelemetry/sentry-opentelemetry-agent/build.gradle.kts
@@ -8,6 +8,9 @@ plugins {
id("io.sentry.javadoc")
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.shadow)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/build.gradle.kts
index 79ddbc77d7e..085eb11b41f 100644
--- a/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/build.gradle.kts
+++ b/sentry-opentelemetry/sentry-opentelemetry-agentcustomization/build.gradle.kts
@@ -8,6 +8,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-opentelemetry/sentry-opentelemetry-agentless-spring/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-agentless-spring/build.gradle.kts
index 5a94dcd4422..ed50bed1e4f 100644
--- a/sentry-opentelemetry/sentry-opentelemetry-agentless-spring/build.gradle.kts
+++ b/sentry-opentelemetry/sentry-opentelemetry-agentless-spring/build.gradle.kts
@@ -3,6 +3,9 @@ plugins {
id("io.sentry.javadoc")
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
}
dependencies {
diff --git a/sentry-opentelemetry/sentry-opentelemetry-agentless/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-agentless/build.gradle.kts
index 1a12e5c4336..f0f719a17b6 100644
--- a/sentry-opentelemetry/sentry-opentelemetry-agentless/build.gradle.kts
+++ b/sentry-opentelemetry/sentry-opentelemetry-agentless/build.gradle.kts
@@ -6,6 +6,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-opentelemetry/sentry-opentelemetry-bom/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-bom/build.gradle.kts
index d945002b716..2876823b067 100644
--- a/sentry-opentelemetry/sentry-opentelemetry-bom/build.gradle.kts
+++ b/sentry-opentelemetry/sentry-opentelemetry-bom/build.gradle.kts
@@ -1,6 +1,9 @@
plugins {
`java-platform`
`maven-publish`
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
}
javaPlatform.allowDependencies()
diff --git a/sentry-opentelemetry/sentry-opentelemetry-bootstrap/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-bootstrap/build.gradle.kts
index af03e26b222..fd7e40b9607 100644
--- a/sentry-opentelemetry/sentry-opentelemetry-bootstrap/build.gradle.kts
+++ b/sentry-opentelemetry/sentry-opentelemetry-bootstrap/build.gradle.kts
@@ -8,6 +8,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-opentelemetry/sentry-opentelemetry-core/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-core/build.gradle.kts
index 265c99ad639..26b5d1f8141 100644
--- a/sentry-opentelemetry/sentry-opentelemetry-core/build.gradle.kts
+++ b/sentry-opentelemetry/sentry-opentelemetry-core/build.gradle.kts
@@ -8,6 +8,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-opentelemetry/sentry-opentelemetry-otlp-spring/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-otlp-spring/build.gradle.kts
index 8a5093a6570..fba7b596833 100644
--- a/sentry-opentelemetry/sentry-opentelemetry-otlp-spring/build.gradle.kts
+++ b/sentry-opentelemetry/sentry-opentelemetry-otlp-spring/build.gradle.kts
@@ -2,6 +2,9 @@ plugins {
`java-library`
id("io.sentry.animalsniffer")
id("io.sentry.javadoc")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
}
dependencies {
diff --git a/sentry-opentelemetry/sentry-opentelemetry-otlp/build.gradle.kts b/sentry-opentelemetry/sentry-opentelemetry-otlp/build.gradle.kts
index 1a928ca8701..38284f70cae 100644
--- a/sentry-opentelemetry/sentry-opentelemetry-otlp/build.gradle.kts
+++ b/sentry-opentelemetry/sentry-opentelemetry-otlp/build.gradle.kts
@@ -8,6 +8,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-quartz/build.gradle.kts b/sentry-quartz/build.gradle.kts
index d8ede48f169..d58355e3b7c 100644
--- a/sentry-quartz/build.gradle.kts
+++ b/sentry-quartz/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-reactor/build.gradle.kts b/sentry-reactor/build.gradle.kts
index 403f1c4e6f2..449149d320f 100644
--- a/sentry-reactor/build.gradle.kts
+++ b/sentry-reactor/build.gradle.kts
@@ -8,6 +8,9 @@ plugins {
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-samples/sentry-samples-android/build.gradle.kts b/sentry-samples/sentry-samples-android/build.gradle.kts
index a9d4ea8ac5f..6cb5b3d6d6d 100644
--- a/sentry-samples/sentry-samples-android/build.gradle.kts
+++ b/sentry-samples/sentry-samples-android/build.gradle.kts
@@ -13,6 +13,8 @@ plugins {
alias(libs.plugins.ksp)
alias(libs.plugins.sentry) apply false
alias(libs.plugins.sqldelight)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
if (providers.gradleProperty("useSagp").isPresent) {
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 7bac9a5a200..66a965a0fb4 100644
--- a/sentry-samples/sentry-samples-console-opentelemetry-noagent/build.gradle.kts
+++ b/sentry-samples/sentry-samples-console-opentelemetry-noagent/build.gradle.kts
@@ -3,6 +3,8 @@ plugins {
application
alias(libs.plugins.gradle.versions)
alias(libs.plugins.shadow)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.console.Main") }
diff --git a/sentry-samples/sentry-samples-console-otlp/build.gradle.kts b/sentry-samples/sentry-samples-console-otlp/build.gradle.kts
index 134697014b7..ee327c288c1 100644
--- a/sentry-samples/sentry-samples-console-otlp/build.gradle.kts
+++ b/sentry-samples/sentry-samples-console-otlp/build.gradle.kts
@@ -3,6 +3,8 @@ plugins {
application
alias(libs.plugins.gradle.versions)
alias(libs.plugins.shadow)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.console.Main") }
diff --git a/sentry-samples/sentry-samples-console/build.gradle.kts b/sentry-samples/sentry-samples-console/build.gradle.kts
index d691d7ceb24..8abef5c4c11 100644
--- a/sentry-samples/sentry-samples-console/build.gradle.kts
+++ b/sentry-samples/sentry-samples-console/build.gradle.kts
@@ -3,6 +3,8 @@ plugins {
application
alias(libs.plugins.gradle.versions)
alias(libs.plugins.shadow)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.console.Main") }
diff --git a/sentry-samples/sentry-samples-jul/build.gradle.kts b/sentry-samples/sentry-samples-jul/build.gradle.kts
index 981455c455e..6d648c74ed2 100644
--- a/sentry-samples/sentry-samples-jul/build.gradle.kts
+++ b/sentry-samples/sentry-samples-jul/build.gradle.kts
@@ -3,6 +3,8 @@ plugins {
application
alias(libs.plugins.gradle.versions)
alias(libs.plugins.shadow)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.jul.Main") }
diff --git a/sentry-samples/sentry-samples-ktor-client/build.gradle.kts b/sentry-samples/sentry-samples-ktor-client/build.gradle.kts
index 08a08b01c88..c1704330564 100644
--- a/sentry-samples/sentry-samples-ktor-client/build.gradle.kts
+++ b/sentry-samples/sentry-samples-ktor-client/build.gradle.kts
@@ -2,6 +2,8 @@ plugins {
alias(libs.plugins.kotlin.jvm)
application
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.ktorClient.Main") }
diff --git a/sentry-samples/sentry-samples-log4j2/build.gradle.kts b/sentry-samples/sentry-samples-log4j2/build.gradle.kts
index d320d2b3334..5ead007432d 100644
--- a/sentry-samples/sentry-samples-log4j2/build.gradle.kts
+++ b/sentry-samples/sentry-samples-log4j2/build.gradle.kts
@@ -3,6 +3,8 @@ plugins {
application
alias(libs.plugins.gradle.versions)
alias(libs.plugins.shadow)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.log4j2.Main") }
diff --git a/sentry-samples/sentry-samples-logback/build.gradle.kts b/sentry-samples/sentry-samples-logback/build.gradle.kts
index 12644bf2ded..6deebda29f2 100644
--- a/sentry-samples/sentry-samples-logback/build.gradle.kts
+++ b/sentry-samples/sentry-samples-logback/build.gradle.kts
@@ -3,6 +3,8 @@ plugins {
application
alias(libs.plugins.gradle.versions)
alias(libs.plugins.shadow)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.logback.Main") }
diff --git a/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts b/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts
index 90bc1ffc86f..f4cce527834 100644
--- a/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts
+++ b/sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts
@@ -7,6 +7,8 @@ plugins {
alias(libs.plugins.shadow)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.netflix.dgs.NetlixDgsApplication") }
diff --git a/sentry-samples/sentry-samples-openfeign/build.gradle.kts b/sentry-samples/sentry-samples-openfeign/build.gradle.kts
index 8da1dfe785a..e19e7478193 100644
--- a/sentry-samples/sentry-samples-openfeign/build.gradle.kts
+++ b/sentry-samples/sentry-samples-openfeign/build.gradle.kts
@@ -2,6 +2,8 @@ plugins {
java
application
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.openfeign.Main") }
diff --git a/sentry-samples/sentry-samples-servlet/build.gradle.kts b/sentry-samples/sentry-samples-servlet/build.gradle.kts
index 01ecef54154..6f4d1ebabe7 100644
--- a/sentry-samples/sentry-samples-servlet/build.gradle.kts
+++ b/sentry-samples/sentry-samples-servlet/build.gradle.kts
@@ -1,4 +1,8 @@
-plugins { war }
+plugins {
+ war
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+}
group = "io.sentry.sample.servlet"
diff --git a/sentry-samples/sentry-samples-spring-7/build.gradle.kts b/sentry-samples/sentry-samples-spring-7/build.gradle.kts
index 83017cba374..744cb76b1c5 100644
--- a/sentry-samples/sentry-samples-spring-7/build.gradle.kts
+++ b/sentry-samples/sentry-samples-spring-7/build.gradle.kts
@@ -10,6 +10,8 @@ plugins {
alias(libs.plugins.kotlin.spring)
id("war")
alias(libs.plugins.gretty)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.spring7.Main") }
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..af5446277a2 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
@@ -6,6 +6,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-4-log4j2"
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..e6f088e7ff3 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
@@ -6,6 +6,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-4"
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..f878d37b51a 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
@@ -7,6 +7,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-4"
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..4d16f23e893 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
@@ -6,6 +6,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-4-otlp"
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..39f8b0487a2 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
@@ -6,6 +6,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-4-webflux"
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..ac2f15e32fa 100644
--- a/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts
+++ b/sentry-samples/sentry-samples-spring-boot-4/build.gradle.kts
@@ -6,6 +6,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-4"
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..dd8e2fcaa83 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
@@ -6,6 +6,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-jakarta-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..d442c49dae6 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
@@ -6,6 +6,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-jakarta"
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..847ae9ef888 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
@@ -7,6 +7,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-jakarta"
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..de238c334c9 100644
--- a/sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts
+++ b/sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts
@@ -6,6 +6,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-jakarta"
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 62c5bcbd3aa..e3b3440404b 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
@@ -7,6 +7,8 @@ plugins {
alias(libs.plugins.shadow)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
// Spring scans this app's own bytecode with its repackaged ASM at startup, and the oldest version
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 652727f7468..cd31246dd2c 100644
--- a/sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts
+++ b/sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts
@@ -7,6 +7,8 @@ plugins {
alias(libs.plugins.shadow)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
// Spring scans this app's own bytecode with its repackaged ASM at startup, and the oldest version
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..cbf037a36a1 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
@@ -6,6 +6,8 @@ plugins {
alias(libs.plugins.spring.dependency.management)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
group = "io.sentry.sample.spring-boot-webflux-jakarta"
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 d01da9f56c5..34cb09077f7 100644
--- a/sentry-samples/sentry-samples-spring-boot-webflux/build.gradle.kts
+++ b/sentry-samples/sentry-samples-spring-boot-webflux/build.gradle.kts
@@ -7,6 +7,8 @@ plugins {
alias(libs.plugins.shadow)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
// Spring scans this app's own bytecode with its repackaged ASM at startup, and the oldest version
diff --git a/sentry-samples/sentry-samples-spring-boot/build.gradle.kts b/sentry-samples/sentry-samples-spring-boot/build.gradle.kts
index b4f8bc105ec..4737e6b8874 100644
--- a/sentry-samples/sentry-samples-spring-boot/build.gradle.kts
+++ b/sentry-samples/sentry-samples-spring-boot/build.gradle.kts
@@ -7,6 +7,8 @@ plugins {
alias(libs.plugins.shadow)
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.kotlin.spring)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
// Spring scans this app's own bytecode with its repackaged ASM at startup, and the oldest version
diff --git a/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts b/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts
index 3a159bb6e11..ccb1b24f3f8 100644
--- a/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts
+++ b/sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts
@@ -7,6 +7,8 @@ plugins {
alias(libs.plugins.kotlin.spring)
id("war")
alias(libs.plugins.gretty)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
application { mainClass.set("io.sentry.samples.spring.jakarta.Main") }
diff --git a/sentry-samples/sentry-samples-spring/build.gradle.kts b/sentry-samples/sentry-samples-spring/build.gradle.kts
index b64fcab92a3..7666a81cfab 100644
--- a/sentry-samples/sentry-samples-spring/build.gradle.kts
+++ b/sentry-samples/sentry-samples-spring/build.gradle.kts
@@ -7,6 +7,8 @@ plugins {
alias(libs.plugins.kotlin.spring)
id("war")
alias(libs.plugins.gretty)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
// Spring scans this app's own bytecode with its repackaged ASM at startup, and the oldest version
diff --git a/sentry-servlet-jakarta/build.gradle.kts b/sentry-servlet-jakarta/build.gradle.kts
index 8bbc4228552..d14214377ec 100644
--- a/sentry-servlet-jakarta/build.gradle.kts
+++ b/sentry-servlet-jakarta/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-servlet/build.gradle.kts b/sentry-servlet/build.gradle.kts
index cd3a344f759..42549c1f09c 100644
--- a/sentry-servlet/build.gradle.kts
+++ b/sentry-servlet/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-spotlight/build.gradle.kts b/sentry-spotlight/build.gradle.kts
index f283b1e37b8..7625985839b 100644
--- a/sentry-spotlight/build.gradle.kts
+++ b/sentry-spotlight/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
id("io.sentry.animalsniffer.android")
alias(libs.plugins.buildconfig)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-spring-7/build.gradle.kts b/sentry-spring-7/build.gradle.kts
index 90b7614867b..3425b91a911 100644
--- a/sentry-spring-7/build.gradle.kts
+++ b/sentry-spring-7/build.gradle.kts
@@ -11,6 +11,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
alias(libs.plugins.springboot4) apply false
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-spring-boot-4-starter/build.gradle.kts b/sentry-spring-boot-4-starter/build.gradle.kts
index fca672dac9d..c3c5a4d7b0a 100644
--- a/sentry-spring-boot-4-starter/build.gradle.kts
+++ b/sentry-spring-boot-4-starter/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
alias(libs.plugins.springboot4) apply false
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-spring-boot-4/build.gradle.kts b/sentry-spring-boot-4/build.gradle.kts
index 5ec8e2a6aef..310c09d2a5a 100644
--- a/sentry-spring-boot-4/build.gradle.kts
+++ b/sentry-spring-boot-4/build.gradle.kts
@@ -13,6 +13,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
alias(libs.plugins.springboot4) apply false
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-spring-boot-jakarta/build.gradle.kts b/sentry-spring-boot-jakarta/build.gradle.kts
index c303f1f81ee..cfee8ecb5cf 100644
--- a/sentry-spring-boot-jakarta/build.gradle.kts
+++ b/sentry-spring-boot-jakarta/build.gradle.kts
@@ -12,6 +12,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
alias(libs.plugins.springboot3) apply false
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-spring-boot-starter-jakarta/build.gradle.kts b/sentry-spring-boot-starter-jakarta/build.gradle.kts
index 92cc97b240c..61291a611d4 100644
--- a/sentry-spring-boot-starter-jakarta/build.gradle.kts
+++ b/sentry-spring-boot-starter-jakarta/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
alias(libs.plugins.springboot3) apply false
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-spring-boot-starter/build.gradle.kts b/sentry-spring-boot-starter/build.gradle.kts
index 54ef6444d34..fd91ae97226 100644
--- a/sentry-spring-boot-starter/build.gradle.kts
+++ b/sentry-spring-boot-starter/build.gradle.kts
@@ -8,6 +8,9 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-spring-boot/build.gradle.kts b/sentry-spring-boot/build.gradle.kts
index 2cc37bec381..18c60978234 100644
--- a/sentry-spring-boot/build.gradle.kts
+++ b/sentry-spring-boot/build.gradle.kts
@@ -12,6 +12,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-spring-jakarta/build.gradle.kts b/sentry-spring-jakarta/build.gradle.kts
index ee9b057ec6e..324bd0c6502 100644
--- a/sentry-spring-jakarta/build.gradle.kts
+++ b/sentry-spring-jakarta/build.gradle.kts
@@ -11,6 +11,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
alias(libs.plugins.springboot3) apply false
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-spring/build.gradle.kts b/sentry-spring/build.gradle.kts
index 556e4ecc8d8..054b802fe88 100644
--- a/sentry-spring/build.gradle.kts
+++ b/sentry-spring/build.gradle.kts
@@ -11,6 +11,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}
diff --git a/sentry-test-support/build.gradle.kts b/sentry-test-support/build.gradle.kts
index 2539beccb5f..b332f035958 100644
--- a/sentry-test-support/build.gradle.kts
+++ b/sentry-test-support/build.gradle.kts
@@ -4,6 +4,8 @@ plugins {
alias(libs.plugins.kotlin.jvm)
alias(libs.plugins.errorprone)
alias(libs.plugins.gradle.versions)
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
}
tasks.withType().configureEach {
diff --git a/sentry/build.gradle.kts b/sentry/build.gradle.kts
index b1621c440dc..56c32f01fa2 100644
--- a/sentry/build.gradle.kts
+++ b/sentry/build.gradle.kts
@@ -9,6 +9,9 @@ plugins {
alias(libs.plugins.gradle.versions)
alias(libs.plugins.buildconfig)
id("io.sentry.animalsniffer.android")
+ id("io.sentry.spotless")
+ id("io.sentry.jdk-target")
+ id("io.sentry.publish")
id("io.sentry.api-validation")
}