Skip to content

Commit d930307

Browse files
committed
chore: Remove instrumentation afterEvaluate
1 parent f8562e4 commit d930307

File tree

1 file changed

+39
-38
lines changed

1 file changed

+39
-38
lines changed

dd-java-agent/instrumentation/build.gradle

Lines changed: 39 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -10,48 +10,51 @@ tasks.register("latestDepTest", Test)
1010

1111
Project parent_project = project
1212
subprojects { Project subProj ->
13-
apply plugin: 'instrument'
14-
apply plugin: 'muzzle'
13+
subProj.pluginManager.withPlugin("instrument") {
14+
subProj.extensions.configure(InstrumentExtension) {
15+
it.plugins.addAll(
16+
'datadog.trace.agent.tooling.muzzle.MuzzleGradlePlugin',
17+
'datadog.trace.agent.tooling.bytebuddy.NewTaskForGradlePlugin',
18+
'datadog.trace.agent.tooling.bytebuddy.reqctx.RewriteRequestContextAdvicePlugin',
19+
)
20+
}
1521

16-
configurations {
17-
instrumentPluginClasspath {
18-
visible = false
19-
canBeConsumed = false
20-
canBeResolved = true
22+
subProj.configurations.register("instrumentPluginClasspath") {
23+
it.visible = false
24+
it.canBeConsumed = false
25+
it.canBeResolved = true
26+
27+
it.dependencies.add(subProj.dependencies.project(path: ':dd-java-agent:agent-tooling', configuration: 'instrumentPluginClasspath'))
2128
}
2229
}
2330

24-
instrument.plugins = [
25-
'datadog.trace.agent.tooling.muzzle.MuzzleGradlePlugin',
26-
'datadog.trace.agent.tooling.bytebuddy.NewTaskForGradlePlugin',
27-
'datadog.trace.agent.tooling.bytebuddy.reqctx.RewriteRequestContextAdvicePlugin',
28-
]
31+
subProj.pluginManager.withPlugin("java") {
32+
subProj.pluginManager.withPlugin("muzzle") {
33+
subProj.configurations.matching { it.name == "muzzleBootstrap" }.configureEach {
34+
exclude group: 'org.snakeyaml', module: 'snakeyaml-engine' // we vendor this in the agent jar
35+
}
36+
}
2937

30-
subProj.tasks.withType(Javadoc).configureEach { enabled = false }
38+
subProj.tasks.withType(Javadoc).configureEach { enabled = false }
3139

32-
subProj.afterEvaluate {
33-
if (!plugins.hasPlugin("java")) {
34-
return
35-
}
36-
String jdkCompile = null
37-
if (project.hasProperty('minJavaVersionForTests') && project.getProperty('minJavaVersionForTests') != JavaVersion.VERSION_1_8) {
38-
def version = JavaVersion.toVersion(project.getProperty('minJavaVersionForTests'))
39-
def name = "java$version.majorVersion"
40-
jdkCompile = "main_${name}Implementation"
41-
}
42-
configurations.named('muzzleBootstrap') {
43-
exclude group: 'org.snakeyaml', module: 'snakeyaml-engine' // we vendor this in the agent jar
40+
if (subProj.hasProperty('minJavaVersionForTests') && subProj.findProperty('minJavaVersionForTests') != JavaVersion.VERSION_1_8) {
41+
def version = JavaVersion.toVersion(subProj.findProperty('minJavaVersionForTests'))
42+
def mainJavaConfigName = "main_name${version.majorVersion}Implementation"
43+
44+
configurations
45+
.matching {it.name == mainJavaConfigName }
46+
.configureEach {
47+
it.dependencies.add(subProj.dependencies.project(path: ':dd-trace-api'))
48+
it.dependencies.add(subProj.dependencies.project(path: ':dd-java-agent:agent-tooling'))
49+
it.dependencies.addLater(libs.bytebuddy)
50+
}
4451
}
52+
4553
dependencies {
4654
// Apply common dependencies for instrumentation.
4755
implementation project(':dd-trace-api')
4856
implementation project(':dd-java-agent:agent-tooling')
4957
implementation libs.bytebuddy
50-
if (jdkCompile) {
51-
"$jdkCompile" project(':dd-trace-api')
52-
"$jdkCompile" project(':dd-java-agent:agent-tooling')
53-
"$jdkCompile" libs.bytebuddy
54-
}
5558

5659
annotationProcessor project(':dd-java-agent:instrumentation-annotation-processor')
5760
annotationProcessor libs.autoservice.processor
@@ -66,26 +69,24 @@ subprojects { Project subProj ->
6669
testImplementation project(':dd-java-agent:instrumentation-testing')
6770
testAnnotationProcessor libs.autoservice.processor
6871
testCompileOnly libs.autoservice.annotation
69-
70-
instrumentPluginClasspath project(path: ':dd-java-agent:agent-tooling', configuration: 'instrumentPluginClasspath')
7172
}
7273

7374
subProj.tasks.withType(Test).configureEach { subTask ->
7475
if (subTask.name in ['latestDepTest', 'latestDepForkedTest']) {
7576
subTask.jvmArgs '-Dtest.dd.latestDepTest=true'
7677
}
7778
}
78-
}
7979

80-
def path = subProj.getPath()
81-
subProj.plugins.withId("java") {
82-
if (!path.equals(':dd-java-agent:instrumentation:vertx:vertx-redis-client-3.9:stubs')) {
83-
// don't include the redis RequestImpl stub
80+
if (subProj.path != ':dd-java-agent:instrumentation:vertx:vertx-redis-client-3.9:stubs') {
81+
// don't include the redis RequestImpl stubs
8482
parent_project.dependencies {
85-
implementation project(path)
83+
addProvider("implementation", providers.provider { project(subProj.path) })
8684
}
8785
}
8886
}
87+
88+
subProj.apply plugin: 'instrument'
89+
subProj.apply plugin: 'muzzle'
8990
}
9091

9192
dependencies {

0 commit comments

Comments
 (0)