Skip to content

Commit 0afba30

Browse files
bric3claude
andcommitted
fix(smoke-tests): share debugger test helpers via java-test-fixtures
Gradle 9.5 added a `DependencyHandler.project(String)` overload that returns a `ProjectDependency`. Inside a `dependencies { }` block, that overload now shadows the `Project.project(String)` accessor that previously resolved via Groovy fallback. Result: `project(':foo').sourceSets` no longer reaches the producing project's source sets — it hits a `DefaultProjectDependency` and fails with "unknown property 'sourceSets'". `dd-smoke-tests/debugger-integration-tests/build.gradle:21` used `project(':dd-java-agent:agent-debugger').sourceSets.test.output` to pull two helper classes (`LogProbeTestHelper`, `MoshiSnapshotTestHelper`) from `agent-debugger`'s test sources. Apply the canonical Gradle 9.5 fix (see #11367): expose the helpers via the `java-test-fixtures` plugin on `agent-debugger`. The helpers move from `src/test/java/com/datadog/debugger/util/` to `src/testFixtures/java/com/datadog/debugger/util/` (same package), and the consumer pulls them in via `testImplementation testFixtures(project(':dd-java-agent:agent-debugger'))`. The 15 existing in-project consumers (test classes inside agent-debugger) keep working because the testFixtures source set is automatically on the `test` source set's classpath. This unblocks running the root build on Gradle 9.5.1. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 47da748 commit 0afba30

4 files changed

Lines changed: 11 additions & 2 deletions

File tree

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

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
33
plugins {
44
id 'com.gradleup.shadow'
55
id 'dd-trace-java.version-file'
6+
id 'java-test-fixtures'
67
}
78

89
apply from: "$rootDir/gradle/java.gradle"
@@ -47,6 +48,14 @@ dependencies {
4748
implementation libs.okhttp
4849
implementation libs.slf4j
4950

51+
// Dependencies needed to compile the test-fixture helpers (LogProbeTestHelper,
52+
// MoshiSnapshotTestHelper); they reference siblings + Moshi + internal-api.
53+
testFixturesImplementation project(':dd-java-agent:agent-debugger:debugger-bootstrap')
54+
testFixturesImplementation project(':dd-java-agent:agent-debugger:debugger-el')
55+
testFixturesImplementation project(':internal-api')
56+
testFixturesImplementation libs.moshi
57+
testFixturesImplementation libs.junit.jupiter
58+
5059
testImplementation libs.asm.util
5160
testImplementation libs.bundles.junit5
5261
testImplementation libs.junit.jupiter.params

dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/util/LogProbeTestHelper.java renamed to dd-java-agent/agent-debugger/src/testFixtures/java/com/datadog/debugger/util/LogProbeTestHelper.java

File renamed without changes.

dd-java-agent/agent-debugger/src/test/java/com/datadog/debugger/util/MoshiSnapshotTestHelper.java renamed to dd-java-agent/agent-debugger/src/testFixtures/java/com/datadog/debugger/util/MoshiSnapshotTestHelper.java

File renamed without changes.

dd-smoke-tests/debugger-integration-tests/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ dependencies {
1717
testImplementation project(':dd-java-agent:agent-debugger')
1818
testImplementation project(':dd-java-agent:agent-debugger:debugger-el')
1919
testImplementation project(':dd-java-agent:agent-debugger:debugger-bootstrap')
20-
// dependency on some helper classes made only for tests
21-
testImplementation project(':dd-java-agent:agent-debugger').sourceSets.test.output
20+
// helper classes shared via java-test-fixtures (LogProbeTestHelper, MoshiSnapshotTestHelper)
21+
testImplementation testFixtures(project(':dd-java-agent:agent-debugger'))
2222
testImplementation libs.bundles.junit5
2323
testImplementation libs.bundles.mockito
2424
}

0 commit comments

Comments
 (0)