From 63a02abe8fbc841433a9e547ddeaa15659c241c1 Mon Sep 17 00:00:00 2001 From: Alexey Kuznetsov Date: Thu, 2 Jul 2026 12:27:05 -0400 Subject: [PATCH] Rework DumpHangedTestPlugin to configure only its own project Co-Authored-By: Claude Opus 4.8 (1M context) --- build.gradle.kts | 2 ++ .../plugin/dump/DumpHangedTestPlugin.kt | 21 ++++++------------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 22fca7f31a3..3889798c6f9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -66,6 +66,8 @@ val compileTask = tasks.register("compile") allprojects { group = "com.datadoghq" + apply(plugin = "dd-trace-java.dump-hanged-test") + normalization { runtimeClasspath { // Let's ignore only version files generated by dd-trace-java.version-file diff --git a/buildSrc/src/main/kotlin/datadog/gradle/plugin/dump/DumpHangedTestPlugin.kt b/buildSrc/src/main/kotlin/datadog/gradle/plugin/dump/DumpHangedTestPlugin.kt index 19db11b8dd8..a6fdbc196f3 100644 --- a/buildSrc/src/main/kotlin/datadog/gradle/plugin/dump/DumpHangedTestPlugin.kt +++ b/buildSrc/src/main/kotlin/datadog/gradle/plugin/dump/DumpHangedTestPlugin.kt @@ -52,26 +52,17 @@ class DumpHangedTestPlugin : Plugin { } override fun apply(project: Project) { - if (project.rootProject != project) { - return - } - val scheduler = project.gradle.sharedServices .registerIfAbsent("dumpHangedTestScheduler", DumpSchedulerService::class.java) - // Create plugin properties. - val props = project.extensions.create("dumpHangedTest", DumpHangedTestProperties::class.java) + val rootProject = project.rootProject + val props = rootProject.extensions.findByType(DumpHangedTestProperties::class.java) + ?: rootProject.extensions.create("dumpHangedTest", DumpHangedTestProperties::class.java) - fun configure(p: Project) { - p.tasks.withType().configureEach { - doFirst { schedule(this, scheduler, props) } - doLast { cleanup(this) } - } + project.tasks.withType().configureEach { + doFirst { schedule(this, scheduler, props) } + doLast { cleanup(this) } } - - configure(project) - - project.subprojects(::configure) } private fun schedule(t: Task, scheduler: Provider, props: DumpHangedTestProperties) {