Skip to content

Commit 9d0688a

Browse files
authored
Additional gradle lazy api changes (#9726)
* chore: Additional lazy API changes * chore: Removes unnecessary .configure calls * chore: Lazy access to shadowJar
1 parent 30e2ee8 commit 9d0688a

File tree

64 files changed

+506
-153
lines changed

Some content is hidden

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

64 files changed

+506
-153
lines changed

dd-java-agent/agent-bootstrap/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ plugins {
99
apply from: "$rootDir/gradle/java.gradle"
1010
apply plugin: "idea"
1111

12-
tasks.named("compileJava", JavaCompile).configure {
12+
tasks.named("compileJava", JavaCompile) {
1313
configureCompiler(it, 8, JavaVersion.VERSION_1_8, "Need access to sun.* packages")
1414
}
1515

dd-java-agent/build.gradle

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ def generalShadowJarConfig(ShadowJar shadowJarTask) {
116116

117117
def includeShadowJar(TaskProvider<ShadowJar> includedShadowJarTask, String destinationDir) {
118118
def opentracingFound = new AtomicBoolean()
119-
project.processResources {
119+
project.tasks.named("processResources", ProcessResources) {
120120
doFirst {
121121
eachFile {
122122
// We seem unlikely to use this name somewhere else.
@@ -147,9 +147,7 @@ def includeShadowJar(TaskProvider<ShadowJar> includedShadowJarTask, String desti
147147
}
148148
}
149149
}
150-
}
151150

152-
project.tasks.named("processResources") {
153151
dependsOn includedShadowJarTask
154152
}
155153

dd-java-agent/ddprof-lib/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ apply from: "$rootDir/gradle/java.gradle"
99
dependencies {
1010
// This module provides the ddprof library as an api dependency
1111
// so that other modules can easily depend on it.
12-
implementation project.hasProperty('ddprof.jar') ? files(project.getProperty('ddprof.jar')) : libs.ddprof
12+
implementation project.hasProperty('ddprof.jar') ? files(project.findProperty('ddprof.jar')) : libs.ddprof
1313
api project(':internal-api')
1414
api project(':dd-trace-api')
1515
}

dd-java-agent/instrumentation/build.gradle

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,12 @@ dependencies {
9797

9898
if (project.gradle.startParameter.taskNames.any { it.endsWith("generateMuzzleReport") }) {
9999
apply plugin: 'muzzle'
100-
task("muzzleInstrumentationReport") {
101-
dependsOn(project.getAllTasks(true).values().flatten().findAll { it.name.endsWith("generateMuzzleReport") })
100+
tasks.register('muzzleInstrumentationReport') {
101+
dependsOn(subprojects.collect { p -> p.tasks.matching { it.name == "generateMuzzleReport" } })
102102
finalizedBy(tasks.named('mergeMuzzleReports'))
103103
}
104104
}
105105

106-
107106
tasks.named('shadowJar', ShadowJar) {
108107
duplicatesStrategy = DuplicatesStrategy.FAIL
109108
dependencies {

dd-java-agent/instrumentation/grizzly/grizzly-client-1.9/build.gradle

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,15 @@ apply from: "$rootDir/gradle/java.gradle"
2323
addTestSuiteForDir('latestDepTest', 'test')
2424
addTestSuiteForDir('muleLatestDepTest', 'test')
2525

26+
configurations.named("muleLatestDepTestRuntimeClasspath") {
27+
exclude(group: 'org.glassfish.grizzly')
28+
}
29+
2630
dependencies {
2731
compileOnly group: 'org.glassfish.grizzly', name: 'grizzly-http-client', version: '1.9'
2832
// for some reason, the tests don't *load* until 1.12, but muzzles works as far back as 1.9
2933
testImplementation group: 'org.glassfish.grizzly', name: 'grizzly-http-client', version: '1.12'
3034

3135
latestDepTestImplementation group: 'org.glassfish.grizzly', name: 'grizzly-http-client', version: '+'
3236
muleLatestDepTestImplementation group: 'org.mule.glassfish.grizzly', name: 'grizzly-http-client', version: '+'
33-
configurations.getByName("muleLatestDepTestRuntimeClasspath").exclude(group: 'org.glassfish.grizzly')
3437
}

dd-java-agent/instrumentation/grizzly/grizzly-http-2.3.20/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,6 @@ dependencies {
3434
latestDepTestImplementation group: 'org.glassfish.jersey.inject', name: 'jersey-hk2', version: '2.+'
3535
}
3636

37-
tasks.withType(Test) {
37+
tasks.withType(Test).configureEach {
3838
jvmArgs += ['-Ddd.integration.grizzly-filterchain.enabled=true']
3939
}

dd-java-agent/instrumentation/jersey/build.gradle

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ tasks.named("compileJersey3JettyTestGroovy", GroovyCompile) {
2323
configureCompiler(it, 11)
2424
}
2525

26-
compileTestJava.configure {
26+
tasks.named("compileTestJava") {
2727
configureCompiler(it, 11, JavaVersion.VERSION_11)
2828
}
2929

@@ -77,12 +77,15 @@ dependencies {
7777
jersey3JettyTestRuntimeOnly project(':dd-java-agent:instrumentation:jakarta-rs-annotations-3')
7878
}
7979

80-
configurations.getByName('jersey3JettyTestRuntimeClasspath').resolutionStrategy {
81-
force libs.slf4j
80+
configurations.named('jersey3JettyTestRuntimeClasspath') {
81+
resolutionStrategy {
82+
force libs.slf4j
83+
}
8284
}
83-
configurations.getByName('jersey2JettyTestRuntimeClasspath').resolutionStrategy {
84-
// override version in testImplementation
85-
force "org.glassfish.jersey.core:jersey-common:${jersey2Version}"
86-
force "org.eclipse.jetty:jetty-server:9.1.1.v20140108"
87-
85+
configurations.named('jersey2JettyTestRuntimeClasspath') {
86+
resolutionStrategy {
87+
// override version in testImplementation
88+
force "org.glassfish.jersey.core:jersey-common:${jersey2Version}"
89+
force "org.eclipse.jetty:jetty-server:9.1.1.v20140108"
90+
}
8891
}

dd-java-agent/instrumentation/servlet/jakarta-servlet-5.0/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ configurations {
3030
javaxClassesToRelocate
3131
}
3232

33-
task relocatedJavaxJar(type: ShadowJar) {
33+
tasks.register('relocatedJavaxJar', ShadowJar) {
3434
relocate 'javax.servlet', 'jakarta.servlet'
3535
relocate 'datadog.trace.instrumentation.servlet3', 'datadog.trace.instrumentation.servlet5'
3636
relocate 'datadog.trace.instrumentation.servlet', 'datadog.trace.instrumentation.servlet5'

dd-smoke-tests/apm-tracing-disabled/build.gradle

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import org.springframework.boot.gradle.tasks.bundling.BootJar
2+
13
plugins {
24
id 'java'
35
id 'org.springframework.boot' version '2.7.15'
@@ -23,6 +25,12 @@ dependencies {
2325
}
2426

2527
tasks.withType(Test).configureEach {
26-
dependsOn "bootJar"
27-
jvmArgs "-Ddatadog.smoketest.springboot.shadowJar.path=${tasks.bootJar.archiveFile.get()}"
28+
def bootJarTask = tasks.named('bootJar', BootJar)
29+
dependsOn bootJarTask
30+
jvmArgumentProviders.add(new CommandLineArgumentProvider() {
31+
@Override
32+
Iterable<String> asArguments() {
33+
return bootJarTask.map { ["-Ddatadog.smoketest.springboot.shadowJar.path=${it.archiveFile.get()}"] }.get()
34+
}
35+
})
2836
}

dd-smoke-tests/appsec/spring-tomcat7/build.gradle

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
2+
13
plugins {
24
id 'com.gradleup.shadow'
35
}
@@ -21,14 +23,26 @@ dependencies {
2123
}
2224

2325
tasks.withType(Test).configureEach {
24-
dependsOn "shadowJar"
25-
26-
jvmArgs "-Ddatadog.smoketest.appsec.springtomcat7.shadowJar.path=${tasks.shadowJar.archiveFile.get()}"
26+
def shadowJarTask = tasks.named('shadowJar', ShadowJar)
27+
dependsOn shadowJarTask
28+
29+
jvmArgumentProviders.add(new CommandLineArgumentProvider() {
30+
@Override
31+
Iterable<String> asArguments() {
32+
return shadowJarTask.map { ["-Ddatadog.smoketest.appsec.springtomcat7.shadowJar.path=${it.archiveFile.get()}"] }.get()
33+
}
34+
})
2735
}
2836

29-
task testRuntimeActivation(type: Test) {
30-
jvmArgs '-Dsmoke_test.appsec.enabled=inactive',
31-
"-Ddatadog.smoketest.appsec.springtomcat7.shadowJar.path=${tasks.shadowJar.archiveFile.get()}"
37+
tasks.register('testRuntimeActivation', Test) {
38+
def shadowJarTask = tasks.named('shadowJar', ShadowJar)
39+
jvmArgs '-Dsmoke_test.appsec.enabled=inactive'
40+
jvmArgumentProviders.add(new CommandLineArgumentProvider() {
41+
@Override
42+
Iterable<String> asArguments() {
43+
return shadowJarTask.map { ["-Ddatadog.smoketest.appsec.springtomcat7.shadowJar.path=${it.archiveFile.get()}"] }.get()
44+
}
45+
})
3246
}
3347

3448
tasks.named('check') {

0 commit comments

Comments
 (0)