Skip to content

Commit fec4ff3

Browse files
authored
Gradle config cache: agent-for-testing:jar (#15390)
1 parent 89d1662 commit fec4ff3

File tree

1 file changed

+25
-9
lines changed

1 file changed

+25
-9
lines changed

testing/agent-for-testing/build.gradle.kts

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,37 @@ dependencies {
2424
testImplementation("io.opentelemetry:opentelemetry-api")
2525
}
2626

27+
abstract class ExtractJar : Copy() {
28+
@get:InputFiles
29+
abstract val jarFile: ConfigurableFileCollection
30+
31+
@get:Inject
32+
abstract val archiveOperations: ArchiveOperations
33+
34+
init {
35+
from(jarFile.elements.map { files -> files.map { archiveOperations.zipTree(it) } })
36+
}
37+
}
38+
2739
tasks {
40+
val extractAgent by registering(ExtractJar::class) {
41+
jarFile.from(agent)
42+
into(layout.buildDirectory.dir("extracted-agent"))
43+
}
44+
2845
jar {
29-
dependsOn(agent)
30-
from(zipTree(agent.singleFile))
46+
from(extractAgent.map { it.outputs.files })
3147
from(extensionLibs) {
3248
into("extensions")
3349
}
3450

35-
manifest.from(
36-
providers.provider {
37-
zipTree(agent.singleFile).matching {
38-
include("META-INF/MANIFEST.MF")
39-
}.singleFile
40-
}
41-
)
51+
val manifestFileProvider = extractAgent.flatMap { task ->
52+
layout.buildDirectory.file("extracted-agent/META-INF/MANIFEST.MF")
53+
}
54+
55+
doFirst {
56+
manifest.from(manifestFileProvider.get().asFile)
57+
}
4258
}
4359

4460
afterEvaluate {

0 commit comments

Comments
 (0)