@@ -18,9 +18,8 @@ configurations {
1818}
1919
2020def includedAgentDir = project. layout. buildDirectory. dir(" generated/included" )
21- def includedJarFileTree = fileTree(includedAgentDir) {
22- builtBy(project. tasks. withType(Copy ). matching { it. name. startsWith(" expandAgentShadowJar" ) })
23- }
21+ def includedJarFileTree = fileTree(includedAgentDir)
22+
2423tasks. named(" processResources" ) {
2524 dependsOn(includedJarFileTree)
2625}
@@ -121,28 +120,28 @@ def generalShadowJarConfig(ShadowJar shadowJarTask) {
121120 }
122121}
123122
124- def includeShadowJar (TaskProvider<ShadowJar > includedShadowJarTask , String agentDir , Provider< Directory > includedAgentDir ) {
125- project. tasks. register(" expandAgentShadowJar${ agentDir.capitalize()} " , Sync ) {
126- group = LifecycleBasePlugin . BUILD_GROUP
127- description = " Expand the included shadow jar into the agent jar under ${ agentDir} "
123+ def includeShadowJar (TaskProvider<ShadowJar > includedShadowJarTask , String agentDir , FileTree includedJarFileTree ) {
124+ def expandTask = project. tasks. register(" expandAgentShadowJar${ agentDir.capitalize()} " , Sync ) {
125+ it . group = LifecycleBasePlugin . BUILD_GROUP
126+ it . description = " Expand the included shadow jar into the agent jar under ${ agentDir} "
128127
129128 def opentracingFound = new AtomicBoolean ()
130- doFirst(" detect-open-tracing" ) {
129+ it . doFirst(" detect-open-tracing" ) {
131130 eachFile {
132131 // We seem unlikely to use this name somewhere else.
133132 if (it. path. contains(" opentracing" ) && it. name. contains(" Format\$ Builtin" )) {
134133 opentracingFound. set(true )
135134 }
136135 }
137136 }
138- doLast(" fail-on-detected-opentracing" ) {
137+ it . doLast(" fail-on-detected-opentracing" ) {
139138 if (opentracingFound. get()) {
140139 throw new GradleException (" OpenTracing direct dependency found!" )
141140 }
142141 }
143142
144- into includedAgentDir . map { it . dir( agentDir) }
145- from(zipTree(includedShadowJarTask. map { it. archiveFile })) {
143+ it . into providers . provider { new File (includedJarFileTree . dir, agentDir) }
144+ it . from(zipTree(includedShadowJarTask. map { it. archiveFile })) {
146145 rename ' (^.*)\\ .class$' , ' $1.classdata'
147146 // Rename LICENSE file since it clashes with license dir on non-case sensitive FSs (i.e. Mac)
148147 rename ' ^LICENSE$' , ' LICENSE.renamed'
@@ -158,30 +157,32 @@ def includeShadowJar(TaskProvider<ShadowJar> includedShadowJarTask, String agent
158157 }
159158 }
160159
161- dependsOn includedShadowJarTask
160+ it . dependsOn includedShadowJarTask
162161 }
163162
163+ includedJarFileTree. builtBy(expandTask)
164+
164165 includedShadowJarTask. configure {
165166 generalShadowJarConfig(it as ShadowJar )
166167 }
167168}
168169
169- def includeSubprojShadowJar (Project includedProjectJar , String destinationDir , Provider< Directory > includedAgentDir ) {
170+ def includeSubprojShadowJar (Project includedProjectJar , String destinationDir , FileTree includedJarFileTree ) {
170171 evaluationDependsOn(includedProjectJar. path)
171- includeShadowJar(includedProjectJar. tasks. named(" shadowJar" , ShadowJar ), destinationDir, includedAgentDir )
172+ includeShadowJar(includedProjectJar. tasks. named(" shadowJar" , ShadowJar ), destinationDir, includedJarFileTree )
172173}
173174
174- includeSubprojShadowJar(project(' :dd-java-agent:instrumentation' ), ' inst' , includedAgentDir )
175- includeSubprojShadowJar(project(' :dd-java-agent:agent-jmxfetch' ), ' metrics' , includedAgentDir )
176- includeSubprojShadowJar(project(' :dd-java-agent:agent-profiling' ), ' profiling' , includedAgentDir )
177- includeSubprojShadowJar(project(' :dd-java-agent:appsec' ), ' appsec' , includedAgentDir )
178- includeSubprojShadowJar(project(' :dd-java-agent:agent-aiguard' ), ' aiguard' , includedAgentDir )
179- includeSubprojShadowJar(project(' :dd-java-agent:agent-iast' ), ' iast' , includedAgentDir )
180- includeSubprojShadowJar(project(' :dd-java-agent:agent-debugger' ), ' debugger' , includedAgentDir )
181- includeSubprojShadowJar(project(' :dd-java-agent:agent-ci-visibility' ), ' ci-visibility' , includedAgentDir )
182- includeSubprojShadowJar(project(' :dd-java-agent:agent-llmobs' ), ' llm-obs' , includedAgentDir )
183- includeSubprojShadowJar(project(' :dd-java-agent:agent-logs-intake' ), ' logs-intake' , includedAgentDir )
184- includeSubprojShadowJar(project(' :dd-java-agent:cws-tls' ), ' cws-tls' , includedAgentDir )
175+ includeSubprojShadowJar(project(' :dd-java-agent:instrumentation' ), ' inst' , includedJarFileTree )
176+ includeSubprojShadowJar(project(' :dd-java-agent:agent-jmxfetch' ), ' metrics' , includedJarFileTree )
177+ includeSubprojShadowJar(project(' :dd-java-agent:agent-profiling' ), ' profiling' , includedJarFileTree )
178+ includeSubprojShadowJar(project(' :dd-java-agent:appsec' ), ' appsec' , includedJarFileTree )
179+ includeSubprojShadowJar(project(' :dd-java-agent:agent-aiguard' ), ' aiguard' , includedJarFileTree )
180+ includeSubprojShadowJar(project(' :dd-java-agent:agent-iast' ), ' iast' , includedJarFileTree )
181+ includeSubprojShadowJar(project(' :dd-java-agent:agent-debugger' ), ' debugger' , includedJarFileTree )
182+ includeSubprojShadowJar(project(' :dd-java-agent:agent-ci-visibility' ), ' ci-visibility' , includedJarFileTree )
183+ includeSubprojShadowJar(project(' :dd-java-agent:agent-llmobs' ), ' llm-obs' , includedJarFileTree )
184+ includeSubprojShadowJar(project(' :dd-java-agent:agent-logs-intake' ), ' logs-intake' , includedJarFileTree )
185+ includeSubprojShadowJar(project(' :dd-java-agent:cws-tls' ), ' cws-tls' , includedJarFileTree )
185186
186187def sharedShadowJar = tasks. register(' sharedShadowJar' , ShadowJar ) {
187188 it. configurations = [project. configurations. sharedShadowInclude]
@@ -202,7 +203,7 @@ def sharedShadowJar = tasks.register('sharedShadowJar', ShadowJar) {
202203 exclude(dependency(' org.slf4j::' ))
203204 }
204205}
205- includeShadowJar(sharedShadowJar, ' shared' , includedAgentDir )
206+ includeShadowJar(sharedShadowJar, ' shared' , includedJarFileTree )
206207
207208// place the tracer in its own shadow jar separate to instrumentation
208209def traceShadowJar = tasks. register(' traceShadowJar' , ShadowJar ) {
@@ -211,7 +212,7 @@ def traceShadowJar = tasks.register('traceShadowJar', ShadowJar) {
211212 it. archiveClassifier = ' trace'
212213 it. dependencies deps. excludeShared
213214}
214- includeShadowJar(traceShadowJar, ' trace' , includedAgentDir )
215+ includeShadowJar(traceShadowJar, ' trace' , includedJarFileTree )
215216
216217tasks. named(" shadowJar" , ShadowJar ) {
217218 // Include AgentPreCheck compiled with Java 6.
0 commit comments