Skip to content

Commit 4279bca

Browse files
committed
More accurate, faster spotless config
This PR ensures that spotless is actually running over all our files. It wasn't before and you can see this generated a massive diff. There are still a number of exceptions that were suppressed in order to save time going through the hundreds of them. In other news, this moves the spotless logic to its own convention plugin and runs over each source set of each project separately. This means that most of the tasks should be cached independently.
1 parent 078e7fc commit 4279bca

645 files changed

Lines changed: 16785 additions & 12372 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build-logic/build.gradle.kts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
11
plugins {
2-
`kotlin-dsl`
2+
`kotlin-dsl`
33
}
44

55
repositories {
6-
gradlePluginPortal()
6+
gradlePluginPortal()
7+
}
8+
9+
dependencies {
10+
implementation(libs.spotlessLib)
711
}

build-logic/settings.gradle.kts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,9 @@
1+
dependencyResolutionManagement {
2+
versionCatalogs {
3+
create("libs") {
4+
from(files("../gradle/libs.versions.toml"))
5+
}
6+
}
7+
}
8+
19
rootProject.name = "build-logic"
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import com.diffplug.spotless.LineEnding
2+
3+
plugins {
4+
id("com.diffplug.spotless")
5+
}
6+
7+
spotless {
8+
lineEndings = LineEnding.UNIX
9+
java {
10+
target("**/*.java")
11+
removeUnusedImports()
12+
googleJavaFormat()
13+
targetExclude("src/**/java/io/sentry/vendor/**")
14+
}
15+
kotlin {
16+
target("**/*.kt")
17+
ktlint()
18+
targetExclude("src/test/java/io/sentry/apollo4/generated/**", "src/test/java/io/sentry/apollo3/adapter/**")
19+
suppressLintsFor {
20+
step = "ktlint"
21+
shortCode = "standard:max-line-length"
22+
}
23+
suppressLintsFor {
24+
step = "ktlint"
25+
shortCode = "standard:property-naming"
26+
}
27+
suppressLintsFor {
28+
step = "ktlint"
29+
shortCode = "standard:function-naming"
30+
}
31+
}
32+
kotlinGradle {
33+
target("**/*.kts")
34+
ktlint()
35+
}
36+
}
37+

build.gradle.kts

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import com.diffplug.spotless.LineEnding
21
import com.vanniktech.maven.publish.JavaLibrary
32
import com.vanniktech.maven.publish.JavadocJar
43
import com.vanniktech.maven.publish.MavenPublishBaseExtension
@@ -10,7 +9,7 @@ import org.gradle.api.tasks.testing.logging.TestLogEvent
109

1110
plugins {
1211
`java-library`
13-
alias(libs.plugins.spotless)
12+
alias(libs.plugins.spotless) apply false
1413
jacoco
1514
alias(libs.plugins.detekt)
1615
`maven-publish`
@@ -107,6 +106,8 @@ allprojects {
107106
}
108107

109108
subprojects {
109+
apply { plugin("io.sentry.spotless") }
110+
110111
val jacocoAndroidModules = listOf(
111112
"sentry-android-core",
112113
"sentry-android-fragment",
@@ -227,26 +228,6 @@ subprojects {
227228
}
228229
}
229230

230-
spotless {
231-
lineEndings = LineEnding.UNIX
232-
java {
233-
target("**/*.java")
234-
removeUnusedImports()
235-
googleJavaFormat()
236-
targetExclude("**/generated/**", "**/vendor/**", "**/sentry-native/**")
237-
}
238-
kotlin {
239-
target("**/*.kt")
240-
ktlint()
241-
targetExclude("**/sentry-native/**", "**/build/**")
242-
}
243-
kotlinGradle {
244-
target("**/*.kts")
245-
ktlint()
246-
targetExclude("**/sentry-native/**")
247-
}
248-
}
249-
250231
tasks.register("buildForCodeQL") {
251232
subprojects
252233
.filter {

gradle/libs.versions.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ springboot3 = "3.5.0"
3232
targetSdk = "34"
3333
compileSdk = "34"
3434
minSdk = "21"
35+
spotless = "7.0.4"
3536

3637
[plugins]
3738
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
@@ -43,7 +44,7 @@ binary-compatibility-validator = { id = "org.jetbrains.kotlinx.binary-compatibil
4344
compose-compiler = { id = "org.jetbrains.compose", version.ref = "jetbrainsCompose" }
4445
errorprone = { id = "net.ltgt.errorprone", version = "3.0.1" }
4546
gradle-versions = { id = "com.github.ben-manes.versions", version = "0.42.0" }
46-
spotless = { id = "com.diffplug.spotless", version = "6.11.0" }
47+
spotless = { id = "com.diffplug.spotless", version.ref = "spotless" }
4748
detekt = { id = "io.gitlab.arturbosch.detekt", version = "1.23.8" }
4849
jacoco-android = { id = "com.mxalbert.gradle.jacoco-android", version = "0.2.0" }
4950
kover = { id = "org.jetbrains.kotlinx.kover", version = "0.7.3" }
@@ -121,6 +122,7 @@ servlet-jakarta-api = { module = "jakarta.servlet:jakarta.servlet-api", version
121122
slf4j-api = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" }
122123
slf4j-jdk14 = { module = "org.slf4j:slf4j-jdk14", version.ref = "slf4j" }
123124
slf4j2-api = { module = "org.slf4j:slf4j-api", version = "2.0.5" }
125+
spotlessLib = { module = "com.diffplug.spotless:com.diffplug.spotless.gradle.plugin", version.ref = "spotless"}
124126
springboot-starter = { module = "org.springframework.boot:spring-boot-starter", version.ref = "springboot2" }
125127
springboot-starter-graphql = { module = "org.springframework.boot:spring-boot-starter-graphql", version.ref = "springboot2" }
126128
springboot-starter-quartz = { module = "org.springframework.boot:spring-boot-starter-quartz", version.ref = "springboot2" }

sentry-android-core/build.gradle.kts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,17 @@ plugins {
1111
}
1212

1313
android {
14-
compileSdk = libs.versions.compileSdk.get().toInt()
14+
compileSdk =
15+
libs.versions.compileSdk
16+
.get()
17+
.toInt()
1518
namespace = "io.sentry.android.core"
1619

1720
defaultConfig {
18-
minSdk = libs.versions.minSdk.get().toInt()
21+
minSdk =
22+
libs.versions.minSdk
23+
.get()
24+
.toInt()
1925

2026
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2127

sentry-android-core/src/main/java/io/sentry/android/core/ANRWatchDog.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ final class ANRWatchDog extends Thread {
4747
private final ANRListener anrListener;
4848
private final MainLooperHandler uiHandler;
4949
private final ICurrentDateProvider timeProvider;
50+
5051
/** the interval in which we check if there's an ANR, in ms */
5152
private long pollingIntervalMs;
5253

sentry-android-core/src/main/java/io/sentry/android/core/AnrV2EventProcessor.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,7 @@ private void setOptionsTags(final @NotNull SentryBaseEvent event) {
516516
}
517517
}
518518
}
519+
519520
// endregion
520521

521522
@Override

sentry-android-core/src/main/java/io/sentry/android/core/BuildInfoProvider.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public final class BuildInfoProvider {
1717
public BuildInfoProvider(final @NotNull ILogger logger) {
1818
this.logger = Objects.requireNonNull(logger, "The ILogger object is required.");
1919
}
20+
2021
/**
2122
* Returns the Build.VERSION.SDK_INT
2223
*

sentry-android-core/src/main/java/io/sentry/android/core/SentryAndroidOptions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ public final class SentryAndroidOptions extends SentryOptions {
160160
@NotNull
161161
private NdkHandlerStrategy ndkHandlerStrategy =
162162
NdkHandlerStrategy.SENTRY_HANDLER_STRATEGY_DEFAULT;
163+
163164
/**
164165
* Enable the Java to NDK Scope sync. The default value for sentry-java is disabled and enabled
165166
* for sentry-android.

0 commit comments

Comments
 (0)