Skip to content

Commit 68cf71c

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 f291c13 commit 68cf71c

File tree

645 files changed

+16786
-12372
lines changed

Some content is hidden

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

645 files changed

+16786
-12372
lines changed

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`
@@ -105,6 +104,8 @@ allprojects {
105104
}
106105

107106
subprojects {
107+
apply { plugin("io.sentry.spotless") }
108+
108109
val jacocoAndroidModules = listOf(
109110
"sentry-android-core",
110111
"sentry-android-fragment",
@@ -225,26 +226,6 @@ subprojects {
225226
}
226227
}
227228

228-
spotless {
229-
lineEndings = LineEnding.UNIX
230-
java {
231-
target("**/*.java")
232-
removeUnusedImports()
233-
googleJavaFormat()
234-
targetExclude("**/generated/**", "**/vendor/**", "**/sentry-native/**")
235-
}
236-
kotlin {
237-
target("**/*.kt")
238-
ktlint()
239-
targetExclude("**/sentry-native/**", "**/build/**")
240-
}
241-
kotlinGradle {
242-
target("**/*.kts")
243-
ktlint()
244-
targetExclude("**/sentry-native/**")
245-
}
246-
}
247-
248229
tasks.register("buildForCodeQL") {
249230
subprojects
250231
.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)