Skip to content

Commit 8696c89

Browse files
authored
Use lazy task configuration (#4399)
* Use lazy task configuration This reduces the amount of tasks configured. See this confusing Gradle doc for tasks to avoid and task to not avoid: https://docs.gradle.org/current/userguide/task_configuration_avoidance.html#sec:old_vs_new_configuration_api_overview Before: 516 [Build Scan](https://scans.gradle.com/s/4d5hf6ctgubgk/performance/configuration#summary-tasks-created-during-configuration) After: 158, [Build Scan](https://scans.gradle.com/s/ipywvc3qif5y2/performance/configuration#summary-tasks-created-during-configuration)
1 parent 93c1e3f commit 8696c89

File tree

33 files changed

+44
-64
lines changed

33 files changed

+44
-64
lines changed

build.gradle.kts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ allprojects {
8282
version = properties[Config.Sentry.versionNameProp].toString()
8383
description = Config.Sentry.description
8484
tasks {
85-
withType<Test> {
85+
withType<Test>().configureEach {
8686
testLogging.showStandardStreams = true
8787
testLogging.exceptionFormat = TestExceptionFormat.FULL
8888
testLogging.events = setOf(
@@ -97,7 +97,7 @@ allprojects {
9797
maxHeapSize = "2g"
9898
dependsOn("cleanTest")
9999
}
100-
withType<JavaCompile> {
100+
withType<JavaCompile>().configureEach {
101101
options.compilerArgs.addAll(arrayOf("-Xlint:all", "-Werror", "-Xlint:-classfile", "-Xlint:-processing", "-Xlint:-try"))
102102
}
103103
}
@@ -119,7 +119,7 @@ subprojects {
119119
toolVersion = "0.8.10"
120120
}
121121

122-
tasks.withType<Test> {
122+
tasks.withType<Test>().configureEach {
123123
configure<JacocoTaskExtension> {
124124
isIncludeNoLocationClasses = true
125125
excludes = listOf("jdk.internal.*")
@@ -165,9 +165,9 @@ subprojects {
165165
// craft only uses zip archives
166166
this.forEach { dist ->
167167
if (dist.name == DistributionPlugin.MAIN_DISTRIBUTION_NAME) {
168-
tasks.getByName("distTar").enabled = false
168+
tasks.named("distTar").configure { enabled = false }
169169
} else {
170-
tasks.getByName(dist.name + "DistTar").enabled = false
170+
tasks.named(dist.name + "DistTar").configure { enabled = false }
171171
}
172172
}
173173
}

sentry-android-fragment/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ dependencies {
7474
testImplementation(Config.TestLibs.mockitoInline)
7575
}
7676

77-
tasks.withType<Detekt> {
77+
tasks.withType<Detekt>().configureEach {
7878
// Target version of the generated JVM bytecode. It is used for type resolution.
7979
jvmTarget = JavaVersion.VERSION_1_8.toString()
8080
}

sentry-android-integration-tests/sentry-uitest-android-benchmark/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ tasks.withType<JavaCompile>().configureEach {
117117
}
118118
}
119119

120-
tasks.withType<Detekt> {
120+
tasks.withType<Detekt>().configureEach {
121121
// Target version of the generated JVM bytecode. It is used for type resolution.
122122
jvmTarget = JavaVersion.VERSION_1_8.toString()
123123
}

sentry-android-integration-tests/sentry-uitest-android-critical/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ dependencies {
5757
implementation(projects.sentryAndroidCore)
5858
}
5959

60-
tasks.withType<Detekt> {
60+
tasks.withType<Detekt>().configureEach {
6161
// Target version of the generated JVM bytecode. It is used for type resolution.
6262
jvmTarget = JavaVersion.VERSION_1_8.toString()
6363
}

sentry-android-integration-tests/sentry-uitest-android/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ tasks.withType<JavaCompile>().configureEach {
136136
}
137137
}
138138

139-
tasks.withType<Detekt> {
139+
tasks.withType<Detekt>().configureEach {
140140
// Target version of the generated JVM bytecode. It is used for type resolution.
141141
jvmTarget = JavaVersion.VERSION_1_8.toString()
142142
}

sentry-android-navigation/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ dependencies {
8282
testImplementation(Config.TestLibs.androidxCoreKtx)
8383
}
8484

85-
tasks.withType<Detekt> {
85+
tasks.withType<Detekt>().configureEach {
8686
// Target version of the generated JVM bytecode. It is used for type resolution.
8787
jvmTarget = JavaVersion.VERSION_1_8.toString()
8888
}

sentry-android-replay/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ dependencies {
101101
testImplementation(Config.Libs.composeMaterial)
102102
}
103103

104-
tasks.withType<Detekt> {
104+
tasks.withType<Detekt>().configureEach {
105105
// Target version of the generated JVM bytecode. It is used for type resolution.
106106
jvmTarget = JavaVersion.VERSION_1_8.toString()
107107
}

sentry-android-sqlite/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ dependencies {
7979
testImplementation(Config.TestLibs.mockitoInline)
8080
}
8181

82-
tasks.withType<Detekt> {
82+
tasks.withType<Detekt>().configureEach {
8383
// Target version of the generated JVM bytecode. It is used for type resolution.
8484
jvmTarget = JavaVersion.VERSION_1_8.toString()
8585
}

sentry-android-timber/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ dependencies {
8282
testImplementation(Config.TestLibs.mockitoInline)
8383
}
8484

85-
tasks.withType<Detekt> {
85+
tasks.withType<Detekt>().configureEach {
8686
// Target version of the generated JVM bytecode. It is used for type resolution.
8787
jvmTarget = JavaVersion.VERSION_1_8.toString()
8888
}

sentry-compose/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ android {
118118
}
119119
}
120120

121-
tasks.withType<Detekt> {
121+
tasks.withType<Detekt>().configureEach {
122122
// Target version of the generated JVM bytecode. It is used for type resolution.
123123
jvmTarget = JavaVersion.VERSION_1_8.toString()
124124
}

sentry-jul/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,8 @@ buildConfig {
7373
buildConfigField("String", "VERSION_NAME", "\"${project.version}\"")
7474
}
7575

76-
val generateBuildConfig by tasks
7776
tasks.withType<JavaCompile>().configureEach {
78-
dependsOn(generateBuildConfig)
77+
dependsOn(tasks.generateBuildConfig)
7978
options.errorprone {
8079
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
8180
option("NullAway:AnnotatedPackages", "io.sentry")

sentry-kotlin-extensions/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ tasks {
6262
}
6363
}
6464

65-
tasks.withType<Detekt> {
65+
tasks.withType<Detekt>().configureEach {
6666
// Target version of the generated JVM bytecode. It is used for type resolution.
6767
jvmTarget = JavaVersion.VERSION_1_8.toString()
6868
}

sentry-log4j2/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,8 @@ buildConfig {
7171
buildConfigField("String", "VERSION_NAME", "\"${project.version}\"")
7272
}
7373

74-
val generateBuildConfig by tasks
7574
tasks.withType<JavaCompile>().configureEach {
76-
dependsOn(generateBuildConfig)
75+
dependsOn(tasks.generateBuildConfig)
7776
options.errorprone {
7877
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
7978
option("NullAway:AnnotatedPackages", "io.sentry")

sentry-logback/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,8 @@ buildConfig {
6868
buildConfigField("String", "VERSION_NAME", "\"${project.version}\"")
6969
}
7070

71-
val generateBuildConfig by tasks
7271
tasks.withType<JavaCompile>().configureEach {
73-
dependsOn(generateBuildConfig)
72+
dependsOn(tasks.generateBuildConfig)
7473
options.errorprone {
7574
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
7675
option("NullAway:AnnotatedPackages", "io.sentry")

sentry-okhttp/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,8 @@ buildConfig {
7777
buildConfigField("String", "VERSION_NAME", "\"${project.version}\"")
7878
}
7979

80-
val generateBuildConfig by tasks
8180
tasks.withType<JavaCompile>().configureEach {
82-
dependsOn(generateBuildConfig)
81+
dependsOn(tasks.generateBuildConfig)
8382
options.errorprone {
8483
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
8584
option("NullAway:AnnotatedPackages", "io.sentry")

sentry-reactor/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,8 @@ buildConfig {
8080
buildConfigField("String", "VERSION_NAME", "\"${project.version}\"")
8181
}
8282

83-
val generateBuildConfig by tasks
8483
tasks.withType<JavaCompile>().configureEach {
85-
dependsOn(generateBuildConfig)
84+
dependsOn(tasks.generateBuildConfig)
8685
options.errorprone {
8786
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
8887
option("NullAway:AnnotatedPackages", "io.sentry")

sentry-samples/sentry-samples-netflix-dgs/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,11 @@ dependencies {
3232
}
3333
}
3434

35-
tasks.withType<Test> {
35+
tasks.withType<Test>().configureEach {
3636
useJUnitPlatform()
3737
}
3838

39-
tasks.withType<KotlinCompile> {
39+
tasks.withType<KotlinCompile>().configureEach {
4040
kotlinOptions {
4141
freeCompilerArgs = listOf("-Xjsr305=strict")
4242
jvmTarget = JavaVersion.VERSION_1_8.toString()

sentry-samples/sentry-samples-servlet/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ dependencies {
1616
implementation("javax.servlet:javax.servlet-api:4.0.1")
1717
}
1818

19-
tasks.withType<Test> {
19+
tasks.withType<Test>().configureEach {
2020
useJUnitPlatform()
2121
}

sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry-noagent/build.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,6 @@ configure<JavaPluginExtension> {
2424

2525
tasks.withType<KotlinCompile>().configureEach {
2626
kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString()
27-
}
28-
29-
tasks.withType<KotlinCompile> {
3027
kotlinOptions {
3128
freeCompilerArgs = listOf("-Xjsr305=strict")
3229
jvmTarget = JavaVersion.VERSION_17.toString()

sentry-samples/sentry-samples-spring-boot-jakarta-opentelemetry/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ tasks.withType<KotlinCompile>().configureEach {
2727
kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString()
2828
}
2929

30-
tasks.withType<KotlinCompile> {
30+
tasks.withType<KotlinCompile>().configureEach {
3131
kotlinOptions {
3232
freeCompilerArgs = listOf("-Xjsr305=strict")
3333
jvmTarget = JavaVersion.VERSION_17.toString()

sentry-samples/sentry-samples-spring-boot-jakarta/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ tasks.withType<KotlinCompile>().configureEach {
2626
kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString()
2727
}
2828

29-
tasks.withType<KotlinCompile> {
29+
tasks.withType<KotlinCompile>().configureEach {
3030
kotlinOptions {
3131
freeCompilerArgs = listOf("-Xjsr305=strict")
3232
jvmTarget = JavaVersion.VERSION_17.toString()

sentry-samples/sentry-samples-spring-boot-opentelemetry-noagent/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ tasks.withType<KotlinCompile>().configureEach {
2626
kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString()
2727
}
2828

29-
tasks.withType<KotlinCompile> {
29+
tasks.withType<KotlinCompile>().configureEach {
3030
kotlinOptions {
3131
freeCompilerArgs = listOf("-Xjsr305=strict")
3232
jvmTarget = JavaVersion.VERSION_17.toString()

sentry-samples/sentry-samples-spring-boot-opentelemetry/build.gradle.kts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ configure<JavaPluginExtension> {
2525

2626
tasks.withType<KotlinCompile>().configureEach {
2727
kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString()
28-
}
29-
30-
tasks.withType<KotlinCompile> {
3128
kotlinOptions {
3229
freeCompilerArgs = listOf("-Xjsr305=strict")
3330
jvmTarget = JavaVersion.VERSION_17.toString()

sentry-samples/sentry-samples-spring-boot-webflux-jakarta/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ configure<SourceSetContainer> {
4747
}
4848
}
4949

50-
tasks.withType<KotlinCompile> {
50+
tasks.withType<KotlinCompile>().configureEach {
5151
kotlinOptions {
5252
freeCompilerArgs = listOf("-Xjsr305=strict")
5353
jvmTarget = JavaVersion.VERSION_17.toString()

sentry-samples/sentry-samples-spring-boot-webflux/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ configure<SourceSetContainer> {
4646
}
4747
}
4848

49-
tasks.withType<KotlinCompile> {
49+
tasks.withType<KotlinCompile>().configureEach {
5050
kotlinOptions {
5151
freeCompilerArgs = listOf("-Xjsr305=strict")
5252
jvmTarget = JavaVersion.VERSION_17.toString()

sentry-samples/sentry-samples-spring-boot/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ tasks.withType<KotlinCompile>().configureEach {
2626
kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString()
2727
}
2828

29-
tasks.withType<KotlinCompile> {
29+
tasks.withType<KotlinCompile>().configureEach {
3030
kotlinOptions {
3131
freeCompilerArgs = listOf("-Xjsr305=strict")
3232
jvmTarget = JavaVersion.VERSION_17.toString()

sentry-samples/sentry-samples-spring-jakarta/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,11 @@ dependencies {
4646
}
4747
}
4848

49-
tasks.withType<Test> {
49+
tasks.withType<Test>().configureEach {
5050
useJUnitPlatform()
5151
}
5252

53-
tasks.withType<KotlinCompile> {
53+
tasks.withType<KotlinCompile>().configureEach {
5454
kotlinOptions {
5555
freeCompilerArgs = listOf("-Xjsr305=strict")
5656
jvmTarget = JavaVersion.VERSION_17.toString()

sentry-samples/sentry-samples-spring/build.gradle.kts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ dependencies {
4242
}
4343
}
4444

45-
tasks.withType<Test> {
45+
tasks.withType<Test>().configureEach {
4646
useJUnitPlatform()
4747
}
4848

49-
tasks.withType<KotlinCompile> {
49+
tasks.withType<KotlinCompile>().configureEach {
5050
kotlinOptions {
5151
freeCompilerArgs = listOf("-Xjsr305=strict")
5252
jvmTarget = JavaVersion.VERSION_1_8.toString()

sentry-spring-boot-jakarta/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,9 +125,8 @@ buildConfig {
125125
buildConfigField("String", "VERSION_NAME", "\"${project.version}\"")
126126
}
127127

128-
val generateBuildConfig by tasks
129128
tasks.withType<JavaCompile>().configureEach {
130-
dependsOn(generateBuildConfig)
129+
dependsOn(tasks.generateBuildConfig)
131130
options.errorprone {
132131
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
133132
option("NullAway:AnnotatedPackages", "io.sentry")

sentry-spring-boot/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,8 @@ buildConfig {
108108
buildConfigField("String", "VERSION_NAME", "\"${project.version}\"")
109109
}
110110

111-
val generateBuildConfig by tasks
112111
tasks.withType<JavaCompile>().configureEach {
113-
dependsOn(generateBuildConfig)
112+
dependsOn(tasks.generateBuildConfig)
114113
options.errorprone {
115114
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
116115
option("NullAway:AnnotatedPackages", "io.sentry")

sentry-spring-jakarta/build.gradle.kts

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,11 @@ configure<JavaPluginExtension> {
1919
}
2020

2121
tasks.withType<KotlinCompile>().configureEach {
22-
kotlinOptions.jvmTarget = JavaVersion.VERSION_17.toString()
23-
kotlinOptions.languageVersion = Config.kotlinCompatibleLanguageVersion
22+
kotlinOptions {
23+
jvmTarget = JavaVersion.VERSION_17.toString()
24+
languageVersion = Config.kotlinCompatibleLanguageVersion
25+
freeCompilerArgs = listOf("-Xjsr305=strict")
26+
}
2427
}
2528

2629
dependencies {
@@ -70,13 +73,6 @@ dependencies {
7073
testImplementation(projects.sentryReactor)
7174
}
7275

73-
tasks.withType<KotlinCompile> {
74-
kotlinOptions {
75-
freeCompilerArgs = listOf("-Xjsr305=strict")
76-
jvmTarget = JavaVersion.VERSION_17.toString()
77-
}
78-
}
79-
8076
configure<SourceSetContainer> {
8177
test {
8278
java.srcDir("src/test/java")
@@ -113,9 +109,8 @@ buildConfig {
113109
buildConfigField("String", "VERSION_NAME", "\"${project.version}\"")
114110
}
115111

116-
val generateBuildConfig by tasks
117112
tasks.withType<JavaCompile>().configureEach {
118-
dependsOn(generateBuildConfig)
113+
dependsOn(tasks.generateBuildConfig)
119114
options.errorprone {
120115
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
121116
option("NullAway:AnnotatedPackages", "io.sentry")

sentry-spring/build.gradle.kts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,8 @@ buildConfig {
9696
buildConfigField("String", "VERSION_NAME", "\"${project.version}\"")
9797
}
9898

99-
val generateBuildConfig by tasks
10099
tasks.withType<JavaCompile>().configureEach {
101-
dependsOn(generateBuildConfig)
100+
dependsOn(tasks.generateBuildConfig)
102101
options.errorprone {
103102
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
104103
option("NullAway:AnnotatedPackages", "io.sentry")

sentry/build.gradle.kts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,8 @@ buildConfig {
7373
buildConfigField("String", "VERSION_NAME", "\"${project.version}\"")
7474
}
7575

76-
val generateBuildConfig by tasks
77-
tasks.withType<JavaCompile>() {
78-
dependsOn(generateBuildConfig)
76+
tasks.withType<JavaCompile>().configureEach {
77+
dependsOn(tasks.generateBuildConfig)
7978
options.errorprone {
8079
check("NullAway", net.ltgt.gradle.errorprone.CheckSeverity.ERROR)
8180
option("NullAway:AnnotatedPackages", "io.sentry")

0 commit comments

Comments
 (0)